{"id":8539,"date":"2015-12-07T20:04:31","date_gmt":"2015-12-07T17:04:31","guid":{"rendered":"http:\/\/blog.altoros.com\/?p=8539"},"modified":"2021-03-12T04:41:46","modified_gmt":"2021-03-12T01:41:46","slug":"how-to-set-up-a-cloud-foundry-infrastructure-for-net-apps-in-minutes","status":"publish","type":"post","link":"https:\/\/www.altoros.com\/blog\/how-to-set-up-a-cloud-foundry-infrastructure-for-net-apps-in-minutes\/","title":{"rendered":"How to Set Up a Cloud Foundry Infrastructure for .NET Apps in Minutes"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-transparent ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.altoros.com\/blog\/how-to-set-up-a-cloud-foundry-infrastructure-for-net-apps-in-minutes\/#How_it_works\" >How it works<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.altoros.com\/blog\/how-to-set-up-a-cloud-foundry-infrastructure-for-net-apps-in-minutes\/#Prerequisites\" >Prerequisites<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.altoros.com\/blog\/how-to-set-up-a-cloud-foundry-infrastructure-for-net-apps-in-minutes\/#Step_1_Install_Cloud_Foundry_and_Diego\" >Step #1: Install Cloud Foundry and Diego<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.altoros.com\/blog\/how-to-set-up-a-cloud-foundry-infrastructure-for-net-apps-in-minutes\/#Step_2_Create_Windows_cells\" >Step #2: Create Windows cells<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.altoros.com\/blog\/how-to-set-up-a-cloud-foundry-infrastructure-for-net-apps-in-minutes\/#Step_3_Inform_Cloud_Controller\" >Step #3: Inform Cloud Controller<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.altoros.com\/blog\/how-to-set-up-a-cloud-foundry-infrastructure-for-net-apps-in-minutes\/#Step_4_Enjoy_the_possibilities\" >Step #4: Enjoy the possibilities<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.altoros.com\/blog\/how-to-set-up-a-cloud-foundry-infrastructure-for-net-apps-in-minutes\/#Step_5_Clean_things_up\" >Step #5: Clean things up<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.altoros.com\/blog\/how-to-set-up-a-cloud-foundry-infrastructure-for-net-apps-in-minutes\/#Further_reading\" >Further reading<\/a><\/li><\/ul><\/nav><\/div>\n<h3><span class=\"ez-toc-section\" id=\"How_it_works\"><\/span>How it works<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>So, what is the mechanism that provides Cloud Foundry support for .NET apps? Of course, we are talking about the Garden-Windows back-end for Diego and software for bringing Diego to Windows machines and adding them to a CF cluster. Until recently, the work on these components was in progress, but a month ago it became <a href=\"https:\/\/www.markkropf.com\/blog\/2015\/11\/10\/general-availability-of-dotnet-for-windows-on-cloud-foundry\" target=\"_blank\" rel=\"noopener noreferrer\">generally available<\/a>. (For details, refer to the docs in the <a href=\"https:\/\/github.com\/cloudfoundry-incubator\/diego-windows-release\/tree\/master\/docs\" target=\"_blank\" rel=\"noopener noreferrer\">diego-windows-release<\/a> repository.)<\/p>\n<p>In this post, I\u2019ll show you that all you need to set up such an infrastructure is an AWS account and maybe some tea to drink while things are getting installed. We\u2019ll focus on achieving a working deployment in as few steps as possible\u2014even before your tea goes cold.<\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Prerequisites\"><\/span>Prerequisites<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>First, we need to have the following tools installed on our local machine:<\/p>\n<ul>\n<li><a href=\"https:\/\/aws.amazon.com\/cli\/\" target=\"_blank\" rel=\"noopener noreferrer\">aws-cli<\/a><\/li>\n<li><a href=\"https:\/\/git-scm.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">git<\/a><\/li>\n<li><a href=\"https:\/\/direnv.net\/\" target=\"_blank\" rel=\"noopener noreferrer\">direnv<\/a> (optional)<\/li>\n<\/ul>\n<p>I also presume that you have a kettle and some tea in your apartment. \ud83d\ude09<\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Step_1_Install_Cloud_Foundry_and_Diego\"><\/span>Step #1: Install Cloud Foundry and Diego<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Before we can set up some Windows cells, we need to have a regular CF\/Diego deployment. For this purpose, we will use a <a href=\"https:\/\/github.com\/Altoros\/cf-minimal-deployment-aws-script\" target=\"_blank\" rel=\"noopener noreferrer\">repository<\/a> created by Altoros with \u2018convention over configuration\u2019 in mind. It contains CloudFormation scripts that will do all the hard work of installing CF on the Amazon cloud for us. Here is how to use it on the Linux\/UNIX command line:<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">git clone https:\/\/github.com\/Altoros\/cf-minimal-deployment-aws-script\r\ncd cf-minimal-deployment-aws-script\r\ncp .envrc-template .envrc\r\n# edit .envrc to provide some essential information (mainly credentials)\r\ndirenv allow .  # or `source .envrc` if you do not want to use direnv\r\n.\/scripts\/stack.sh create<\/pre>\n<p>That\u2019s it. Now you can open your Amazon CloudFormation console and see your new stacks being created. And if you\u2019ve made yourself a nice cup of flavory tea, now is the perfect time to go for it.<\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Step_2_Create_Windows_cells\"><\/span>Step #2: Create Windows cells<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>This is where CloudFormation comes in handy again. The <em>*diego-windows-release*<\/em> repo contains a template that can be used to set up the required number of Windows cells.<\/p>\n<p>At this point, we need to reveal some details about how our deployment has been configured. The main one is\u2014Cloud Foundry virtual machines talk to the outer world through a NAT VM. This VM has a security group attached that only allows inbound traffic from the internal CF subnet where all the platform components reside.<\/p>\n<p>Since <em>diego-windows-release<\/em> scripts create a separate subnet for Windows machines, we need to extend the security rules, so that they allow traffic originating from this new network, as well. The CIDR range of the Windows subnet is 10.0.100.0\/24 and this is what the new rule of the NAT VM security group should look like:<\/p>\n<style type=\"text\/css\"><!--\n.myTable { background-color:white;border-collapse:collapse; } .myTable th { background-color:#E0E0E0;color:black;width:20%; } .myTable td, .myTable th { padding:5px;border:1px solid #989898; }\n--><\/style>\n<p><center><\/p>\n<table class=\"myTable\" width=\"90%\" >\n<tbody>\n<tr>\n<th><center><small>Type<\/center><\/small><\/th>\n<th><center><b><small>Protocol<\/small><\/b><\/center><\/th>\n<th><center><b><small>Port range<\/small><\/b><\/center><\/th>\n<th><center><b><small>Source<\/small><\/b><\/center><\/th>\n<\/tr>\n<tr>\n<td><center><small>All traffic<\/center><\/small><center><\/center><\/td>\n<td><center><small>All<\/center><\/small><center><\/center><\/td>\n<td><center><small>All<\/center><\/small><center><\/center><\/td>\n<td><center><small>10.0.100.0\/24<\/center><\/small><center><\/center><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><\/center><\/p>\n<p>Now the infrastructure we have built is ready to accept a new member from the Windows envelope. Let\u2019s try it out.<\/p>\n<p>Here is a <a href=\"https:\/\/github.com\/cloudfoundry-incubator\/diego-windows-release\/releases\/download\/v0.180\/cloudformation.json\" target=\"_blank\" rel=\"noopener noreferrer\">template<\/a> to use. The link corresponds to version v0.180, the latest at the time this post was written and also tested with CF v221. Download the template and upload it to Amazon S3 via the CloudFormation UI after you have pressed the &#8220;Create Stack&#8221; button.<\/p>\n<p>Before creating a stack, CloudFormation asks you for a number of parameters. Point it to the NAT VM and VPC created during step one. The BOSH user is <em>admin<\/em>. The BOSH password is the secret that you have specified in the <em>.envrc<\/em> file. The BOSH host can be seen on the Output tab of the <em>*-jumpbBox<\/em> stack. Follow the hints provided by the template to fill out the rest of the fields.<\/p>\n<p>Run it and wait until the status turns green. You can return back to your tea for now.<\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Step_3_Inform_Cloud_Controller\"><\/span>Step #3: Inform Cloud Controller<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>The last thing we need to do before we can use our new Windows cluster is tell Cloud Controller about the windows2012R2 stack, which is now supported by the platform:<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">cf curl \/v2\/stacks -X POST -d \u2018{&quot;name&quot;:&quot;windows2012R2&quot;,&quot;description&quot;:&quot;Any description&quot;}\u2019<\/pre>\n<p>For details on how to add new stacks to the Cloud Foundry, see <a href=\"https:\/\/apidocs.cloudfoundry.org\/224\/stacks\/create_a_stack.html\" target=\"_blank\" rel=\"noopener noreferrer\">this page<\/a> in the Cloud Controller API docs.<\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Step_4_Enjoy_the_possibilities\"><\/span>Step #4: Enjoy the possibilities<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Congratulations! Your platform is ready to host Windows applications. Although, it is worth verifying the installation with some <a href=\"https:\/\/github.com\/cloudfoundry\/cf-smoke-tests\" target=\"_blank\" rel=\"noopener noreferrer\">smoke tests<\/a> first. You know, just to be sure.<\/p>\n<p>The tests repository also contains a simple .NET application. Let\u2019s push it:<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">cf push my-first-dotnet-app -p assets\/dotnet_simple\/Published -s windows2012R2 -b staticfile_buildpack<\/pre>\n<p>Note that we have pushed a compiled piece of code, using <em>staticfile_buildpack<\/em>. At this time, there are no official buildpacks for pushing .NET source code to the Windows stack. However, having MS Visual Studio at hand gives us a possibility to build applications from source and then push them to the platform.<\/p>\n<p>Below, is a short demo of our cluster at work. In this video, you can also see how to install the CF extension for MS Visual Studio and push <a href=\"https:\/\/github.com\/jbayer\/windows-cf-demo\" target=\"_blank\" rel=\"noopener noreferrer\">an application<\/a> with it. The tool we use to view and navigate between platform entities is <a href=\"https:\/\/github.com\/cloudfoundry-incubator\/admin-ui\" target=\"_blank\" rel=\"noopener noreferrer\">Admin UI<\/a>.<\/p>\n<p><center><iframe loading=\"lazy\" width=\"640\" height=\"360\" src=\"https:\/\/www.youtube.com\/embed\/MJtrYi5zTXQ\" frameborder=\"0\" allowfullscreen><\/iframe><\/center><br \/>\n&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Step_5_Clean_things_up\"><\/span>Step #5: Clean things up<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>After you are done playing with your deployment, you will probably want to delete it and release the resources\u2014otherwise, Amazon will eventually consume all of your balance.<\/p>\n<p>First, delete the Windows stack by simply pressing the corresponding button in the CloudFormation UI.<\/p>\n<p>Then, ssh into your BOSH jumpbox (see the IP in the Output tab of the <em>*-jumpbox stack<\/em>) and execute:<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">.\/scripts\/destroy_all.sh<\/pre>\n<p>Afterwards, leave the jumpbox, enter the folder you launched the deployment from, and run:<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">.\/scripts\/cleanup.sh<\/pre>\n<p>Watch things being deleted in the CloudFormation UI. Using <em>cleanup.sh<\/em> is not mandatory\u2014feel free to remove the remaining resources manually via the AWS console, if you wish.<\/p>\n<p>Don\u2019t forget to clean your tea cup, as well. \ud83d\ude09<\/p>\n<p>Hope you have enjoyed this tutorial. If you have any questions, feel free to ask them in the comments.<\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Further_reading\"><\/span>Further reading<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li><a href=\"https:\/\/www.altoros.com\/blog\/net-on-pivotal-cloud-foundry-adding-a-ms-sql-service-to-an-app\/\">.NET on Pivotal CF: Adding a MS SQL Service to an App<\/a><\/li>\n<li><a href=\"https:\/\/www.altoros.com\/blog\/are-diego-and-docker-really-good-friends\/\">Are Diego and Docker Really Good Friends?<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>How it works<\/p>\n<p>So, what is the mechanism that provides Cloud Foundry support for .NET apps? Of course, we are talking about the Garden-Windows back-end for Diego and software for bringing Diego to Windows machines and adding them to a CF cluster. Until recently, the work on these components was in [&#8230;]<\/p>\n","protected":false},"author":75,"featured_media":19007,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"content-type":"","footnotes":"","_links_to":"","_links_to_target":""},"categories":[214],"tags":[873,206],"class_list":["post-8539","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutorials","tag-cloud-native","tag-oss-cloud-foundry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>How to Set Up a Cloud Foundry Infrastructure for .NET Apps in Minutes | Altoros<\/title>\n<meta name=\"description\" content=\"If you are planning to build a POC to find out how .NET apps work on Cloud Foundry, it can be done very quickly now.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.altoros.com\/blog\/how-to-set-up-a-cloud-foundry-infrastructure-for-net-apps-in-minutes\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Set Up a Cloud Foundry Infrastructure for .NET Apps in Minutes | Altoros\" \/>\n<meta property=\"og:description\" content=\"How it works So, what is the mechanism that provides Cloud Foundry support for .NET apps? Of course, we are talking about the Garden-Windows back-end for Diego and software for bringing Diego to Windows machines and adding them to a CF cluster. Until recently, the work on these components was in [...]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.altoros.com\/blog\/how-to-set-up-a-cloud-foundry-infrastructure-for-net-apps-in-minutes\/\" \/>\n<meta property=\"og:site_name\" content=\"Altoros\" \/>\n<meta property=\"article:published_time\" content=\"2015-12-07T17:04:31+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-03-12T01:41:46+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2015\/12\/Cloud-Foundry-Infrastructure-for-.NET-Apps.gif\" \/>\n\t<meta property=\"og:image:width\" content=\"640\" \/>\n\t<meta property=\"og:image:height\" content=\"360\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/gif\" \/>\n<meta name=\"author\" content=\"Lev Berman\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Lev Berman\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/how-to-set-up-a-cloud-foundry-infrastructure-for-net-apps-in-minutes\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/how-to-set-up-a-cloud-foundry-infrastructure-for-net-apps-in-minutes\\\/\"},\"author\":{\"name\":\"Lev Berman\",\"@id\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/#\\\/schema\\\/person\\\/297aed86d00f60f2bc94d8994f454a8c\"},\"headline\":\"How to Set Up a Cloud Foundry Infrastructure for .NET Apps in Minutes\",\"datePublished\":\"2015-12-07T17:04:31+00:00\",\"dateModified\":\"2021-03-12T01:41:46+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/how-to-set-up-a-cloud-foundry-infrastructure-for-net-apps-in-minutes\\\/\"},\"wordCount\":1043,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/how-to-set-up-a-cloud-foundry-infrastructure-for-net-apps-in-minutes\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/12\\\/Cloud-Foundry-Infrastructure-for-.NET-Apps.gif\",\"keywords\":[\"Cloud-Native\",\"OSS Cloud Foundry\"],\"articleSection\":[\"Tutorials\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.altoros.com\\\/blog\\\/how-to-set-up-a-cloud-foundry-infrastructure-for-net-apps-in-minutes\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/how-to-set-up-a-cloud-foundry-infrastructure-for-net-apps-in-minutes\\\/\",\"url\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/how-to-set-up-a-cloud-foundry-infrastructure-for-net-apps-in-minutes\\\/\",\"name\":\"How to Set Up a Cloud Foundry Infrastructure for .NET Apps in Minutes | Altoros\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/how-to-set-up-a-cloud-foundry-infrastructure-for-net-apps-in-minutes\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/how-to-set-up-a-cloud-foundry-infrastructure-for-net-apps-in-minutes\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/12\\\/Cloud-Foundry-Infrastructure-for-.NET-Apps.gif\",\"datePublished\":\"2015-12-07T17:04:31+00:00\",\"dateModified\":\"2021-03-12T01:41:46+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/#\\\/schema\\\/person\\\/297aed86d00f60f2bc94d8994f454a8c\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/how-to-set-up-a-cloud-foundry-infrastructure-for-net-apps-in-minutes\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.altoros.com\\\/blog\\\/how-to-set-up-a-cloud-foundry-infrastructure-for-net-apps-in-minutes\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/how-to-set-up-a-cloud-foundry-infrastructure-for-net-apps-in-minutes\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/12\\\/Cloud-Foundry-Infrastructure-for-.NET-Apps.gif\",\"contentUrl\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/12\\\/Cloud-Foundry-Infrastructure-for-.NET-Apps.gif\",\"width\":640,\"height\":360},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/how-to-set-up-a-cloud-foundry-infrastructure-for-net-apps-in-minutes\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to Set Up a Cloud Foundry Infrastructure for .NET Apps in Minutes\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/\",\"name\":\"Altoros\",\"description\":\"Insight\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/#\\\/schema\\\/person\\\/297aed86d00f60f2bc94d8994f454a8c\",\"name\":\"Lev Berman\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/wp-content\\\/uploads\\\/2016\\\/12\\\/Lev-Berman-150x150.png\",\"url\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/wp-content\\\/uploads\\\/2016\\\/12\\\/Lev-Berman-150x150.png\",\"contentUrl\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/wp-content\\\/uploads\\\/2016\\\/12\\\/Lev-Berman-150x150.png\",\"caption\":\"Lev Berman\"},\"description\":\"Lev Berman is a Go developer and Cloud Foundry engineer at Altoros. He has 3+ years of experience in software development, including building cloud-native applications. Working both as a developer and DevOps engineer, Lev currently focuses on BOSH, Cloud Foundry\\\/Diego, and containerization technologies, such as Docker. He also holds an MS degree from the Moscow Institute of Physics and Technology.\\u2028\\u2028\",\"url\":\"https:\\\/\\\/www.altoros.com\\\/blog\\\/author\\\/lev-berman\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to Set Up a Cloud Foundry Infrastructure for .NET Apps in Minutes | Altoros","description":"If you are planning to build a POC to find out how .NET apps work on Cloud Foundry, it can be done very quickly now.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.altoros.com\/blog\/how-to-set-up-a-cloud-foundry-infrastructure-for-net-apps-in-minutes\/","og_locale":"en_US","og_type":"article","og_title":"How to Set Up a Cloud Foundry Infrastructure for .NET Apps in Minutes | Altoros","og_description":"How it works So, what is the mechanism that provides Cloud Foundry support for .NET apps? Of course, we are talking about the Garden-Windows back-end for Diego and software for bringing Diego to Windows machines and adding them to a CF cluster. Until recently, the work on these components was in [...]","og_url":"https:\/\/www.altoros.com\/blog\/how-to-set-up-a-cloud-foundry-infrastructure-for-net-apps-in-minutes\/","og_site_name":"Altoros","article_published_time":"2015-12-07T17:04:31+00:00","article_modified_time":"2021-03-12T01:41:46+00:00","og_image":[{"width":640,"height":360,"url":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2015\/12\/Cloud-Foundry-Infrastructure-for-.NET-Apps.gif","type":"image\/gif"}],"author":"Lev Berman","twitter_misc":{"Written by":"Lev Berman","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.altoros.com\/blog\/how-to-set-up-a-cloud-foundry-infrastructure-for-net-apps-in-minutes\/#article","isPartOf":{"@id":"https:\/\/www.altoros.com\/blog\/how-to-set-up-a-cloud-foundry-infrastructure-for-net-apps-in-minutes\/"},"author":{"name":"Lev Berman","@id":"https:\/\/www.altoros.com\/blog\/#\/schema\/person\/297aed86d00f60f2bc94d8994f454a8c"},"headline":"How to Set Up a Cloud Foundry Infrastructure for .NET Apps in Minutes","datePublished":"2015-12-07T17:04:31+00:00","dateModified":"2021-03-12T01:41:46+00:00","mainEntityOfPage":{"@id":"https:\/\/www.altoros.com\/blog\/how-to-set-up-a-cloud-foundry-infrastructure-for-net-apps-in-minutes\/"},"wordCount":1043,"commentCount":0,"image":{"@id":"https:\/\/www.altoros.com\/blog\/how-to-set-up-a-cloud-foundry-infrastructure-for-net-apps-in-minutes\/#primaryimage"},"thumbnailUrl":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2015\/12\/Cloud-Foundry-Infrastructure-for-.NET-Apps.gif","keywords":["Cloud-Native","OSS Cloud Foundry"],"articleSection":["Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.altoros.com\/blog\/how-to-set-up-a-cloud-foundry-infrastructure-for-net-apps-in-minutes\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.altoros.com\/blog\/how-to-set-up-a-cloud-foundry-infrastructure-for-net-apps-in-minutes\/","url":"https:\/\/www.altoros.com\/blog\/how-to-set-up-a-cloud-foundry-infrastructure-for-net-apps-in-minutes\/","name":"How to Set Up a Cloud Foundry Infrastructure for .NET Apps in Minutes | Altoros","isPartOf":{"@id":"https:\/\/www.altoros.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.altoros.com\/blog\/how-to-set-up-a-cloud-foundry-infrastructure-for-net-apps-in-minutes\/#primaryimage"},"image":{"@id":"https:\/\/www.altoros.com\/blog\/how-to-set-up-a-cloud-foundry-infrastructure-for-net-apps-in-minutes\/#primaryimage"},"thumbnailUrl":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2015\/12\/Cloud-Foundry-Infrastructure-for-.NET-Apps.gif","datePublished":"2015-12-07T17:04:31+00:00","dateModified":"2021-03-12T01:41:46+00:00","author":{"@id":"https:\/\/www.altoros.com\/blog\/#\/schema\/person\/297aed86d00f60f2bc94d8994f454a8c"},"breadcrumb":{"@id":"https:\/\/www.altoros.com\/blog\/how-to-set-up-a-cloud-foundry-infrastructure-for-net-apps-in-minutes\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.altoros.com\/blog\/how-to-set-up-a-cloud-foundry-infrastructure-for-net-apps-in-minutes\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.altoros.com\/blog\/how-to-set-up-a-cloud-foundry-infrastructure-for-net-apps-in-minutes\/#primaryimage","url":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2015\/12\/Cloud-Foundry-Infrastructure-for-.NET-Apps.gif","contentUrl":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2015\/12\/Cloud-Foundry-Infrastructure-for-.NET-Apps.gif","width":640,"height":360},{"@type":"BreadcrumbList","@id":"https:\/\/www.altoros.com\/blog\/how-to-set-up-a-cloud-foundry-infrastructure-for-net-apps-in-minutes\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.altoros.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to Set Up a Cloud Foundry Infrastructure for .NET Apps in Minutes"}]},{"@type":"WebSite","@id":"https:\/\/www.altoros.com\/blog\/#website","url":"https:\/\/www.altoros.com\/blog\/","name":"Altoros","description":"Insight","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.altoros.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.altoros.com\/blog\/#\/schema\/person\/297aed86d00f60f2bc94d8994f454a8c","name":"Lev Berman","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2016\/12\/Lev-Berman-150x150.png","url":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2016\/12\/Lev-Berman-150x150.png","contentUrl":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2016\/12\/Lev-Berman-150x150.png","caption":"Lev Berman"},"description":"Lev Berman is a Go developer and Cloud Foundry engineer at Altoros. He has 3+ years of experience in software development, including building cloud-native applications. Working both as a developer and DevOps engineer, Lev currently focuses on BOSH, Cloud Foundry\/Diego, and containerization technologies, such as Docker. He also holds an MS degree from the Moscow Institute of Physics and Technology.\u2028\u2028","url":"https:\/\/www.altoros.com\/blog\/author\/lev-berman\/"}]}},"_links":{"self":[{"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/posts\/8539","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/users\/75"}],"replies":[{"embeddable":true,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/comments?post=8539"}],"version-history":[{"count":15,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/posts\/8539\/revisions"}],"predecessor-version":[{"id":60550,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/posts\/8539\/revisions\/60550"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/media\/19007"}],"wp:attachment":[{"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/media?parent=8539"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/categories?post=8539"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/tags?post=8539"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}