Implementing Modern DevOps

Book description

Help your organization join the DevOps revolution

About This Book

  • Helps you skill up your DevOps knowledge without a strong set of prerequisites
  • Deliver continuously improved software by showcasing the most advanced tools and techniques
  • Acquire a deeper insight into implementing DevOps in your organization and deliver results from day 1

Who This Book Is For

This book is written for engineers and companies that want to learn the minimum set of required technologies and processes to be successful in the DevOps world.

This book also targets system administrators, developers, and IT professionals who would like to employ DevOps techniques and best practices to manage IT infrastructures or would like to acquire the necessary skills needed to work in DevOps teams.

What You Will Learn

  • Master development best practices.
  • Understand how the Agile Delivery Methodology helps you ensure accuracy and quality.
  • Analyze branching strategies such as branch creation, merging, and synchronization.
  • Learn to automate builds to deploy and deliver code faster and more often
  • Explore testing frameworks and how to automate testing
  • Learn to put specific metrics in place to measure ROI of DevOps and monitor logs and events in a system

In Detail

This book follows a unique approach to modern DevOps using cutting-edge tools and technologies such as Ansible, Kubernetes, and Google Cloud Platform.

This book starts by explaining the organizational alignment that has to happen in every company that wants to implement DevOps in order to be effective, and the use of cloud datacenters in combination with the most advanced DevOps tools to get the best out of a small team of skilled engineers. It also delves into how to use Kubernetes to run your applications in Google Cloud Platform, minimizing the friction and hassle of maintaining a cluster but ensuring its high availability.

By the end of this book, you will be able to realign teams in your company and create a Continuous Delivery pipeline with Kubernetes and Docker. With strong monitoring in place, you will also be able to react to adverse events in your system, minimizing downtime and improving the overall up-time and stability of your system.

Style and approach

This book takes a step-by-step practical approach to the implementation of DevOps. This book will teach you how to enable IT organizations to deliver faster and smarter through a unique approach using Code-Build-Test-Release-Configure-Monitor (CBTRCM).

Table of contents

  1. 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
  2. DevOps in the Real World
    1. What is DevOps?
      1. DevOps origins
      2. DevOps and corporations
    2. Traditional release management
      1. Chain of communication
      2. The cost of fixing a bug
      3. Releasing new versions
    3. Modern release management
      1. Agile development and communication
      2. Releasing new versions
    4. DevOps and microservices
    5. DevOps: Organizational alignment
    6. What to expect from this book
    7. Summary
  3. Cloud Data Centers - The New Reality
    1. Amazon Web Services
      1. EC2 - computing service
        1. Launching an instance
        2. Relational Database Service
        3. Networking in AWS and EC2
        4. Storage in AWS and EC2
      2. Amazon S3
      3. Amazon ECR and ECS
        1. Creating a cluster
      4. Other services
        1. Route 53
        2. CloudFront
        3. Amazon ElasticCache
        4. Amazon RDS
        5. DynamoDB
    2. Google Cloud Platform
      1. Google Compute Engine
        1. Standard machine types
        2. High-memory machine types
        3. High-CPU machine types
        4. Shared-core machine types
        5. Custom machines and GPU processing
        6. Launching an instance
        7. Networking
      2. Google Container Engine
        1. Setting up a cluster
      3. Other Google Cloud Platform products
        1. Google App Engine
        2. Machine Learning APIs
        3. Big data
    3. Other cloud providers
      1. Heroku
      2. DigitalOcean
      3. Azure
    4. Summary
  4. Docker
    1. Docker architecture
      1. Docker internals
    2. Docker client
    3. Building Docker images
      1. Dockerfile reference
    4. Docker registries
      1. Public registries
      2. Private registries
    5. Docker volumes
    6. Docker networking
      1. User-defined networks
    7. Docker Compose
    8. Summary
  5. Continuous Integration
    1. Software development life cycle
    2. Testing types
    3. Traditional CI servers
      1. Bamboo
      2. Jenkins
        1. Secrets Management
    4. Modern CI servers
      1. Drone CI
        1. Installing Drone
        2. Running builds
        3. Executing pipelines
        4. Other features
    5. Summary
  6. Infrastructure as Code
    1. Google Cloud Platform SDK -  gcloud
      1. Creating resources with Google Cloud SDK
    2. Terraform
      1. Creating resources
      2. Remote state management
      3. Modifying your infrastructure
      4. Terraform variables
      5. Terraform outputs
    3. Summary
  7. Server Provisioning
    1. Server provision software
      1. Chef
      2. Puppet
      3. Ansible
    2. Ansible
      1. Ansible configuration
      2. Ansible variables, remote facts and templates
        1. Ansible variables
        2. Ansible remote facts
        3. Ansible templates
        4. Flow control
      3. Roles
    3. Ansible Tower
    4. Summary
  8. Docker Swarm and Kubernetes - Clustering Infrastructure
    1. Why clustering ?
    2. Docker Swarm
    3. Kubernetes
      1. Kubernetes logical architecture
      2. Setting up a cluster in GCP
      3. Kubernetes building blocks
        1. Pods
          1. Deploying a pod
        2. Replica Sets
        3. Deployments
        4. Services
        5. Other Building Blocks
          1. Daemon Sets
          2. PetSets
          3. Jobs
        6. Secrets and configuration management
        7. Kubernetes- moving on
    4. Summary
  9. Release Management – Continuous Delivery
    1. Playing against the statistics
    2. The test system
      1. ISO date and UTC date services
      2. Aggregator service
      3. Pushing the images to Google Container Registry
    3. Setting up a continuous delivery pipeline for images
    4. Setting up Jenkins
    5. Continuous delivery for your application
      1. Regular release
      2. Blue-green deployment
      3. Canary deployment
    6. Summary
  10. Monitoring
    1. Introduction
    2. Types of monitoring
      1. Blackbox monitoring
      2. Whitebox monitoring
    3. Monitoring third-party tools
      1. Pingdom
      2. Logentries
      3. AppDynamics
    4. Stackdriver
      1. Monitoring applications
      2. Monitoring Kubernetes clusters
    5. Summary
      1. What is next?

Product information

  • Title: Implementing Modern DevOps
  • Author(s): David Gonzalez
  • Release date: October 2017
  • Publisher(s): Packt Publishing
  • ISBN: 9781786466877