{"id":56561,"date":"2016-10-10T08:00:52","date_gmt":"2016-10-10T15:00:52","guid":{"rendered":"http:\/\/openness.microsoft.com\/?p=56561"},"modified":"2025-01-21T16:45:03","modified_gmt":"2025-01-22T00:45:03","slug":"running-mean-stack-microsoft-azure-part","status":"publish","type":"post","link":"https:\/\/opensource.microsoft.com\/blog\/2016\/10\/10\/running-mean-stack-microsoft-azure-part\/","title":{"rendered":"Running the MEAN stack on Microsoft Azure (Part I)"},"content":{"rendered":"\n<p>Many customers are choosing the MEAN (Mongo, Express, Angular, and Node) stack as an efficient and powerful approach to building web applications. In this two-part blog, I\u2019ll detail why and how to use Microsoft Azure to host a Linux-based MEAN stack, leveraging Azure\u2019s enterprise features like high availability, scalability and fault tolerance to run web applications at hyperscale.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"mean-101\">MEAN 101<\/h2>\n\n\n\n<p>Microsoft Azure is a great choice of platform for both the LAMP and MEAN stacks. Both LAMP (or LEMP, if you replace Apache with Nginx) and MEAN have their own strengths and certain situations demand one over the other.<\/p>\n\n\n<figure class=\"wp-block-image alignleft size-full is-resized\"><img decoding=\"async\" src=\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2016\/10\/MEAN.webp\" alt=\"diagram of M.E.A.N. stack\" class=\"wp-image-56581 webp-format\" style=\"width:260px\" srcset=\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2016\/10\/MEAN.webp 452w, https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2016\/10\/MEAN-254x300.webp 254w, https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2016\/10\/MEAN-212x250.webp 212w, https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2016\/10\/MEAN-296x350.webp 296w, https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2016\/10\/MEAN-400x473.webp 400w\" data-orig-src=\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2016\/10\/MEAN.png\" data-orig-srcset=\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2016\/10\/MEAN.png 452w, https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2016\/10\/MEAN-254x300.png 254w, https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2016\/10\/MEAN-212x250.png 212w, https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2016\/10\/MEAN-296x350.png 296w, https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2016\/10\/MEAN-400x473.png 400w\"><figcaption class=\"wp-element-caption\">Figure 1: The MEAN stack<\/figcaption><\/figure>\n\n\n\n<p>I won\u2019t spend much time discussing the pros and cons of MEAN and LAMP. LAMP has been a traditional favorite for website developers for good reasons. However, what attract many to MEAN are:<\/p>\n\n\n\n<p><strong>Isomorphism of the ubiquitous JavaScript<\/strong> \u2013 it is easy, and it makes clients and servers look and feel the same. This also means that more can be accomplished by JavaScript experts \u2013 both front and back ends can potentially leverage a single pool of developers.<\/p>\n\n\n\n<p><strong>Simplified server management<\/strong> \u2013 Apache and Nginx are extremely powerful, but Node.js trumps them with simplicity and quicker learning curve. Because Node is event-based and asynchronous, it can also scale seamlessly with the right architecture.<\/p>\n\n\n\n<p><strong>MEAN is modern<\/strong> \u2013 MongoDB is built for the cloud. Its NoSQL structure, as opposed to the relational nature of MySQL, brings in native support for big data. Also, the MEAN framework (see figure 1) understands JSON from end to end, making it easier for a modern application to &#8220;talk\u201d to other applications \u2013 especially in this mobile-first cloud-first world that we live in.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"node-express-and-angular-on-azure-the-iaas-approach\">Node, Express and Angular on Azure \u2013 the IaaS approach<\/h2>\n\n\n\n<p>In part one of this two-part blog, I will focus on the \u201cEAN\u201d in the MEAN stack. Microsoft has done a lot of work to make Azure a great place for Node and Node-enabled frameworks like Express. This Node experience extends well beyond Azure\u2019s <a href=\"https:\/\/azure.microsoft.com\/en-us\/services\/app-service\/web\/\">Platform as a Service (PaaS) offering<\/a>, which many of you may have heard about, to both Infrastructure as a Service (IaaS) and hybrid scenarios. We will focus on the IaaS experience today, and discuss what it takes to run the MEAN stack on Azure VMs that you are managing yourself.<\/p>\n\n\n\n<p>While PaaS solutions like <a href=\"https:\/\/azure.microsoft.com\/en-us\/services\/app-service\/web\/\">Web Apps<\/a> may make sense for certain scenarios, IaaS makes its very easy to \u201clift and shift\u201d existing code to the cloud with network, storage, compute and security constructs like Virtual Machines, data disks, virtual networks, firewalls, etc.<\/p>\n\n\n\n<p>Microsoft Azure fully supports <a href=\"https:\/\/azure.microsoft.com\/en-us\/documentation\/services\/virtual-machines\/\">Linux IaaS deployments<\/a>&nbsp;today \u2013 you can quickly <a href=\"https:\/\/azure.microsoft.com\/en-us\/overview\/choose-azure-opensource\/\">spin up a Linux VM with a free trial<\/a>. Not only can you stand up your entire Linux-based infrastructure on Azure, you can also automate deployment and installation by using a wide array of tools, ranging from fully <a href=\"https:\/\/azure.microsoft.com\/en-us\/blog\/announcing-azure-cli-2-preview\/\">POSIX compliant Azure CLI<\/a> to third party tools like <a href=\"https:\/\/www.terraform.io\/docs\/providers\/azurerm\/\">Terraform<\/a> or <a href=\"https:\/\/www.packer.io\/docs\/builders\/azure.html\">Packer<\/a>. Also, Azure <a href=\"http:\/\/open.microsoft.com\/2016\/08\/19\/powershell-is-open-sourced-and-available-on-linux\/\">PowerShell is now open source<\/a>and runs on Linux and Mac, adding another great option for automation.<\/p>\n\n\n\n<p>The IaaS approach on Azure can be incredibly powerful, especially given <a href=\"https:\/\/www.microsoft.com\/en-us\/cloud-platform\/hybrid-cloud\">Microsoft\u2019s support for hybrid scenarios<\/a>, where customers have the choice and flexibility to move certain workloads to the cloud, while keeping others in their datacenters. Microsoft\u2019s hybrid support spans both IaaS and PaaS, allowing customers to seamlessly connect their on-premises applications to managed services in the cloud.<\/p>\n\n\n\n<p>Customers like <a href=\"https:\/\/customers.microsoft.com\/en-US\/story\/online-prescription-service-delivers-critical-pharmace\">mPharma<\/a> (IaaS, automated prescription services) and <a href=\"https:\/\/customers.microsoft.com\/en-US\/story\/canadian-open-source-developer-builds-thriving-busines\">zilyo<\/a> (IaaS, vacation booking in Canada), and <a href=\"https:\/\/customers.microsoft.com\/en-US\/story\/microsoft-azure-chosen-to-support-the-growth-of-kpmg-in-france\">KPMG<\/a> (PaaS, accounting services) have deployed MEAN on Azure with great results. Click on the full case studies to learn more.<\/p>\n\n\n\n<p>Here is a summary of why customers are choosing Azure for their MEAN stacks (as well as resources to learn more and get started):<\/p>\n\n\n\n<p><strong>Enterprise website features:<\/strong> Microsoft Azure provides the perfect platform for running MEAN workloads because it is designed to host websites, web applications and mobile applications. Enterprise-grade features like scalability, high availability, fault tolerance, traffic management and routing, security and firewall appliances \u2013 all coupled with the massive global presence across continents \u2013 help website owners reach more consumers, replicate their data in real time, and spread their reach across wider regions with lower latency and improved user experience.<\/p>\n\n\n\n<p><strong>Easy for developers:<\/strong> The Microsoft Azure cloud makes it very easy for JavaScript and Node developers. I would redirect my developer friends to this excellent starting point for Node, Express and Angular on Azure hosted on Channel 9. It\u2019s a <a href=\"https:\/\/channel9.msdn.com\/Series\/MeanOnAzure\">series of videos created by my colleague Daniel Egan<\/a>. Episodes 1, 5 and 8, in particular, walk through the setting up of an end-to-end development environment, as well as how to unleash the power of Node frameworks like Express on Azure. Additional resources:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A vast amount of resources for Node and MEAN development on Azure are available at the revamped <a href=\"https:\/\/azure.microsoft.com\/en-us\/develop\/nodejs\/\">Node.js Developer Center<\/a>.<\/li>\n\n\n\n<li>The <a href=\"https:\/\/github.com\/Azure\/azure-sdk-for-node\">Node SDK for Azure<\/a> page on GitHub provides a Node.js package for consuming and managing Azure services and infrastructure components \u2013 this makes consuming Azure easy for node developers.<\/li>\n<\/ul>\n\n\n\n<p><strong>Hybrid solutions:<\/strong> As noted above, Microsoft\u2019s hybrid cloud approach provides great power, choice and flexibility in phasing cloud deployments, especially if large transactional databases are involved. Microsoft\u2019s hybrid support spans both IaaS and PaaS solutions, and it\u2019s easy to connect services in the cloud to on-premises applications.<\/p>\n\n\n\n<p><strong>Pre-configured stacks in Azure Marketplace:<\/strong> The <a href=\"https:\/\/azure.microsoft.com\/en-us\/marketplace\/\">Azure Marketplace<\/a>&nbsp;has many pre-configured Node.js stacks, including Mean.io, Jelastic Hybrid PaaS,&nbsp;and Bitnami MEAN stack. Developers can start playing around with these and deploy a fully configured stack on Azure within minutes! This is great for developer productivity, as not much time is wasted in set-up and ramp-up \u2013 you can click through a <a href=\"https:\/\/azure.microsoft.com\/en-us\/overview\/choose-azure-opensource\/\">free trial<\/a>&nbsp;to see how easy it is.<\/p>\n\n\n\n<p>Robust mobile services: Node plays an important role in Microsoft Azure\u2019s Mobile Services as well. Whether it is SDKs for different mobile platforms exposed as REST APIs, or accessing authentication, push notification and storage services on Azure, it is easy to access these services with the Node.js and Express framework.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"up-next-mongodb-on-azure-the-iaas-approach-part-2-of-2\">Up Next: MongoDB on Azure \u2013 the IaaS approach (Part 2 of 2)<\/h2>\n\n\n\n<p>In the second part of this blog post, I will discuss MongoDB on Azure. The basic difference between discussing the \u201cM\u201d in MEAN and discussing the \u201cEAN\u201d is that the \u201cM\u201d needs a deeper architectural dive. Note that while Express, Angular and Node all run very well on Azure, there are some additional considerations if you want to stand up a highly available, fault-tolerant n-way-sharded, n-way-replicated MongoDB cluster on Azure. Check back on the blog later this week for Part 2, when we\u2019ll address these topics and more!<\/p>\n\n\n\n<p>We would love to hear from you! If you have any questions or other topics you\u2019d like to see us address on this blog, just let me know in the comments.<\/p>\n\n\n\n<p>Want to try Azure in the meantime? Sign up for a <a href=\"https:\/\/azure.microsoft.com\/en-us\/trial\/free-trial-open-source\/\">free trial<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Many customers are choosing the MEAN (Mongo, Express, Angular, and Node) stack as an efficient and powerful approach to building web applications.<\/p>\n","protected":false},"author":5562,"featured_media":95478,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"msxcm_post_with_no_image":false,"ep_exclude_from_search":false,"_classifai_error":"","_classifai_text_to_speech_error":"","footnotes":""},"post_tag":[166],"content-type":[],"topic":[2241],"programming-languages":[2254,2261],"coauthors":[2337],"class_list":["post-56561","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","tag-azure","topic-cloud","programming-languages-angular","programming-languages-node-js","review-flag-1-1593580432-963","review-flag-2-1593580437-411","review-flag-5-1593580453-725","review-flag-8-1593580468-572","review-flag-9-1593580473-997","review-flag-free-1593619513-693","review-flag-lever-1593580265-989","review-flag-micro-1680215167-604","review-flag-vm-1593580807-312"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Running the MEAN stack on Microsoft Azure (Part I) | Microsoft Open Source Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/opensource.microsoft.com\/blog\/2016\/10\/10\/running-mean-stack-microsoft-azure-part\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Running the MEAN stack on Microsoft Azure (Part I) | Microsoft Open Source Blog\" \/>\n<meta property=\"og:description\" content=\"Many customers are choosing the MEAN (Mongo, Express, Angular, and Node) stack as an efficient and powerful approach to building web applications.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/opensource.microsoft.com\/blog\/2016\/10\/10\/running-mean-stack-microsoft-azure-part\/\" \/>\n<meta property=\"og:site_name\" content=\"Microsoft Open Source Blog\" \/>\n<meta property=\"article:published_time\" content=\"2016-10-10T15:00:52+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-01-22T00:45:03+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/MSC17_catapult_009.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1170\" \/>\n\t<meta property=\"og:image:height\" content=\"640\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Koushik Biswas\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@OpenAtMicrosoft\" \/>\n<meta name=\"twitter:site\" content=\"@OpenAtMicrosoft\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Koushik Biswas\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 min read\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/2016\\\/10\\\/10\\\/running-mean-stack-microsoft-azure-part\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/2016\\\/10\\\/10\\\/running-mean-stack-microsoft-azure-part\\\/\"},\"author\":[{\"@id\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/author\\\/koushik-biswas\\\/\",\"@type\":\"Person\",\"@name\":\"Koushik Biswas\"}],\"headline\":\"Running the MEAN stack on Microsoft Azure (Part I)\",\"datePublished\":\"2016-10-10T15:00:52+00:00\",\"dateModified\":\"2025-01-22T00:45:03+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/2016\\\/10\\\/10\\\/running-mean-stack-microsoft-azure-part\\\/\"},\"wordCount\":1157,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/2016\\\/10\\\/10\\\/running-mean-stack-microsoft-azure-part\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/06\\\/MSC17_catapult_009.webp\",\"keywords\":[\"Microsoft Azure\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/2016\\\/10\\\/10\\\/running-mean-stack-microsoft-azure-part\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/2016\\\/10\\\/10\\\/running-mean-stack-microsoft-azure-part\\\/\",\"url\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/2016\\\/10\\\/10\\\/running-mean-stack-microsoft-azure-part\\\/\",\"name\":\"Running the MEAN stack on Microsoft Azure (Part I) | Microsoft Open Source Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/2016\\\/10\\\/10\\\/running-mean-stack-microsoft-azure-part\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/2016\\\/10\\\/10\\\/running-mean-stack-microsoft-azure-part\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/06\\\/MSC17_catapult_009.webp\",\"datePublished\":\"2016-10-10T15:00:52+00:00\",\"dateModified\":\"2025-01-22T00:45:03+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/2016\\\/10\\\/10\\\/running-mean-stack-microsoft-azure-part\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/2016\\\/10\\\/10\\\/running-mean-stack-microsoft-azure-part\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/2016\\\/10\\\/10\\\/running-mean-stack-microsoft-azure-part\\\/#primaryimage\",\"url\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/06\\\/MSC17_catapult_009.webp\",\"contentUrl\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/06\\\/MSC17_catapult_009.webp\",\"width\":1170,\"height\":640},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/2016\\\/10\\\/10\\\/running-mean-stack-microsoft-azure-part\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Running the MEAN stack on Microsoft Azure (Part I)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/\",\"name\":\"Microsoft Open Source Blog\",\"description\":\"Open dialogue about openness at Microsoft \u2013 open source, standards, interoperability\",\"publisher\":{\"@id\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/#organization\",\"name\":\"Microsoft Open Source Blog\",\"url\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/08\\\/Microsoft-Logo.png\",\"contentUrl\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/08\\\/Microsoft-Logo.png\",\"width\":259,\"height\":194,\"caption\":\"Microsoft Open Source Blog\"},\"image\":{\"@id\":\"https:\\\/\\\/opensource.microsoft.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/x.com\\\/OpenAtMicrosoft\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Running the MEAN stack on Microsoft Azure (Part I) | Microsoft Open Source Blog","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:\/\/opensource.microsoft.com\/blog\/2016\/10\/10\/running-mean-stack-microsoft-azure-part\/","og_locale":"en_US","og_type":"article","og_title":"Running the MEAN stack on Microsoft Azure (Part I) | Microsoft Open Source Blog","og_description":"Many customers are choosing the MEAN (Mongo, Express, Angular, and Node) stack as an efficient and powerful approach to building web applications.","og_url":"https:\/\/opensource.microsoft.com\/blog\/2016\/10\/10\/running-mean-stack-microsoft-azure-part\/","og_site_name":"Microsoft Open Source Blog","article_published_time":"2016-10-10T15:00:52+00:00","article_modified_time":"2025-01-22T00:45:03+00:00","og_image":[{"width":1170,"height":640,"url":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/MSC17_catapult_009.png","type":"image\/png"}],"author":"Koushik Biswas","twitter_card":"summary_large_image","twitter_creator":"@OpenAtMicrosoft","twitter_site":"@OpenAtMicrosoft","twitter_misc":{"Written by":"Koushik Biswas","Est. reading time":"5 min read"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/opensource.microsoft.com\/blog\/2016\/10\/10\/running-mean-stack-microsoft-azure-part\/#article","isPartOf":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2016\/10\/10\/running-mean-stack-microsoft-azure-part\/"},"author":[{"@id":"https:\/\/opensource.microsoft.com\/blog\/author\/koushik-biswas\/","@type":"Person","@name":"Koushik Biswas"}],"headline":"Running the MEAN stack on Microsoft Azure (Part I)","datePublished":"2016-10-10T15:00:52+00:00","dateModified":"2025-01-22T00:45:03+00:00","mainEntityOfPage":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2016\/10\/10\/running-mean-stack-microsoft-azure-part\/"},"wordCount":1157,"commentCount":1,"publisher":{"@id":"https:\/\/opensource.microsoft.com\/blog\/#organization"},"image":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2016\/10\/10\/running-mean-stack-microsoft-azure-part\/#primaryimage"},"thumbnailUrl":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/MSC17_catapult_009.webp","keywords":["Microsoft Azure"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/opensource.microsoft.com\/blog\/2016\/10\/10\/running-mean-stack-microsoft-azure-part\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/opensource.microsoft.com\/blog\/2016\/10\/10\/running-mean-stack-microsoft-azure-part\/","url":"https:\/\/opensource.microsoft.com\/blog\/2016\/10\/10\/running-mean-stack-microsoft-azure-part\/","name":"Running the MEAN stack on Microsoft Azure (Part I) | Microsoft Open Source Blog","isPartOf":{"@id":"https:\/\/opensource.microsoft.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2016\/10\/10\/running-mean-stack-microsoft-azure-part\/#primaryimage"},"image":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2016\/10\/10\/running-mean-stack-microsoft-azure-part\/#primaryimage"},"thumbnailUrl":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/MSC17_catapult_009.webp","datePublished":"2016-10-10T15:00:52+00:00","dateModified":"2025-01-22T00:45:03+00:00","breadcrumb":{"@id":"https:\/\/opensource.microsoft.com\/blog\/2016\/10\/10\/running-mean-stack-microsoft-azure-part\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/opensource.microsoft.com\/blog\/2016\/10\/10\/running-mean-stack-microsoft-azure-part\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/opensource.microsoft.com\/blog\/2016\/10\/10\/running-mean-stack-microsoft-azure-part\/#primaryimage","url":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/MSC17_catapult_009.webp","contentUrl":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2024\/06\/MSC17_catapult_009.webp","width":1170,"height":640},{"@type":"BreadcrumbList","@id":"https:\/\/opensource.microsoft.com\/blog\/2016\/10\/10\/running-mean-stack-microsoft-azure-part\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/opensource.microsoft.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Running the MEAN stack on Microsoft Azure (Part I)"}]},{"@type":"WebSite","@id":"https:\/\/opensource.microsoft.com\/blog\/#website","url":"https:\/\/opensource.microsoft.com\/blog\/","name":"Microsoft Open Source Blog","description":"Open dialogue about openness at Microsoft \u2013 open source, standards, interoperability","publisher":{"@id":"https:\/\/opensource.microsoft.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/opensource.microsoft.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/opensource.microsoft.com\/blog\/#organization","name":"Microsoft Open Source Blog","url":"https:\/\/opensource.microsoft.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/opensource.microsoft.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2019\/08\/Microsoft-Logo.png","contentUrl":"https:\/\/opensource.microsoft.com\/blog\/wp-content\/uploads\/2019\/08\/Microsoft-Logo.png","width":259,"height":194,"caption":"Microsoft Open Source Blog"},"image":{"@id":"https:\/\/opensource.microsoft.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/OpenAtMicrosoft"]}]}},"msxcm_animated_featured_image":null,"bloginabox_display_generated_audio":false,"distributor_meta":false,"distributor_terms":false,"distributor_media":false,"distributor_original_site_name":"Microsoft Open Source Blog","distributor_original_site_url":"https:\/\/opensource.microsoft.com\/blog","push-errors":false,"_links":{"self":[{"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/posts\/56561","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/users\/5562"}],"replies":[{"embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/comments?post=56561"}],"version-history":[{"count":3,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/posts\/56561\/revisions"}],"predecessor-version":[{"id":96815,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/posts\/56561\/revisions\/96815"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/media\/95478"}],"wp:attachment":[{"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/media?parent=56561"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/post_tag?post=56561"},{"taxonomy":"content-type","embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/content-type?post=56561"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/topic?post=56561"},{"taxonomy":"programming-languages","embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/programming-languages?post=56561"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/opensource.microsoft.com\/blog\/wp-json\/wp\/v2\/coauthors?post=56561"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}