DevOps Bootcamp

Book description

Sharpen your DevOps knowledge with DevOps Bootcamp

About This Book

  • Improve your organization's performance to ensure smooth production of software and services.
  • Learn how Continuous Integration and Continuous Delivery practices can be utilized to cultivate the DevOps culture.
  • A fast-paced guide filled with illustrations and best practices to help you consistently ship quality software.

Who This Book Is For

The book is aimed at IT Developers and Operations—administrators who want to quickly learn and implement the DevOps culture in their organization.

What You Will Learn

  • Static Code Analysis using SOnarqube
  • Configure a Maven-based JEE Web Application
  • Perform Continuous Integration using Jenkins and VSTS
  • Install and configure Docker
  • Converge a Chef node using a Chef workstation
  • Accomplish Continuous Delivery in Microsoft Azure VM and Microsoft Azure App Services (Azure Web Apps) using Jenkins
  • Perform Load Testing using Apache JMeter
  • Build and Release Automation using Visual Studio Team Services
  • Monitor Cloud-based resources

In Detail

DevOps Bootcamp delivers practical learning modules in manageable chunks. Each chunk is delivered in a day, and each day is a productive one. Each day builds your competency in DevOps. You will be able to take the task you learn every day and apply it to cultivate the DevOps culture.

Each chapter presents core concepts and key takeaways about a topic in DevOps and provides a series of hands-on exercises. You will not only learn the importance of basic concepts or practices of DevOps but also how to use different tools to automate application lifecycle management.

We will start off by building the foundation of the DevOps concepts. On day two, we will perform Continuous Integration using Jenkins and VSTS both by configuring Maven-based JEE Web Application​. We will also integrate Jenkins and Sonar qube for Static Code Analysis. Further, on day three, we will focus on Docker containers where we will install and configure Docker and also create a Tomcat Container to deploy our Java based web application. On day four, we will create and configure the environment for application deployment in AWS and Microsoft Azure Cloud for which we will use Infrastructure as a Service and Open Source Configuration Management tool Chef. For day five, our focus would be on Continuous Delivery. We will automate application deployment in Docker container using Jenkins Plugin, AWS EC2 using Script, AWS Elastic Beanstalk using Jenkins Plugin, Microsoft Azure VM using script, and Microsoft Azure App Services Using Jenkins. We will also configure Continuous Delivery using VSTS. We will then learn the concept of Automated Testing on day six using Apache JMeter and URL-based tests in VSTS. Further, on day seven, we will explore various ways to automate application lifecycle management using orchestration. We will see how Pipeline can be created in Jenkins and VSTS, so the moment Continuous​ Integration is completed successfully, Continuous Delivery will start and application will be deployed. On the final day, our focus would be on Security access to Jenkins and Monitoring of CI resources, and cloud-based resources in AWS and Microsoft Azure Platform as a Service.

Style and Approach

This book is all about fast and intensive learning. This means we don’t waste time in helping readers get started. The new content is basically about filling in with highly-effective examples to build new things, solving problems in newer and unseen ways, and solving real-world examples.

Table of contents

  1. Customer Feedback
  2. Preface
    1. What this book covers
    2. What you need for this book
    3. Who this book is for
    4. Conventions
    5. Reader feedback
    6. Customer support
      1. Downloading the example code
      2. Downloading the color images of this book
      3. Errata
      4. Piracy
      5. Questions
  3. DevOps Concepts and Assessment Framework
    1. Need for DevOps
      1. Overview of cloud computing
      2. Overview of DevOps
        1. Challenges for the development and operations teams
          1. Challenges for the development team
          2. Challenges for the operations team
          3. Challenges for the IT team
    2. How can DevOps culture evolve?
      1. Agile development
      2. DevOps
        1. Build automation
        2. Continuous integration
        3. Cloud provisioning
        4. Configuration management
        5. Continuous delivery
        6. Continuous testing and deployment
        7. Continuous monitoring
    3. Importance of PPT - people, process, and technology
      1. People
      2. Processes
      3. Technology
    4. Why DevOps is not all about tools
    5. DevOps assessment questions
    6. Summary
  4. Continuous Integration
    1. Installing Jenkins 2
      1. Global Tool Configuration in Jenkins
    2. Creating and configuring Maven-based JEE web applications
      1. Unit test case results in Jenkins
      2. Master agent architecture in Jenkins
    3. Integrating Jenkins and SonarQube
    4. E-mail notifications in Jenkins
    5. Continuous integration using Visual Studio Team Services
      1. Eclipse and VSTS integration
      2. Continuous integration in VSTS
    6. Summary
  5. Containers
    1. Overview of Docker containers
    2. Understanding the difference between virtual machines and containers
      1. Virtual machines
      2. Containers
    3. Installing and configuring Docker
    4. Creating a Tomcat container
    5. Summary
  6. Cloud Computing and Configuration Management
    1. An overview of the Chef configuration management tool
    2. Installing and configuring a Chef workstation
      1. Converging a Chef node using a Chef workstation
      2. Installing software packages using cookbooks
      3. Creating a role
    3. Installing knife plugins for Amazon Web Services and Microsoft Azure
      1. Creating and configuring a virtual machine in Amazon EC2
      2. Creating and configuring a virtual machine in Microsoft Azure
    4. Summary
  7. Continuous Delivery
    1. Continuous delivery in Docker container using Jenkins Plugin
    2. Continuous Delivery in AWS EC2 and Microsoft Azure VM using Script
    3. Continuous delivery in AWS Elastic Beanstalk using Jenkins Plugin
    4. Continuous delivery in Microsoft Azure App Services Using FTP
    5. Continuous delivery in Microsoft Azure App Services Using VSTS
    6. Summary
  8. Automated Testing (Functional and Load Testing)
    1. Functional testing using Selenium
      1. Functional test execution in Jenkins
      2. Load test execution using Jenkins
    2. Load testing using a URL-based test and Apache JMeter for Microsoft Azure
      1. URL-based test
      2. Apache JMeter
    3. Summary
  9. Orchestration - End-to-End Automation
    1. End-to-end automation of application life cycle management using Jenkins
    2. End-to-end automation using Jenkins, Chef, and AWS EC2
      1. Configuring SSH authentication using a key
    3. End-to-end automation using Jenkins and AWS Elastic Beanstalk
    4. End-to end aautomation using Jenkins and Microsoft Azure app services
    5. End-to-end automation orchestration of application life cycle management using VSTS
    6. Summary
  10. Security and Monitoring
    1. Security in Jenkins and VSTS
    2. User management in Jenkins
      1. User management in VSTS
    3. Monitoring Jenkins and Microsoft Azure
      1. Monitoring Jenkins
      2. Azure Web Apps troubleshooting and monitoring
        1. Azure App Services - HTTP live traffic
        2. Azure App Services - CPU and memory consumption
        3. Azure App Services - Activity log
        4. Azure Application Insights for application monitoring
      3. Azure web application monitoring
        1. Diagnostics logs
    4. Summary

Product information

  • Title: DevOps Bootcamp
  • Author(s): Mitesh Soni
  • Release date: May 2017
  • Publisher(s): Packt Publishing
  • ISBN: 9781787285965