Preface
DevOps is part of almost every discussion in the project team, sales team, customer engagements, and so on. Yes, it is a Culture but customers are asking for Proof of Concepts of automation that can be utilized in the Application Life Cycle Management. Even though DevOps is in early stage and it is about changing the existing culture that invites resistance, still it is wise to follow what Socrates said:
"The secret of change is to focus all your energy not on fighting the old, but on building the new."
The reason behind the culture shift is to keep pace with evolution with ongoing revolution, innovations, and business demands in the highly dynamic and competitive market.
Main objective is to manage frequent releases effectively. The faster you fail, the faster you recover. To fail early is far better than to fail at the end of the phase where roll back is very difficult. By automating repetitive processes, you standardized the management of application lifecycle and avoid error prone manual processes.
In this book, we will cover all the key components of DevOps such as Continuous Integration, Cloud Computing, Configuration Management, Continuous Delivery, and Continuous Deployment; how to automate build integration, provision resources in cloud environment such as AWS and Microsoft Azure, use containers for application deployment, use Chef configuration management tool to set up runtime environment for application deployment; deploying web application into virtual machines configured with Chef, AWS Elastic Beanstalk, Microsoft Azure Web Apps, and Docker containers; application monitoring with Nagios, New Relic, and Native Cloud Monitoring features as well.
For Continuous Integration, we have used Jenkins 2. Orchestration of end to end automation is managed by Pipeline.
Jenkins 2 is aimed to claim Continuous Delivery space also. It brings a new setup experience and interesting UI improvements, and Pipeline as code while maintaining backward compatibility with existing Jenkins installations.