Skip to content

Latest commit

 

History

History
108 lines (72 loc) · 5.58 KB

README.md

File metadata and controls

108 lines (72 loc) · 5.58 KB

DevOps the Hard Way on Azure

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.

🌟 What's Inside?

  • 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.

🎭 The DevOps Scenario

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.

💡 The DevOps Solution

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.

🛠️ Technology Stack

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

🧪 Labs

[ ] Check boxes have been added to each lab to help you keep track of your progress.

Prerequisites

Before you start, ensure you have the following prerequisites in place

  1. Create a Storage Account for Terraform State file
  2. Set up an Azure AD Group for AKS Admins

Main Sections

  1. Terraform - Create all the Azure cloud services needed to run the thomasthornton.cloud application.

  2. Docker - Containerise the thomasthornton.cloud application and store it in Azure Container Registry (ACR).

  3. Kubernetes - Deploy application to AKS and expose the thomasthornton.cloud application to the internet.

  4. Automated Testing Ensure code quality

  5. CICD - Automatically update AKS cluster with CICD using GitHub Actions

🎓 Learning Checkpoints

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?

Conclusion

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.