small medium large xlarge

DevOps in Practice

by

Cover image for DevOps in Practice

DevOps in Practice

by

Delivering production software can often be a painful task. Long test periods and the integration between operations and development can ruin or delay a promising delivery. That’s what DevOps can fix. DevOps is a cultural change that aims to smoothly integrate development and operations procedures, breaking the barriers between them and focusing on automation, collaboration, and sharing of knowledge and tools. This book shows you how to implement DevOps and Continuous Delivery practices to raise your system’s deployment frequency, increasing your production application’s stability and robustness.

This book was translated and published by Code Crushing books. We are proud to be distributing it.

Choose Your Format(s)

  • $24.00 In Stock
  • Ebooks are DRM free.

  • Ebook delivery options.

About this Title

Pages: 260
Published: 2016-03-30
Release: P1.0 (2016-03-28)
ISBN: pending

DevOps shows the IT world that developers and operations have a lot to learn about each other—and that can be highly positive for projects.

Automate the deployment of a non-trivial Java application, involving a Tomcat instance, MySQL setup, Solr, Spring, Hibernate and GWT and see how this automation naturally leads to more frequent deployments. Monitor the system deployed to production, using tools such as Nagios, to get alerts when something goes wrong. And when your infrastructure grows bigger and bigger, introduce Puppet so you can better manage it.

By that point, you’ll have a robust process that will be improved by setting up a continuous delivery process with Jenkins, and you’ll migrate your applications to the cloud, using the AWS infrastructure and services. Throughout the book, you’ll explore various other tools from the DevOps world, such as Vagrant, VirtualBox, FPM, Rake, Maven, Git, and more.

What You Need

A computer running Windows, Mac or Linux; a web browser; and Java 7 or greater installed.

Contents & Extracts

  • 1 – Introduction
    • 1.1 – Traditional approach
    • 1.2 – An alternative approach: DevOps and Continuous Delivery
    • 1.3 – About the book
  • 2 – Everything starts in production
    • 2.1 – Our example application: an online store
    • 2.2 – Installing the production environment
    • 2.3 – Configuring the production servers
    • 2.4 – Application build and deploy
  • 3 – Monitoring
    • 3.1 – Installing the monitoring server
    • 3.2 – Monitoring other hosts
    • 3.3 – Exploring Nagios service checks
    • 3.4 – Adding more specific checks
    • 3.5 – Receiving alerts
    • 3.6 – A problem hits production, now what?
  • 4 – Infrastructure as code
    • 4.1 – Provision, configure or deploy?
    • 4.2 – Configuration management tools
    • 4.3 – Introduction to Puppet: resources, providers, manifests and dependencies
    • 4.4 – Provisioning the database server
    • 4.5 – Provisioning the web server
    • 4.6 – Deploying the application
  • 5 – Puppet beyond the basics excerpt
    • 5.1 – Classes and defined types
    • 5.2 – Using modules for packaging and distribution
    • 5.3 – Refactoring the web server Puppet code
    • 5.4 – Separation of concerns: infrastructure vs. application
    • 5.5 – Puppet forge: reusing community modules
    • 5.6 – Conclusion
  • 6 – Continuous integration
    • 6.1 – Agile engineering practices
    • 6.2 – Starting with the basics: version control
    • 6.3 – Automating the build process
    • 6.4 – Automated testing: reducing risk and increasing confidence
    • 6.5 – What is continuous integration?
    • 6.6 – Provisioning a continuous integration server
    • 6.7 – Configuring the online store build
    • 6.8 – Infrastructure as code for the continuous integration server
  • 7 – Deployment pipeline excerpt
    • 7.1 – Infrastructure affinity: using native packages
    • 7.2 – Continuous integration for the infrastructure code
    • 7.3 – Deployment pipeline
    • 7.4 – Next steps
  • 8 – Advanced topics
    • 8.1 – Deploying in the cloud
    • 8.2 – DevOps beyond tools
    • 8.3 – Advanced monitoring systems
    • 8.4 – Complex deployment pipelines
    • 8.5 – Managing database changes
    • 8.6 – Deployment orchestration
    • 8.7 – Managing environment configuration
    • 8.8 – Architecture evolution
    • 8.9 – Security
    • 8.10 – Conclusion

Author

Danilo Sato, @dtsato, has worked in the software industry for more than 12 years. He’s a graduate of Universidade de Sao Paulo and works as a lead consultant at ThoughtWorks, helping their clients to adopt DevOps and Continuous Delivery practices to reduce time between an idea’s conception and implementation.