I deployed a full-stack application using a two-repository CI/CD model, and it completely reshaped how I think about DevOps.
What I Built
A full end-to-end deployment of the Epic Book online bookstore on AWS, split across two repositories and two independent pipelines.
Repo 1: Infrastructure (book-review-infra)
• Terraform code provisioning all my AWS resources
Repo 2: Application (theepicbook)
• Node.js application
• Ansible configuration for automated server setup
Pipeline 1: Infrastructure (Terraform)
• Pulled SSH public key from Azure DevOps Secure Files
• Authenticated to AWS using IAM credentials
• Ran terraform init → plan → apply
• Provisioned VPC, subnets, EC2 instances (frontend + backend), and MySQL RDS
Pipeline 2: Application (Ansible)
• Pulled SSH private key from Secure Files
• Dynamically updated inventory using Terraform outputs
• Configured both servers
• Deployed Epic Book and verified Nginx routing
Everything I built was automated. Not as a nice-to-have, but as the entire point. Having Azure Pipelines and GitHub working together meant I could go from a code push to a live running application without touching a single server manually.
AWS handled my infrastructure. Azure DevOps ran my pipelines. GitHub held my code. Three different platforms, one seamless workflow.
That is what modern DevOps looks like. Not one tool. Not one vendor. Just the right tool for each job, connected deliberately and securely.
Still building. Not stopping.
I want to sincerely thank my mentors, Pravin Mishra, Praveen Pandey, Abhishek Makwana , Mobarak Hosen, Onuche Paul and Nkechi Anna Ahanonye






Top comments (0)