One-Click-Deployment of a Cloud Application Using Ansible
With recent advancements and availability of public and private clouds, deploying applications to multiple clouds is becoming standard practice. Many DevOps teams find themselves constantly needing to deploy their applications in new environments. Almost each new deployment requires the creation of new compute nodes (VMs), networks, routers, load balancers, storage, etc. After witch the deployment of the application and its associated services such as monitoring, metrics and alerts comes to the picture. This talk aims to provide a hands-on solution on how to achieve a “one-click” deployment of a complete cloud application using Ansible. To illustrate this, an OpenStack private cloud will be used. The same deployment code, however, can be easily ported to any other cloud such as AWS.
Complex applications require more than just a handful of playbook or script to deploy the infrastructure and application. There are certain steps that need to be made and an order that needs to be maintained as part of the deployment and bootstrapping. The discussion will touch upon when and how to maintain order as part of your orchestration, for example, you would want to create and setup your MessageBus before starting your back-end services. However, you can create and load balance your web server before you setup your database.
Ansible is a great configuration management and orchestration tool. In this talk, we will discuss Ansible’s main features and strengths. Also, we walk through how Ansible would be used within your current environment if you were using another tool such as Puppet or Chef.
Finally, some lessons learned and best practices will be shared and discussed.