What you will need before you get started :
What you will need before you get started :
Consider the following real world scenario…
Our team recently helped a customer through the exercise of finding their true costs for their new utility billed cloud infrastructure. Together, we mapped out a testing, development and quality assurance environment over a three year period with the following requirements.
|Test Environment||Development Environment||QA Environment|
|1 x 1GB Web Server||1 x 1GB Web Server||1 x 2GB Web Server|
|1 x 2GB Database Server||1 x 2GB Database Server||1 x 4GB Database Server|
|Usage: 20 hour per week||Usage: 40 hour per week||Usage: 40 hour per week|
Many organizations procure expensive, on-premise hardware for their testing, development and quality assurance environments. In addition to the up front capital costs, ongoing hardware management and initial capacity planning are things to consider.
|Capital Purchase||Total Cost|
|Dell PowerEdge R420 – 8 core, 32GB RAM, 2.4TB (spec’ed for growth)||$12,674.00|
|VMware vSphere Standard||$1,465.50|
|Total monthly cost||$392.74|
|Cost per year||$4,712.83|
|Total cost over 3 years||$14,138.50|
The Canadian “cloud” market is dominated by VMware based virtualization platforms that lock users into expensive contracts. While the responsibility of managing hardware is offloaded in this model, VM deployment is often slow and users incur monthly fixed costs.
|VM Quantity||Flavour||Price per VM||Total Cost (monthly)|
|Total monthly cost||$492.50|
|Cost per year||$5,910.00|
|Total cost over 3 years||$17,730.00|
Cloud-A offers a flexible, agile and elastic environment for testing, development and quality assurance. Users only pay for what they use and incur a nominal storage charge when their stacks are turned off, resulting in dramatic cost savings.
Cloud-A Total Monthly Compute Cost
|VM Quantity||VM Flavour||Usage Hours per month||Hourly Cost||Total Cost|
Cloud-A Total Offline Storage Cost (based on 720 hour months)
|VM Quantity||VM Flavour||Root Disk||Offline Storage Hours||Hourly Cost||Total Cost|
|Monthly compute cost||$43.80|
|Monthly offline storage cost||$29.54|
|Total monthly cost||$73.34|
|Cost per year||$880.08|
|Total cost over 3 years||$2,640.24|
When comparing the cost of the same testing, development and quality assurance environment from this real world example on on-premise hardware, traditional VM hosting provider and Cloud-A, Cloud-A on average provides 83% savings or $4,431.31 per year.
At the forefront of modern application architecture is a concept known as DevOps, or the marrying of development and operations into one harmonious, collaborative and cooperative effort, all with the goal of rapidly producing software and improving operations performance.
As a result of the trend toward DevOps within organizations, a market of DevOps tools have emerged that enable automation and faster, higher quality software. Here is a list of DevOps tools that our partners, our customers and even the Cloud-A team use on a daily basis to deliver software.
The University of Pennsylvania’s Wharton School is a Chef user as well. “Chef automates complex tasks that are otherwise time- and resource-intensive, but more importantly it allows us to focus our efforts on innovating and improving the quality of our services,” says Sanjay Modi, a technical director at the school, in a case study on Chef’s website. “It also opens the door to more collaboration and efficiency across the organization.” Chef has been used by Wharton to automate configuration management for Amazon EC2 resources, Linux nodes, and local virtual machines.
Docker brings portability to applications via its containerization technology, wherein applications run in self-contained units that can be moved across platforms. It consists of Docker Engine, which is a lightweight runtime and packaging tool, and Docker Hub, a cloud service for application-sharing and workflow automation.
“Docker has been a vital part of Yelp’s next-generation testing and service management infrastructure,” says Sam Eaton, engineering director at Yelp, in a case study on the Docker website. “Isolation of dependencies and rapid spin up of containers has allowed us to shorten development cycles and increase testing speed by more than four times.”
Puppet Enterprise, from Puppet Labs, offers data center orchestration by automating configuration and management of machines and software. Version 3.7, the latest release, features Puppet Apps, purpose-built applications for IT automation, including Node Manager, for managing large numbers of systems that are changed often. An open source version of Puppet is also available.
Stanford University uses the open source version of Puppet “to bridge the gap between the software development that we need to do to create new kinds of digital library services and the systems administration that we need to do to keep those services running in a high-performant, secure way,” says Stanford’s Bess Sadler, in a video testimonial on Puppet’s website. Developers have become more involved in systems administration, while systems admins have deepened their involvement in software development, enabling quicker development of applications, she says.
Ansible is an open source IT configuration management, deployment, and orchestration tool. It is unique from other management tools in many respects, aiming to provide large productivity gains to a wide variety of automation challenges. While Ansible provides more productive drop-in replacements for many core capabilities in other automation solutions, it also seeks to solve other major unsolved IT challenges. These include clear orchestration of complex multitier workflows and cleanly unifying OS configuration and application software deployment under a single banner. Hootsuite uses Ansible to build any server from scratch and repeat this as many times as they want within their infrastructure and are looking to expand use for app deployment. “Ops and Devs both feel safer, literally. Before they were always worried about ‘what if the server dies’, but not any more after all servers are properly ‘Ansiblized’.” says Beier Cai, Director of Technology at HootSuite Media, Inc.
One DevOps tool that is close to our hearts at Cloud-A is docrane – and that is because it is our project! Docrane is an open source Docker container manager that relies on etcd to provide relevant configuration details. The program watches for changes in configuration and automatically stops, removes, recreates and starts your Docker containers, enabling more seamless continuous integration. “Docrane has allowed us to significantly accelerate and improve our Continuous Integration process at Cloud-A. When managing an increasingly large network of OpenStack nodes, having the ability to ensure that new versions are deployed quickly and reliably is key,” says Jacob Godin, CTO of Cloud-A.
Over the next several weeks, we will be highlighting effective use cases of these DevOps tools with Cloud-A including tutorials in an effort to educate and promote modern application architecture, faster time to market and better quality software.
Krill, Paul. ‘7 Cool Tools For Doing Devops Right’. InfoWorld 2015. Web. 20 Apr. 2015.
We’ve grown massively at Cloud-A since our launch in 2013, about 25% month-over-month on average and there seems to be no slowing down so far. Our goal was to bring true public cloud to Canada with no tradeoffs in functionality, performance or security when compared to the global market leading public clouds, and at least to some degree we’ve successfully achieved that goal.
Looking back at the last year, analyzing our customer base and interfacing with partners and clients, I’ve learned a lot about why and how organizations are consuming our infrastructure-as-a-service. Canadian residency, utility billing, and the ability to deploy, scale and manage infrastructure on demand are the usual responses, which positions us well against virtualization platforms and “legacy” clouds, but I find it amazing how few clients are using Cloud-A to its full extent and maximizing their value. The beauty of Cloud-A, and OpenStack in general, is the elasticity and agility it can provide organizations if they are leveraging all of its functionality.
Flexibility is baked into OpenStack’s architecture. By definition there is literally an API for every aspect of OpenStack allowing users the ability to design and manage their own infrastructure. When fully understood and appreciated this aspect of cloud technology is where the ultimate value is. That’s the point when users typically realize it’s not just about moving existing applications to a virtualized “Cloud” server but that storage, compute, and SDN networking can be harnessed independently to maximize efficiencies and thus business value. IT requires a different perspective, one that holistically encompasses the business case and then architects the IT solution around it, automating the workflows and taking advantage of the utility model so that scalability is in effect no longer a concern as the old paradigm of hardware is no longer the limiting factor.
Utilizing Cloud-A load balancers and splitting workloads between multiple instances, or federating your Cloud-A infrastructure with another cloud provider can allow for high availability, virtually eliminating downtime.
Horizontal scalability is the clustering of multiple instances to expand the size of a deployment. The process of horizontally scaling your Cloud-A infrastructure can be automated to grow as required with the proper utilization of Cloud-A APIs and DevOps tools.
Cloud-A environments can be manually vertically scaled quite simply by utilizing snapshot functionality, but at scale, automating this process can be hugely beneficial, allowing the compute resources of your existing infrastructure to expand or contract automatically as required.
The wildly growing movement towards the automation of infrastructure operations for the goal of efficient and focused development is known as DevOps. “DevOps culture” is being adopted in enterprises all over the world, and a massive emergence of DevOps tools and services are supporting this movement of marrying development with operations.
There are many tools available to help with the process of automating the deployment and ongoing management of infrastructure on Cloud-A. The following tools are relevant not only to those who are building applications, but for anyone running infrastructure in an OpenStack public cloud at any scale.
Ansible – Ansible is an open-source software platform for configuring and managing computers. It combines multi-node software deployment, ad hoc task execution, and configuration management.
Puppet – Puppet is a configuration management system that allows sysadmins to define the state of their infrastructure and then automatically enforces that state. Puppet automates time consuming processes usually performed manually by sysadmins.
Chef – Chef allows users to automate how organizations build, deploy and manage their infrastructure by turning that infrastructure into code. Chef relies on reusable definitions known as recipes to automate infrastructure tasks.
Docker – Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications. Docker enables apps to be quickly assembled from components and eliminates the friction between development, QA, and production environments.
docrane (https://github.com/CloudBrewery/docrane) docrane is an open source project started by Cloud-A co-founder Jacob Godin. docrane is a Docker container manager that relies on etcd (a distributed key->value store) to provide relevant configuration details. It watches for changes in configuration and automatically stops, removes, recreates, and starts Docker containers.
Platform-as-a-service providers (PaaS) use automation to provide preconfigured and optimized platforms to develop, run and manage web applications without the complexities of building and configuring the stack manually.
Cloud 66 (www.cloud66.com) – Cloud 66 is Cloud-A’s PaaS partner of choice. Cloud 66 provides everything users need to deploy, scale and protect their applications on Cloud-A in a single tool. Cloud 66 currently supports Ruby frameworks such as Ruby on Rails, Sinatra and Padrino as well as Docker containers.
There are many organizations who focus on providing DevOps services that include architecting development environments, implementing those environments, and coaching the implementation of DevOps culture within organizations.
Lyrical Security (www.lyricalsoftware.com) – Lyrical Software is Cloud-A’s go-to DevOps service partner. Lyrical is a well-oiled group of DevOps Engineers, based in Toronto, Canada. With a history building and deploying software since the late 90’s, Lyrical has experience automating at scale, deploying into clouds, private datacenters, even shrink-wrap software, all while supporting several languages.