Hands-on Docker for microservices with Python design, deploy, and operate a complex system with multiple microservices using Docker and Kubernetes

Microservices architecture helps create a complex system that can be maintained by independent teams working in parallel. You'll learn how to structure big systems, encapsulate them using Docker, and deploy them using Kubernetes. By the end of this book, you'll know how to design, deploy a...

Full description

Bibliographic Details
Main Author: Buelta, Jaimie
Format: eBook
Language:English
Published: Birmingham Packt Publishing 2019
Subjects:
Online Access:
Collection: O'Reilly - Collection details see MPG.ReNa
Table of Contents:
  • Chapter 3: Build, Run, and Test Your Service Using Docker
  • Technical requirements
  • Building your service with a Dockerfile
  • Executing commands
  • Understanding the Docker cache
  • Building a web service container
  • Configuring uWSGI
  • Refreshing Docker commands
  • Operating with an immutable container
  • Testing the container
  • Creating a PostgreSQL database container
  • Configuring your service
  • Deploying the Docker service locally
  • Pushing your Docker image to a remote registry
  • Obtaining public images from Docker Hub
  • Using tags
  • Pushing into a registry
  • Summary
  • Questions
  • Further reading
  • Chapter 4: Creating a Pipeline and Workflow
  • Technical requirements
  • Understanding continuous integration practices
  • Producing automated builds
  • Knowing the advantages of using Docker for builds
  • Leveraging the pipeline concept
  • Branching, merging, and ensuring a clear main build
  • Configuring Travis CI
  • Adding a repo to Travis CI
  • Creating the .travis.yml file
  • Working with Travis jobs
  • Sending notifications
  • Configuring GitHub
  • Pushing Docker images from Travis CI
  • Setting the secret variables
  • Tagging and pushing builds
  • Strategic planning to break the monolith
  • The replacement approach
  • The divide approach
  • Change and structured approach
  • Executing the move
  • Web services' best friend
  • the load balancer
  • Keeping the balance between new and old
  • The pilot phase
  • setting up the first couple of microservices
  • The consolidation phase
  • steady migration to microservices
  • The final phase
  • the microservices shop
  • Summary
  • Questions
  • Further reading
  • Section 2: Designing and Operating a Single Service
  • Creating a Docker Container
  • Chapter 2: Creating a REST Service with Python
  • Cover
  • Title Page
  • Copyright and Credits
  • Dedication
  • About Packt
  • Contributors
  • Table of Contents
  • Preface
  • Section 1: Introduction to Microservices
  • Chapter 1: Making the Move
  • Design, Plan, and Execute
  • Technical requirements
  • The traditional monolith approach and its problems
  • The characteristics of a microservices approach
  • Docker containers
  • Container orchestration and Kubernetes
  • Parallel deployment and development speed
  • Challenges and red flags
  • Analyzing the current system
  • Preparing and adapting by measuring usage
  • Technical requirements
  • Analyzing the Thoughts Backend microservice
  • Understanding the security layer
  • Designing the RESTful API
  • Specifying the API endpoints
  • Defining the database schema
  • Working with SQLAlchemy
  • Implementing the service
  • Introducing Flask-RESTPlus
  • Handling resources
  • Parsing input parameters
  • Serializing results
  • Performing the action
  • Authenticating the requests
  • Testing the code
  • Defining the pytest fixtures
  • Understanding test_token_validation.py
  • test_thoughts.py
  • Summary
  • Questions
  • Further reading
  • Includes bibliographical references