
Capstone Part 1: Architecture and Planning
The big picture. Define the requirements, architecture, and technology stack for your final Enterprise CI/CD project: 'GlobalHealth Connect'.
Capstone Part 1: Architecture and Planning
Welcome to your Capstone Project. In this final module, you will build a professional-grade pipeline for "GlobalHealth Connect"—a multi-service application that handles patient records and appointment scheduling.
1. The Scenario
GlobalHealth Connect consists of:
- Backend: Node.js/TypeScript API.
- Frontend: React client.
- Database: Postgres (with migrations).
- Requirement: Must be secure (HIPAA-like standards), fast, and support zero-downtime deployments.
2. The Pipeline Architecture
We will implement a Modular Parent/Child Pipeline (Review Module 10):
- Stage 1: Prep: Linting and Secret Detection.
- Stage 2: Build: Parallel Docker image creation for Front and Back.
- Stage 3: Test: Unit and Integration tests with Postgres service.
- Stage 4: Security: SAST and Dependency scans.
- Stage 5: Deploy-Staging: Automated to K8s/Docker.
- Stage 6: Deploy-Prod: Manual trigger with Approval Rules.
Visualizing the Process
graph TD
Start[Input] --> Process[Processing]
Process --> Decision{Check}
Decision -->|Success| End[Complete]
Decision -->|Retry| Process
3. Technology Stack
- SCM: GitLab
- Containerization: Docker & Kaniko
- Testing: Jest & Supertest
- Registry: GitLab Container Registry
- Provisioning: Terraform (Simulated)
4. Today's Task: The Infrastructure Map
Before you write code, you must define your "Secrets" (Variables).
- DOCKER_AUTH: For pushing images.
- SSH_PRIVATE_KEY: For deployment.
- DB_PASSWORD: (Scoped to environments).
Exercise: The Architect's Blueprint
- Draw a flowchart (or use Mermaid) showing the 6 stages of the GlobalHealth pipeline.
- Identify a "Single Point of Failure" in this architecture. How would you fix it? (Hint: Review Module 10).
- Why did we choose Kaniko instead of DinD for the
buildstage? - Write down the 5 most important "Quality Gates" you will implement in this project based on what you learned in Module 5.
Summary
Part 1 is about Intention. By spending time planning the architecture, secrets, and stages of GlobalHealth Connect, you ensure that the actual "Coding" of the YAML in Part 2 is smooth and logical.
Next Lesson: Part 2: Building the Multi-Stage Pipeline.