<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Abiodun Ibrahim</title>
    <description>The latest articles on DEV Community by Abiodun Ibrahim (@adeyemi_adeoye_2af3f5d1b4).</description>
    <link>https://dev.to/adeyemi_adeoye_2af3f5d1b4</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3998239%2Fc74d1f15-a828-4b28-80fc-b9b78579c7e4.png</url>
      <title>DEV Community: Abiodun Ibrahim</title>
      <link>https://dev.to/adeyemi_adeoye_2af3f5d1b4</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/adeyemi_adeoye_2af3f5d1b4"/>
    <language>en</language>
    <item>
      <title>Building a Cloud-Native Spring PetClinic Platform with Terraform, Kubernetes, AWS ECR, and GitOps: My DMI Group 4 Experience</title>
      <dc:creator>Abiodun Ibrahim</dc:creator>
      <pubDate>Tue, 23 Jun 2026 08:00:40 +0000</pubDate>
      <link>https://dev.to/adeyemi_adeoye_2af3f5d1b4/building-a-cloud-native-spring-petclinic-platform-with-terraform-kubernetes-aws-ecr-and-gitops-48kn</link>
      <guid>https://dev.to/adeyemi_adeoye_2af3f5d1b4/building-a-cloud-native-spring-petclinic-platform-with-terraform-kubernetes-aws-ecr-and-gitops-48kn</guid>
      <description>&lt;p&gt;As part of the DevOps Micro Internship (DMI), I had the opportunity to work with Group 4 on designing, implementing, and presenting a cloud-native Spring PetClinic Microservices Platform. This project provided hands-on experience with modern DevOps practices, cloud infrastructure, containerization, Kubernetes, GitOps, and team collaboration&lt;/p&gt;

&lt;h2&gt;
  
  
  Project Overview
&lt;/h2&gt;

&lt;p&gt;The objective of the project was to build and deploy a production-style infrastructure capable of hosting the Spring PetClinic Microservices application. Rather than focusing solely on application development, our team concentrated on the infrastructure, deployment automation, and operational aspects required to run microservices in a cloud-native environment.&lt;/p&gt;

&lt;h2&gt;
  
  
  The platform architecture included:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Terraform for Infrastructure as Code (IaC)&lt;/li&gt;
&lt;li&gt;AWS EKS for Kubernetes orchestration&lt;/li&gt;
&lt;li&gt;AWS ECR for container image management&lt;/li&gt;
&lt;li&gt;Docker for application containerization&lt;/li&gt;
&lt;li&gt;ArgoCD for GitOps-based continuous deployment&lt;/li&gt;
&lt;li&gt;GitHub Actions for CI workflows&lt;/li&gt;
&lt;li&gt;Helm Charts for Kubernetes application packaging&lt;/li&gt;
&lt;li&gt;Prometheus and Grafana for monitoring and observability&lt;/li&gt;
&lt;li&gt;Route 53, ACM, Secrets Manager, and supporting AWS services&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The project followed modern DevOps principles by automating infrastructure provisioning, container image management, deployment workflows, and monitoring.&lt;/p&gt;

&lt;h2&gt;
  
  
  My Role and Contributions
&lt;/h2&gt;

&lt;p&gt;During the project, I served as both a Scrum Master and Infrastructure Contributor.&lt;/p&gt;

&lt;h2&gt;
  
  
  My responsibilities included:
&lt;/h2&gt;

&lt;p&gt;Managing sprint planning and task tracking using Jira.&lt;br&gt;
Coordinating team activities and ensuring sprint objectives were met &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt; Reviewing and improving existing Terraform configurations&lt;/li&gt;
&lt;li&gt; Implementing AWS ECR repository provisioning using Terraform&lt;/li&gt;
&lt;li&gt; Working with Git branches, commits, and Pull Requests&lt;/li&gt;
&lt;li&gt; Building and validating Docker images for all nine Spring    PetClinic microservices.&lt;/li&gt;
&lt;li&gt; Tagging images using Git commit SHA values&lt;/li&gt;
&lt;li&gt; Verifying successful image deployment to AWS ECR repositories&lt;/li&gt;
&lt;li&gt; Supporting CI/CD build and push workflows&lt;/li&gt;
&lt;li&gt; Participating in code reviews and project presentati &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;One important lesson I learned was the value of understanding and improving existing code written by other engineers. Before implementing my changes, I had to review the existing Terraform codebase, understand its structure, identify configuration issues, and ensure my work aligned with the team’s architecture&lt;br&gt;
Technical Challenge&lt;/p&gt;

&lt;p&gt;One of the most significant challenges I encountered involved AWS Identity and Access Management (IAM) permissions.&lt;br&gt;
Become a Medium member&lt;/p&gt;

&lt;p&gt;After successfully building and tagging the Docker images, I was unable to push them to AWS ECR repositories due to insufficient permissions on my AWS account. Initially, it appeared that the issue might be related to Docker configuration or ECR setup.&lt;/p&gt;

&lt;p&gt;After investigating logs and validating the infrastructure, I confirmed that the root cause was an IAM permission restriction. I collaborated with the AWS Account Administrator to review my access rights and obtain the required permissions. Once access was granted, I successfully pushed the images and verified their availability within ECR.&lt;/p&gt;

&lt;p&gt;This experience provided valuable exposure to AWS security controls, IAM troubleshooting, and cloud infrastructure operations.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Went Well
&lt;/h2&gt;

&lt;p&gt;Several aspects of the project contributed to its success:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Strong collaboration among team members&lt;/li&gt;
&lt;li&gt;Effective sprint planning and task tracking through Jira&lt;/li&gt;
&lt;li&gt;Successful implementation of Infrastructure as Code using Terraform&lt;/li&gt;
&lt;li&gt;Reliable Docker image build and ECR deployment workflow&lt;/li&gt;
&lt;li&gt;Proper Git branching, Pull Request, and review practices&lt;/li&gt;
&lt;li&gt;Adoption of Kubernetes and GitOps deployment principles&lt;/li&gt;
&lt;li&gt;Comprehensive monitoring using Prometheus and Grafana&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Working in a collaborative DevOps environment exposed me to workflows and problem-solving approaches that would have been difficult to experience while working independently.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Would Do Differently
&lt;/h2&gt;

&lt;p&gt;If I were to repeat the project, I would focus on validating AWS IAM permissions earlier in the implementation process to reduce deployment delays.&lt;/p&gt;

&lt;p&gt;I would also introduce additional automated checks within the CI pipeline to detect infrastructure and deployment issues earlier. Improving documentation around environment setup and access requirements would further streamline onboarding for future contributors.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Takeaways
&lt;/h2&gt;

&lt;p&gt;This project reinforced the importance of collaboration, automation, and continuous learning within DevOps teams. Beyond technical implementation, I gained practical experience in communication, infrastructure troubleshooting, Git workflows, cloud security, and team-based software delivery.&lt;/p&gt;

&lt;p&gt;The experience strengthened my understanding of Terraform, AWS ECR, Docker, Kubernetes, GitOps, and CI/CD practices while demonstrating how modern cloud-native platforms are built and maintained.&lt;br&gt;
Acknowledgements&lt;/p&gt;

&lt;p&gt;I would like to thank our mentors and facilitators, Pravin Mishra and Praveen Pandey, for their guidance throughout the program.&lt;/p&gt;

&lt;p&gt;Special appreciation also goes to Onuche Paul and Anjana Muthunayake for their support and coordination.&lt;/p&gt;

&lt;p&gt;Finally, I would like to thank my Group 4 teammates for their collaboration, code reviews, presentations, troubleshooting efforts, and shared learning throughout the project&lt;br&gt;
About DMI&lt;/p&gt;

&lt;p&gt;This project was completed as part of the DevOps Micro Internship (DMI).&lt;/p&gt;

&lt;p&gt;If you are interested in developing practical skills in DevOps, Cloud Engineering, Terraform, Kubernetes, AWS, GitOps, and CI/CD, learn more about DMI here:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://docs.google.com/forms/d/e/1FAIpQLSel7ai7nyb0P1qLW4vEyfB_nEsD4lUF1XG88vmAaFGBOb6hPA/viewform" rel="noopener noreferrer"&gt;https://docs.google.com/forms/d/e/1FAIpQLSel7ai7nyb0P1qLW4vEyfB_nEsD4lUF1XG88vmAaFGBOb6hPA/viewform&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Project Repository:&lt;br&gt;
&lt;a href="https://github.com/spring-petclinic-Group-4-DMI/spring-petclinic-Group-4-infra.git" rel="noopener noreferrer"&gt;https://github.com/spring-petclinic-Group-4-DMI/spring-petclinic-Group-4-infra.git&lt;/a&gt;&lt;/p&gt;

</description>
      <category>devops</category>
      <category>aws</category>
      <category>kubernetes</category>
      <category>terraform</category>
    </item>
  </channel>
</rss>
