
Module 15 Lesson 1: Capstone Project: Enterprise System
The ultimate challenge. Apply every skill you've learned to design and build a secure, scalable, and automated multi-tier architecture for a fictional global company.
Module 15: Capstone Project
Welcome to the Capstone Project. This is where you prove that you are not just a "Docker User," but a Docker Architect.
1. The Scenario: "GlobalHealth Connect"
You have been hired as the Lead DevOps Engineer for GlobalHealth Connect, a telemedicine platform. They need a system that handles:
- Patient UI: A React frontend for patients to book appointments.
- Doctor API: A Python backend that handles sensitive medical data.
- Audit Logger: A background worker that logs every action for legal compliance.
- Database: A secure Postgres database for patient records.
- Cache: A Redis instance for fast session lookups.
2. Your Mission Requirements
To pass this capstone, your solution must implement:
- Security: No service should run as root. The Database must be on an internal-only network.
- Secrets: Database passwords must not be in the Compose file.
- Reliability: Every service must have a healthcheck and a restart policy.
- Performance: The Frontend must be served via Nginx and use a multi-stage build.
- Automation: You must provide a "Deploy" script that cleans up old containers and updates the stack with one command.
3. The Architecture Diagram
graph TD
User([User's Browser]) -->|HTTPS| Gateway[Nginx Gateway]
Gateway -->|Port 80| UI[React Frontend]
Gateway -->|API/| API[Python Backend]
subgraph "Private Network"
API -->|Secure Link| DB[(Postgres Database)]
API -->|Cache Link| Redis[(Redis Cache)]
API -->|Task queue| Worker[Audit Logger]
Worker -->|Audit Link| DB
end
4. Part 1: Initial Design
Before writing code, answer these architectural questions:
- How many separate Docker Networks will you use? Why?
- Which service needs a Named Volume? Which one can use an Anonymous Volume?
- How will you handle a "Traffic Spike" if 100,000 patients log in at once? (Which service should you scale?)
5. Next Steps
In the following lessons, we will build each piece of this puzzle. By the end of this module, you will have a production-ready repository that you can show during interviews to prove your container expertise.
Next Lesson: Foundation: Implementing the Infrastructure (Compose, Secrets, Networks).