{"id":5097,"date":"2014-12-10T00:01:30","date_gmt":"2014-12-10T08:01:30","guid":{"rendered":"http:\/\/formtek.com\/blog\/?p=5097"},"modified":"2015-03-27T13:05:46","modified_gmt":"2015-03-27T21:05:46","slug":"data-centers-atlas-a-unified-foundation-for-developing-deploying-and-maintaining-applications","status":"publish","type":"post","link":"https:\/\/formtek.com\/blog\/data-centers-atlas-a-unified-foundation-for-developing-deploying-and-maintaining-applications\/","title":{"rendered":"Data Centers: Atlas, a Unified Foundation for Developing, Deploying and Maintaining Applications"},"content":{"rendered":"<p><a title=\"Hashicorp\" href=\"https:\/\/hashicorp.com\/\" target=\"_blank\">HashiCorp<\/a>, the business behind open source products like Vagrant, Consul and Terraform, <a title=\"HashiCorp Announcement\" href=\"http:\/\/www2.marketwire.com\/mw\/release_html_b1?release_id=1163469\" target=\"_blank\">announced today<\/a> the launch of their first commercial product, Atlas. \u00a0Atlas unifies all the steps of the application development workflow, starting with development, to the deployment and maintenance of the application. \u00a0The goal of Atlas is to create a common tool that can be used by developer and operations groups alike. \u00a0To help bring the product to market, HashiCorp recently received new series A venture funding from <a title=\"Mayfield Venture Capital\" href=\"http:\/\/www.mayfield.com\/\" target=\"_blank\">Mayfield<\/a>, <a title=\"GVC Capital Venture Funding\" href=\"http:\/\/www.ggvc.com\/\" target=\"_blank\">GGV Capital<\/a> and <a title=\"True Ventures Funding\" href=\"http:\/\/www.trueventures.com\/\" target=\"_blank\">True Ventures<\/a>.<\/p>\n<p><strong>What is Atlas?<\/strong><\/p>\n<p>Atlas is a commercial, closed-source wrapper around HashiCorp&#8217;s five popular open source projects:<\/p>\n<ul>\n<li><strong><a title=\"Vagrant\" href=\"https:\/\/www.vagrantup.com\/\" target=\"_blank\">Vagrant<\/a>\u00a0&#8211;\u00a0<\/strong>Configuration and creation tool for building lightweight and portable development environments<\/li>\n<li><strong><a title=\"Packer.io Home page\" href=\"https:\/\/www.packer.io\/intro\" target=\"_blank\">Packer<\/a>\u00a0&#8211;\u00a0<\/strong>Tool to create identical machine images for multiple platforms from a single source configuration<\/li>\n<li><strong><a title=\"Serf home page\" href=\"https:\/\/github.com\/hashicorp\/serf\" target=\"_blank\">Serf\u00a0<\/a>&#8211;\u00a0<\/strong>Decentralized tool for service discovery and orchestration<\/li>\n<li><strong><a title=\"Consul homepage\" href=\"https:\/\/github.com\/hashicorp\/consul\" target=\"_blank\">Consul\u00a0<\/a>&#8211;\u00a0<\/strong>Distributed, highly available tool for service discovery and configuration<\/li>\n<li><strong><a title=\"Terraform \" href=\"https:\/\/www.terraform.io\/\" target=\"_blank\">Terraform<\/a>\u00a0&#8211;<\/strong>\u00a0Tool that provides a common configuration for launching infrastructure<\/li>\n<\/ul>\n<p>But really, Atlas is more that just a wrapper. \u00a0<a title=\"Mitchell Hashimoto bio\" href=\"http:\/\/mitchellh.com\/\" target=\"_blank\">Mitchell Hashimoto<\/a>, HashiCorp founder, explained that &#8220;Atlas provides a single foundation for developing, deploying and maintaining applications on any infrastructure. \u00a0The way it does that is by\u00a0encapsulating all pieces into one management layer: all your servers, all your VMs, all your containers, all your configuration management components, and so on. \u00a0Out of this, it exposes one workflow&#8230; and that workflow\u00a0targets each \u00a0user role and where you are in the workflow&#8230;\u00a0So whether you are a developer, an operator, or whether you have a role in compliance, we&#8217;ve built it around that. \u00a0And finally, since this is all in one system, we&#8217;re able to expose all this information in a dashboard&#8230; \u00a0So developers can see what applications they&#8217;re able to work on, what version of code things are at, and what things they&#8217;ve deployed recently.\u00a0They can see the work that&#8217;s interesting to them. \u00a0Operators on the other hand, can see what deploys are going out and\u00a0what infrastructure has changed.&#8221;<\/p>\n<p>HashiCorp&#8217;s design of Atlas is one of simplicity. \u00a0Atlas provides:<\/p>\n<ul>\n<li><strong>One foundation<\/strong> to manage servers, VMs, containers, configuration management, and service discovery<\/li>\n<li><strong>One workflow<\/strong> to move from development to production on any infrastructure<\/li>\n<li><strong>One dashboard<\/strong> to monitor and maintain all stages of application delivery<\/li>\n<\/ul>\n<div id=\"attachment_5099\" style=\"width: 354px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-5099\" class=\" wp-image-5099  \" alt=\"Atlas is one foundation for developing, deploying, and maintaining applications on any infrastructure.\" src=\"http:\/\/formtek.com\/blog\/wp-content\/uploads\/2014\/12\/Hashicorp.png\" width=\"344\" height=\"317\" srcset=\"https:\/\/formtek.com\/blog\/wp-content\/uploads\/2014\/12\/Hashicorp.png 819w, https:\/\/formtek.com\/blog\/wp-content\/uploads\/2014\/12\/Hashicorp-300x276.png 300w\" sizes=\"auto, (max-width: 344px) 100vw, 344px\" \/><p id=\"caption-attachment-5099\" class=\"wp-caption-text\"><span style=\"font-size: medium;\">Atlas is one foundation for developing, deploying, and maintaining applications on any infrastructure.<\/span><\/p><\/div>\n<p><strong>Application Lifecycle with Atlas<\/strong><\/p>\n<p>Hashimoto explained that orchestrating the lifecycle of an application from development to production and maintenance has a lot of different intermediate steps, steps that involve both technical and organizational issues. \u00a0He commented that coordinating this process is really a common problem but that it is happening in almost every organization, and each time when an organization confronts the problem, it tries to re-invent their own solution for it. \u00a0At issue here is that usually solving this problem isn&#8217;t in the core competency of the company. \u00a0Nevertheless, since a solution is necessary, the company is forced into spending the time and resources to build it. \u00a0But if you build something that&#8217;s not in your core competency and which you just want to work so you can move onto other things, you usually run into problems. \u00a0Homebrew solutions are typically based on technology that the people tasked with building the solution are currently using or familiar with, regardless of whether or not the tools they choose are the best ones for the job. \u00a0Unfortunately this approach causes companies to be locked into their custom homebrew solution.<\/p>\n<p style=\"text-align: center;\"><a href=\"http:\/\/formtek.com\/blog\/wp-content\/uploads\/2014\/12\/atlas-how-to-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter  wp-image-5111\" alt=\"atlas-how-to-1\" src=\"http:\/\/formtek.com\/blog\/wp-content\/uploads\/2014\/12\/atlas-how-to-1.png\" width=\"541\" height=\"245\" srcset=\"https:\/\/formtek.com\/blog\/wp-content\/uploads\/2014\/12\/atlas-how-to-1.png 2707w, https:\/\/formtek.com\/blog\/wp-content\/uploads\/2014\/12\/atlas-how-to-1-300x135.png 300w, https:\/\/formtek.com\/blog\/wp-content\/uploads\/2014\/12\/atlas-how-to-1-1024x461.png 1024w\" sizes=\"auto, (max-width: 541px) 100vw, 541px\" \/><\/a><\/p>\n<p>Atlas is a framework that&#8217;s designed specifically to solve this problem. \u00a0Snapped into this framework are the tools that do the bulk of the work. \u00a0These tools include, out of the box, HashiCorp&#8217;s open source products, but the design of the Atlas framework is such that other tools could be snapped to replace the HashiCorp products.<\/p>\n<p><strong>Application Delivery Steps<\/strong><\/p>\n<p>Atlas breaks the application delivery process into five steps. \u00a0Developers first work on code, and when ready to deploy, make use of Vagrant to deploy their apps via &#8216;vagrant push&#8217;. \u00a0This then sends their code to the Build tool which is run by Packer. \u00a0Packer is able to create images and artifacts for many different technologies. It&#8217;s able to create the machine images, the Docker containers, basic jars, any sort \u00a0of general artifact. \u00a0All of these are stored into an artifact registry. \u00a0The registry is able to keep track of all the different artifacts that you have, what type they are, and what different environments they&#8217;re from, like\u00a0development, staging, QA, or production. \u00a0The registry both stores and versions them.<\/p>\n<p>After that, the line is crossed into the deployment side. \u00a0This is powered out of the box by Atlas with Terraform. Terraform can query the\u00a0 registry to find things like the latest production image of AWS for this application that runs on 64-bit machines. \u00a0Terraform can be set up to do things like rolling deploys, canary deploys or session draining. \u00a0It handles all the complex orchestration that&#8217;s needed to get the application deployed.<\/p>\n<p>Once the application is deployed, Atlas picks it up once again in Consul. Consul then determines if the app is running and if it is the app healthy. \u00a0It knows where the app is running, it&#8217;s address, how to access it, and what it&#8217;s configuration is. \u00a0While\u00a0Consul on it&#8217;s own is able to monitor data, it can&#8217;t actually fix problems. \u00a0Terraform, on the other hand, knows how to do server life cycles, so when you integrate these together, Consul is able to tell Terraform the data that&#8217;s monitored,\u00a0and Terraform is able to act on it.<\/p>\n<p>Hashimoto commented that &#8220;a really important point is that each one of these boxes could be either skipped or replaced with another system that you already have, so\u00a0you don&#8217;t need to go &#8216;all in&#8217; with Atlas to really get value out of it. \u00a0For example, a very common step that people aren&#8217;t as keen to replace is the build step. \u00a0They actually might have something like <a title=\"Continuous Integration\" href=\"http:\/\/en.wikipedia.org\/wiki\/Continuous_integration\" target=\"_blank\">Continuous Integration<\/a> (CI) or something already in place. \u00a0So in that case, you can configure &#8216;vagrant push&#8217; to go to their CI and then the CI could send the artifact directly to the artifact registry. \u00a0You get to keep all that. [In the diagram above] all these spaces between the boxes and the arrows between the boxes are public API endpoints. \u00a0We actually consume our own API so you could actually integrate any one of those points with other systems.&#8221;<\/p>\n<p><strong>Who will use Atlas?<\/strong><\/p>\n<p>Companies whose core competency is not in the devops area will find value in Atlas, particularly if their company can see the promise of tools like virtualization,\u00a0containerization, the public cloud, and service providers. \u00a0Atlas can provide these companies a map to for modernizing their\u00a0legacy processes and systems. \u00a0These businesses can integrate into the Atlas workflow one application at a time, gradually transitioning to the new framework provided by Atlas using the newer technologies. \u00a0As these companies transition, they can\u00a0retain the same workflow and reduce friction in the transition. \u00a0Atlas can also provide a transition pathway for companies to move to the cloud, either public or private, and it gives them a future path for things that don&#8217;t exist yet, a way to prepare for the next paradigm.<\/p>\n<p>Atlas could provide value to system integration projects. \u00a0For example, if there is a big company that is participating in any sort of M&amp;A events there&#8217;s usually a lot of \u00a0separate systems. \u00a0This is a problem where Atlas could help.<\/p>\n<p>Atlas could also be useful in the area of configuration management. \u00a0Companies that are currently running multiple configuration management tools could greatly simplify their processes by using Atlas to \u00a0unify these systems, allowing them to show all their metadata\u00a0in one place, or it could even remove some of these systems all together.<\/p>\n<p>&nbsp;<\/p>\n<div class=\"lightsocial_container\"><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/digg.com\/submit?url=https%3A%2F%2Fformtek.com%2Fblog%2Fdata-centers-atlas-a-unified-foundation-for-developing-deploying-and-maintaining-applications%2F&amp;title=\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/digg.png\" alt=\"Digg This\" title=\"Digg This\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.reddit.com\/submit?url=https%3A%2F%2Fformtek.com%2Fblog%2Fdata-centers-atlas-a-unified-foundation-for-developing-deploying-and-maintaining-applications%2F&amp;title=\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/reddit.png\" alt=\"Reddit This\" title=\"Reddit This\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.stumbleupon.com\/submit?url=https%3A%2F%2Fformtek.com%2Fblog%2Fdata-centers-atlas-a-unified-foundation-for-developing-deploying-and-maintaining-applications%2F&amp;title=\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/stumbleupon.png\" alt=\"Stumble Now!\" title=\"Stumble Now!\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/buzz.yahoo.com\/buzz?targetUrl=https%3A%2F%2Fformtek.com%2Fblog%2Fdata-centers-atlas-a-unified-foundation-for-developing-deploying-and-maintaining-applications%2F&amp;headline=\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/yahoo_buzz.png\" alt=\"Buzz This\" title=\"Buzz This\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.dzone.com\/links\/add.html?title=&amp;url=https%3A%2F%2Fformtek.com%2Fblog%2Fdata-centers-atlas-a-unified-foundation-for-developing-deploying-and-maintaining-applications%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/dzone.png\" alt=\"Vote on DZone\" title=\"Vote on DZone\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.facebook.com\/sharer.php?t=&amp;u=https%3A%2F%2Fformtek.com%2Fblog%2Fdata-centers-atlas-a-unified-foundation-for-developing-deploying-and-maintaining-applications%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/facebook.png\" alt=\"Share on Facebook\" title=\"Share on Facebook\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/delicious.com\/save?title=&amp;url=https%3A%2F%2Fformtek.com%2Fblog%2Fdata-centers-atlas-a-unified-foundation-for-developing-deploying-and-maintaining-applications%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/delicious.png\" alt=\"Bookmark this on Delicious\" title=\"Bookmark this on Delicious\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.dotnetkicks.com\/kick\/?title=&amp;url=https%3A%2F%2Fformtek.com%2Fblog%2Fdata-centers-atlas-a-unified-foundation-for-developing-deploying-and-maintaining-applications%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/dotnetkicks.png\" alt=\"Kick It on DotNetKicks.com\" title=\"Kick It on DotNetKicks.com\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/dotnetshoutout.com\/Submit?title=&amp;url=https%3A%2F%2Fformtek.com%2Fblog%2Fdata-centers-atlas-a-unified-foundation-for-developing-deploying-and-maintaining-applications%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/dotnetshoutout.png\" alt=\"Shout it\" title=\"Shout it\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.linkedin.com\/shareArticle?mini=true&amp;url=https%3A%2F%2Fformtek.com%2Fblog%2Fdata-centers-atlas-a-unified-foundation-for-developing-deploying-and-maintaining-applications%2F&amp;title=&amp;summary=&amp;source=\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/linkedin.png\" alt=\"Share on LinkedIn\" title=\"Share on LinkedIn\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.technorati.com\/faves?add=https%3A%2F%2Fformtek.com%2Fblog%2Fdata-centers-atlas-a-unified-foundation-for-developing-deploying-and-maintaining-applications%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/technorati.png\" alt=\"Bookmark this on Technorati\" title=\"Bookmark this on Technorati\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/twitter.com\/home?status=Reading+https%3A%2F%2Fformtek.com%2Fblog%2Fdata-centers-atlas-a-unified-foundation-for-developing-deploying-and-maintaining-applications%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/twitter.png\" alt=\"Post on Twitter\" title=\"Post on Twitter\" \/><\/a><\/div><div class=\"lightsocial_element\"><a class=\"lightsocial_a\" href=\"http:\/\/www.google.com\/buzz\/post?url=https%3A%2F%2Fformtek.com%2Fblog%2Fdata-centers-atlas-a-unified-foundation-for-developing-deploying-and-maintaining-applications%2F\" target=\"_blank\"><img decoding=\"async\" class=\"lightsocial_img\" src=\"https:\/\/formtek.com\/blog\/wp-content\/plugins\/light-social\/google_buzz.png\" alt=\"Google Buzz (aka. Google Reader)\" title=\"Google Buzz (aka. Google Reader)\" \/><\/a><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>HashiCorp, the business behind open source products like Vagrant, Consul and Terraform, announced today the launch of their first commercial product, Atlas. \u00a0Atlas unifies all the steps of the application development workflow, starting with development, to the deployment and maintenance<span class=\"ellipsis\">&hellip;<\/span><\/p>\n<div class=\"read-more\"><a href=\"https:\/\/formtek.com\/blog\/data-centers-atlas-a-unified-foundation-for-developing-deploying-and-maintaining-applications\/\">Read more &#8250;<\/a><\/div>\n<p><!-- end of .read-more --><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[36],"tags":[],"class_list":["post-5097","post","type-post","status-publish","format-standard","hentry","category-technology"],"_links":{"self":[{"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/posts\/5097","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/comments?post=5097"}],"version-history":[{"count":0,"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/posts\/5097\/revisions"}],"wp:attachment":[{"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/media?parent=5097"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/categories?post=5097"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/formtek.com\/blog\/wp-json\/wp\/v2\/tags?post=5097"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}