DevOps is a practical field that focuses on delivering business value as efficiently as possible. DevOps encompasses all the flows from code through testing environments to production environments. It stresses the cooperation between different roles, and how they can work together more closely, as the roots of the word imply—Development and Operations.
After a quick refresher to DevOps and continuous delivery, we quickly move on to looking at how DevOps affects architecture. You'll create a sample enterprise Java application that you’ll continue to work with through the remaining chapters. Following this, we explore various code storage and build server options. You will then learn how to perform code testing with a few tools and deploy your test successfully. Next, you will learn how to monitor code for any anomalies and make sure it’s running properly. Finally, you will discover how to handle logs and keep track of the issues that affect processes.
What You Will Learn
- Appreciate the merits of DevOps and continuous delivery and see how DevOps supports the agile process.
- Understand how all the systems fit together to form a larger whole.
- Set up and familiarize yourself with all the tools you need to be efficient with DevOps.
- Design an application that is suitable for continuous deployment systems with Devops in mind.
- Store and manage your code effectively using different options such as Git, Gerrit, and Gitlab.
- Configure a job to build a sample CRUD application.
- Test the code using automated regression testing with Jenkins Selenium.
- Deploy your code using tools such as Puppet, Ansible, Palletops, Chef, and Vagrant.
- Monitor the health of your code with Nagios, Munin, and Graphite.
- Explore the workings of Trac—a tool used for issue tracking.