Full Stack CI/CD of Kubernetes Microservices: Azure DevOps and Terraform IaC Journey
Welcome to our presentation on revolutionizing DevOps practices in regulated industries. We'll explore Medtronic's CRHF division's transformative journey from legacy systems to cloud-based microservices, leveraging Azure DevOps and Terraform.
This session will cover our experiences, challenges, and solutions in merging IT Ops with Software DevOps, automating infrastructure deployment, and streamlining our CI/CD pipeline. Get ready for insights that will reshape your approach to DevOps in regulated environments.

by Isaac Johnson

The Challenge: Merging IT Ops and Software DevOps

1

2

3

4

1

Cultural Shift
Overcoming siloed mindsets

2

Skill Integration
Bridging knowledge gaps

3

Process Alignment
Harmonizing workflows

4

Tool Consolidation
Unifying disparate systems
Merging IT Ops and Software DevOps groups presented a formidable challenge for Medtronic's CRHF division. We had to navigate through cultural differences, integrate diverse skill sets, align processes, and consolidate tools. This fusion was crucial for our transition to cloud-based microservices and streamlined DevOps practices.
From Legacy to Cloud: Our Transformation Journey

1

Legacy TFS
On-premises builds with Octopus Deploy

2

Transition Phase
Hybrid cloud and on-prem solutions

3

Azure DevOps
Cloud-based CI/CD with containerization

4

Kubernetes
AKS clusters for microservices hosting
Our journey from legacy systems to cloud-based DevOps was a gradual but transformative process. We moved from on-premises TFS builds and Octopus Deploy to a fully cloud-based solution with Azure DevOps. This shift enabled us to leverage containerization and Kubernetes, specifically AKS clusters, to host our next-gen microservices efficiently.
Embracing Infrastructure as Code with Terraform
Consistency
Terraform ensures uniform infrastructure across environments, reducing configuration drift and human errors.
Scalability
Easily scale up or down infrastructure resources to meet changing demands efficiently.
Version Control
Infrastructure changes are tracked, reviewed, and rolled back if necessary, enhancing collaboration and compliance.
Automation
Reduce manual interventions, speeding up deployments and minimizing human errors in the process.
Adopting Terraform for Infrastructure as Code (IaC) was a game-changer in our DevOps transformation. It allowed us to automate the creation and management of our AKS clusters and associated infrastructure, ensuring consistency across environments and facilitating easier scaling and management of our cloud resources.
Azure DevOps: Powering Our CI/CD Pipeline
1
Source Control
Git repositories for code and IaC
2
Build Pipelines
Automated builds with containerization
3
Release Management
Controlled, staged deployments
4
Testing Integration
Automated testing at every stage
Azure DevOps became the cornerstone of our CI/CD pipeline, offering a comprehensive suite of tools for our development lifecycle. We leveraged its Git repositories for version control, build pipelines for automated containerized builds, release management for controlled deployments, and integrated testing at every stage. This streamlined our development process, improved code quality, and accelerated our time to market.
Reusable Components: Task Groups and Repo Automation
Modular Design
Breaking down complex processes into reusable task groups
Consistency
Ensuring uniform processes across projects and teams
Efficiency
Speeding up pipeline creation and maintenance
Compliance
Easier adherence to regulatory requirements
We bid farewell to Groovy scripts and embraced Azure DevOps' powerful task groups and repo automation features. These reusable components allowed us to create modular, consistent, and efficient pipelines. For a highly regulated business like Medtronic, this approach significantly eased our compliance efforts while accelerating our development processes.
Overcoming Regulatory Challenges in DevOps
Automated Compliance Checks
We integrated automated compliance checks into our CI/CD pipeline, ensuring that every build and deployment meets FDA regulations. This includes code quality checks, security scans, and documentation generation.
Audit Trails and Traceability
Azure DevOps' robust logging and tracing capabilities allowed us to maintain comprehensive audit trails. Every code change, build, and deployment is meticulously tracked, satisfying regulatory requirements for traceability.
Controlled Environments
We implemented strict access controls and environment separation using Azure DevOps' built-in features. This ensures that development, testing, and production environments remain isolated, maintaining the integrity of our regulated systems.
Key Takeaways and Future Directions

Embrace Cloud-Native Tools
Leveraging Azure DevOps and Terraform significantly improved our DevOps capabilities, even in a regulated environment.

Invest in Infrastructure as Code
IaC with Terraform proved invaluable for consistency, scalability, and compliance in our infrastructure management.

Prioritize Reusability
Task groups and repo automation in Azure DevOps enhanced efficiency and maintained compliance across our projects.

Continuous Learning
Stay adaptable and open to new technologies and practices to keep improving your DevOps processes.
As we look to the future, we're excited about further optimizing our CI/CD pipelines, exploring advanced AKS features, and potentially integrating AI-driven operations. Remember, successful DevOps in regulated industries is a journey of continuous improvement and adaptation.
Made with Gamma