Welcome to the DevOps the Hard Way on Azure tutorial! 🚀
This comprehensive guide provides a real-world solution for implementing DevOps practices and technologies to deploy applications and cloud services/infrastructure on Microsoft Azure.
- Free labs
- Detailed documentation
- Step-by-step guides
All designed to help you set up a complete DevOps environment from a real-world perspective in Azure.
Imagine this: You've just joined a company stuck in the past. They're drowning in:
- Bare metal servers
- Manual deployments
- Outdated IT practices
Your mission, should you choose to accept it:
Modernise everything. Make the organisation not just succeed, but lead the pack.
We're going to deploy the thomasthornton.cloud application, transforming it from a bare-metal application to a DevOps masterpiece.
🔍 Note: As a DevOps/Platform Engineer, your focus is on deployment, not application development. That's why we're using an existing app for this tutorial.
Get ready to utilise a range of cutting-edge technologies and platforms to establish your DevOps environment:
Technology | Purpose |
---|---|
Azure | Cloud hosting and services |
GitHub | Code repository |
Python | Application and automation |
Terraform | Infrastructure as Code |
Docker | Containerisation |
Kubernetes (AKS) | Container orchestration |
GitHub Actions | CI/CD |
Checkov | Automated testing |
[ ] Check boxes have been added to each lab to help you keep track of your progress.
Before you start, ensure you have the following prerequisites in place
-
Terraform - Create all the Azure cloud services needed to run the thomasthornton.cloud application.
-
Docker - Containerise the thomasthornton.cloud application and store it in Azure Container Registry (ACR).
-
Kubernetes - Deploy application to AKS and expose the thomasthornton.cloud application to the internet.
-
Automated Testing Ensure code quality
-
CICD - Automatically update AKS cluster with CICD using GitHub Actions
After each section, test your understanding:
- [ ] Can you explain why we're using a remote state for Terraform?
- [ ] What's the significance of containerising the app?
- [ ] How does AKS simplify Kubernetes management?
- [ ] Why is automated testing crucial in a DevOps pipeline?
- [ ] How does CI/CD improve the deployment process?
By following this tutorial, you'll not only deploy an example app on Azure but also gain valuable insights into modern DevOps practices and tools.
Let's embark on this journey to transform your organisation into a lean, agile, and competitive force in the digital landscape. Happy deploying! 🚀🔧
By completing this tutorial, you'll:
- Deploy a real-world app on Azure
- Master essential DevOps tools and practices
- Transform your organisation's IT landscape
Are you ready to embark on this DevOps journey? Let's turn that monolithic infrastructure into a lean, mean, deploying machine! 💪🚀 📣
I value your feedback! If you find any issues or have suggestions for improvement, please open an issue or submit a pull request.