Cloud-Native Continuous Integration and Delivery

Book description

This course teaches concepts by deep-dive on-hand exercises. Throughout the course, you will learn the required toolset by using both on-premise, open-source, and hosted cloud solutions. You'll find checklists, best practices, and critical points mentioned throughout the lessons, making things more interesting.

Key Features

  • Explains in detail cloud-native continuous integration and delivery
  • Demonstrates how to run a build in a CI/CD system
  • Shows continuous delivery to Docker Registry and continuous deployment to Kubernetes

Book Description

Cloud-native software development is based on developing distributed applications focusing on speed, stability, and high availability. With this paradigm shift, software development has changed substantially and converted into a more agile environment where distributed teams develop distributed applications. In addition, the environment where the software is built, tested and deployed has changed from bare-metal servers to cloud systems. In this course, the new concepts of cloud-native Continuous Integration and Delivery are discussed in depth. Cloud-native tooling and services such as cloud providers (AWS, Google Cloud) containerization with Docker, container-orchestrators such as Kubernetes will be a part of this course to teach how to analyze and design modern software delivery pipelines.

What you will learn

  • Learn the basics of DevOps patterns for cloud-native architecture
  • Learn the cloud-native way of designing CI/CD systems
  • Create multi-stage builds and tests for Docker.
  • Apply the best practices for Docker container images
  • Experiment using GitLab CI/CD pipelines for continuous integration
  • Build and test their applications on cloud
  • Learn how to continuously deliver to Docker registry
  • Learn how to continuously deploy to Kubernetes
  • Experiment using GitLab CI/CD pipelines for Continuous Delivery
  • Configure and deploy software to Kubernetes using Helm

Who this book is for

This book is ideal for professionals interested in cloud-native software development. To benefit the most from this book, you must be familiar with developing, building, testing, integrating, and deploying containerized microservices into cloud systems.

Publisher resources

Download Example Code

Table of contents

  1. Preface
    1. About the Book
      1. About the Author
      2. Objectives
      3. Audience
      4. Approach
      5. Hardware Requirements
      6. Software Requirements
      7. Installation and Setup
      8. Installing the Code Bundle
      9. Conventions
      10. Additional Resources
  2. Cloud-Native CI/CD Concepts
    1. Introduction to Cloud-Native CI/CD Concepts
    2. DevOps Culture
      1. DevOps Practices
      2. DevOps Toolchain
    3. Cloud-Native Architecture
      1. Cloud-Native Application Characteristics
    4. DevOps Patterns for Cloud-Native Architecture
    5. Choosing the best CI/CD tools
      1. Exercise 1: Building, Deploying, and Updating Your Blog in the Cloud
    6. Summary
  3. Cloud-Native Continuous Integration
    1. Introduction
      1. Cloud-Native Continuous Integration
    2. Container Technology
      1. Linux Containers
    3. Testing Cloud-Native Applications
      1. Static Code Analysis
      2. Exercise 2: Performing Static Code Analysis in Containers
      3. Unit Testing
      4. Exercise 3: Performing Unit Testing for Microservices
      5. Smoke Testing
      6. Exercise 4: Performing Smoke Tests for Microservices
      7. Integration Testing
      8. Exercise 5: Performing Integration Testing for Microservices
    4. Building Cloud-Native Applications
      1. Exercise 6: Creating Multi-Stage Docker Builds
      2. Checklist for Cloud-Native CI Design
      3. Activity 1: Building a CI Pipeline for Cloud-Native Microservices
    5. Summary
  4. Cloud-Native Continuous Delivery and Deployment
    1. Introduction
    2. Continuous Delivery of Containers
      1. Versioning Container Images
      2. Exercise 7: Versioning Docker Images
      3. Delivering Container Images
      4. Exercise 8: Using a Self-Hosted Docker Registry
      5. Exercise 9: Using a Secure Cloud Docker Registry
      6. Cloud-Native Continuous Deployment
      7. Kubernetes
      8. Exercise 10: Creating a Kubernetes Cluster
      9. Helm
      10. Exercise 11: Deploying Applications Using Helm
      11. Cloud-Native Deployment Strategies
      12. Exercise 12: Implementing the Rolling Update Strategy Using Helm
    3. Checklist for Cloud-Native CD Design
      1. Activity 2: Building a Continuous Delivery/Deployment Pipeline for Cloud‑Native Microservices
    4. Summary
  5. Appendix
    1. Chapter 2: Cloud-Native Continuous Integration
      1. Solution for Activity 1: Building a CI Pipeline for Cloud-Native Microservices
    2. Chapter 3: Cloud-Native Continuous Delivery and Deployment
      1. Solution for Activity 2: Continuous Delivery/Deployment Pipeline for Cloud-Native Microservices

Product information

  • Title: Cloud-Native Continuous Integration and Delivery
  • Author(s): Onur Yilmaz
  • Release date: December 2018
  • Publisher(s): Packt Publishing
  • ISBN: 9781789805659