This chapter describes in detail how to orchestrate different build jobs for continuous integration, configuration management, continuous delivery, and so on. It will cover how the build pipeline plugin and pipeline feature of Jenkins 2.0 can be used to orchestrate an end-to-end automation process for application deployment. Until now, we have covered continuous integration, cloud provisioning using Chef, configuration management, and continuous delivery. Continue reading “DevOps for Web Development: Orchestrating Application Deployment”
Continuous monitoring is a backbone of end-to-end delivery pipeline, and open source monitoring tools are like toppings on an ice cream scoop. It is desirable to monitor at almost every stage in order to have transparency about all the processes, as shown in the following diagram. It also helps us troubleshoot quickly. Continue reading “DevOps for Web Development: Monitoring Infrastructure and Applications”
Finally, we are at the business end of the book, and our focus is on deployment, automation, monitoring, and orchestration. Why? It’s because we want to achieve end-to-end application lifecycle automation or end-to-end deployment automation. First, we will go step by step to deploy our PetClinic application to a remote Tomcat server. Once that is done, it can be used as common practice for all instances. This chapter describes in detail all the steps required to deploy our sample application to a different environment once the configuration management tool prepares it for the final deployment. Continue reading “DevOps for Web Development: Deploying Application in Aws, Azure, and Docker”
Let’s revisit what we have covered till now and what our goal was in the first chapter. Our main objective is to create an end-to-end automated pipeline for application deployment. We considered source code repositories, build tools, continuous integration, configuration management to setup runtime environment, resource provisioning in the cloud and containers, continuous delivery, continuous deployment, continuous monitoring, continuous feedback, continuous improvement, and continuous innovation. Continue reading “DevOps for Web Development: Cloud Provisioning and Configuration Management With Chef”
Docker-yes, one of the hot topics of technical discussions in recent times. It is an open source, container-based technology and considered one of the disruptive innovations of recent times. Docker containers are isolated packages that contain the components required to run an application.
Configuration management(CM) manages changes in the system or, to be more specific, the server runtime environment. Let’s consider an example where we need to manage multiple servers with same kind of configuration. For example, we need to install Tomcat on each server. What if we need to change the port on all servers or update some packages or provide rights to some users? Any kind of modification in this scenario is a manual and, if so, error-prone process. As the same configuration is being used for all the servers, automation can be useful here. Automating installation and modification in the server runtime environment or permissions brings servers up to spec effectively. Continue reading “DevOps for Web Development: Installing and Configuring Chef”
It is always better to start early and visualize the things we want to achieve. That is the objective of this chapter. It will be easy to realize the importance of this chapter when we are at the last line of the final chapter of this book. One of the highlights of Jenkins 2 is built-in support for delivery pipelines. We know that Jenkins is a continuous integration server, but what if we wanted to use it for continuous delivery or continuous deployment too? Automation and orchestration both are equally important while dealing with the application delivery pipeline. Continue reading “DevOps for Web Development: Code Pipeline and Build Pipeline”