Docker High Performance, Second Edition
Espinosa, Allan, McKendrick, Russ
- Reconfigure Docker hosts to create a logging system with the ElasticSearch-Logstash-Kibana (ELK) stack
- Tackle the challenges of large-scale container deployment with this fast-paced guide
- Benchmark the performance of your Docker containers using Apache JMeter
Docker is an enterprise-grade container platform that allows you to build and deploy your apps. Its portable format lets you run your code right from your desktop workstations to popular cloud computing providers. This comprehensive guide will improve your Docker work?ows and ensure your application's production environment runs smoothly.
This book starts with a refresher on setting up and running Docker and details the basic setup for creating a Docker Swarm cluster. You will then learn how to automate this cluster by using Chef Server and Cookbook. After that, you will run the Docker monitoring system with Prometheus and Grafana, and deploy the ELK stack. You will also learn some tips for optimizing Docker images.
After deploying containers with the help of Jenkins, you will then move on to a tutorial on using Apache JMeter to analyze your application's performance. You will learn how to use Docker Swarm and NGINX to load-balance your application and how common debugging tools in Linux can be used to troubleshoot Docker containers.
By the end of this book, you will be able to integrate all the optimizations that you have learned and put everything into practice in your applications.
What you will learn
- Automate provisioning and setting up nodes in a Docker Swarm cluster
- Configure a monitoring system with Prometheus and Grafana
- Use Apache JMeter to create workloads for benchmarking the performance of Docker containers
- Understand how to load-balance an application with Docker Swarm and Nginx
- Deploy strace, tcdump, blktrace, and other Linux debugging tools to troubleshoot containers
- Integrate Docker optimizations for DevOps, Site Reliability Engineering, CI, and CD
Who this book is for
If you are a software developer with a good understanding of managing Docker services and the Linux file system and are looking for ways to optimize working with Docker containers, then this is the book for you. Developers fascinated with containers and workflow automation with benefit from this book.
Allan Espinosa is a DevOps practitioner and an active open source contributor to various distributed system tools, such as Docker and Chef. Allan maintains several Docker images for popular open source software that were popular even before their official release from the upstream open source groups.
Throughout his career, Allan has worked on large distributed systems containing hundreds to thousands of servers in production. He has built scalable applications on various platforms, ranging from large supercomputing centers to production clusters in the enterprise. He is currently managing distributed systems at scale for Bloomberg, where he oversees the company's Hadoop infrastructure. Allan can be contacted through his Twitter handle, @AllanEspinosa.
Russ McKendrick is an experienced system administrator who has been working in IT and related industries for over 25 years. During his career, he has had varied responsibilities, from looking after an entire IT infrastructure to providing first-line, second-line, and senior support in both client-facing and internal teams for large organizations.
Russ supports open source systems and tools on public and private clouds at N4Stack, a Node4 company, where he is the practice manager (SRE and DevOps). In his spare time, he has written several books including Mastering Docker, Learn Ansible and Kubernetes for Serverless Applications, all published by Packt Publishing.
- Preparing Docker Hosts
- Configuring Docker with Chef
- Monitoring Docker
- Optimizing Docker Images
- Deploying Containers
- Load Balancing
- Troubleshooting Containers
- Onto Production