Rapid Docker on AWS
The fastest way to start with Docker on AWS
Our learning experience designed for web developers and DevOps engineers who want to dockerize their web applications and run their Docker containers on Amazon Web Services. Prior knowledge of Docker and AWS is not required. Simple to use and fast to implement!
What you get
Rapid Docker on AWS is not only a book. It’s a rapid way to get your containerized web application up and running on AWS. Rapid Docker on AWS consists of four equally important components:
- The best way to run Docker workloads on AWS
- Our distilled experience from various projects
- Very low operational effort
- To the point (~120 pages)
- Continuously updated
- DRM free PDF, EPUB, MOBI
- Docker examples (PHP, Ruby, Python, Spring Boot, and Node.js)
- Ready to use infrastructure as code templates
- Deployment pipeline for continuous deployment
- 24/7 discussion board
- Peer network for discussion and group learning
- Ask the authors
What you learn
- Running your web application on AWS with Docker: ECS and Fargate.
- Minimizing downtime with health checks and load balancing: ALB.
- Scaling your web application requires a scalable database: RDS Aurora Serverless.
- Minimizing operational effort with managed services.
- Reducing costs and minimizing paying for idle resources.
- Dockerizing your web application (PHP, Ruby, Python, Spring Boot, and Node.js).
- Monitoring and debugging with CloudWatch.
- Securing your web application with HTTPS.
- Leveraging infrastructure as code to automate your stack: AWS CloudFormation.
- Versioning your source code with Git: AWS CodeCommit.
- Deploying your source code and infrastructure continuously: AWS CodeBuild.
Rapid Docker on AWS is not done yet. Here is an overview of the current project status.
- ✅ chapter 1
- ✅ chapter 2
- ✏️ chapter 3
- ✅ chapter 4
- ✅ example: PHP application
- ✏️ example: Ruby application
- ✏️ example: Python application
- ✅ example: Java Spring Boot application
- ✅ example: Node.js Express application
- ✅ discussion board
✅= done, ✏️= in progress, ⌛️= to do
If you buy Rapid Docker on AWS today, you will receive an updated ebook regularly. We plan to finish all chapters until summer 2019. If we fail to finish Rapid Docker on AWS you get your money back.
When designing the Rapid Docker on AWS architecture, we had one goal in mind: a production-ready infrastructure for everyone. The main building blocks are:
- Load Balancing with the Application Load Balancer (ALB)
- Docker with ECS and Fargate
- Database based on Aurora Serverless
Our Rapid Docker on AWS architecture comes with the following benefits:
- Low operational effort
- Ready for the future
- Cost effective
- Highly available
Rapid Docker on AWS guides you through deploying your web application on a highly available, scalable, and cost-effective container-based infrastructure provided by Amazon Web Services (AWS). You will learn to leverage three important DevOps techniques—Docker, continuous deployment, and infrastructure as code—to automate the process of deploying your Docker containers and infrastructure to AWS when changes are committed to your source code repository.
The book introduces an architecture consisting of a load balancer, a container cluster, and a scalable relational database. All used AWS building blocks are fully managed services requiring minimal operational effort. You will learn to scale the whole stack, including: the Docker containers, the database, and the load balancer. The architecture minimizes your costs for idle components.
You will learn how to bundle your web application into a Docker image by using a Dockerfile. Furthermore, you'll get access to templates for the cloud infrastructure already defined in code. On top of that, the book ships together with a template for a delivery pipeline, allowing you to deploy your web application as well as the underlying infrastructure after every commit to your source code repository.
The book and templates allow you to dockerize and deploy your web application (PHP, Ruby, Python, Spring Boot, and Node.js) on a production-ready infrastructure within a day. The templates leverage the CloudFormation modules provided by the open-source project cfn-modules.
In summary, you will get to know the following services in this book: ECS, Fargate, ALB, RDS Aurora Serverless, CloudFormation, CodeCommit, CodeBuild, CloudWatch Logs, and ECR.
Table of Contents
- Introducing the highly available, scalable, and cost effective architecture
- Benefits of the architecture
- Overview of the architecture
- Preparing your machine
- Launching the demo infrastructure and application
- Dockerizing and spinning up your own web application
- Getting started with Docker
- Building the Docker image for your web application
- Pushing your Docker image to the Amazon ECR registry
- Launching your web application
- Mastering the building blocks of the cloud infrastructure
- Managing your stack with infrastructure as code: AWS CloudFormation
- Load-balancing requests to your containers: Amazon ALB
- Managing and running your containers: ECS and Fargate
- Storing and querying your data: RDS Aurora Serverless
- Monitoring and debugging: CloudWatch
- Configuring a custom domain name and HTTPS: Route 53 and Certificate Manager
- Running scheduled jobs (cron) in the background
- Deploying your source code and infrastructure continuously
- Versioning your source code with Git: AWS CodeCommit
- Setting up a deployment pipeline: AWS CodeBuild
We provide you with Docker examples for different languages and frameworks (PHP, Ruby, Python, Spring Boot, and Node.js). Those examples help you to dockerize your own web application.
You also get ready to use CloudFormation templates for the infrastructure and deployment pipeline. The CloudFormation templates are based on our healthy open source project cfn-modules.
Incident Management for Slack
Team up to solve incidents with our chatbot marbot. Never miss a critical alert. Escalate alerts from your AWS infrastructure among your team members. Strong integrations with all parts of your AWS infrastructure: CloudWatch, Elastic Beanstalk, RDS, EC2, ...