This blog is about exploring what we can do when starting from scratch in the Azure cloud, allowing us to understand what it’s like to be ‘born in the cloud’. There are 3 main pillars of focus in this project: building infrastructure, developing features with DevOps, and using monitoring to generate feedback
- Building infrastructure: using Azure and infrastructure as code
with “ARM templates”, create a secure, scalable, and reliable web solution:
- Developing features with DevOps: using Azure DevOps and Visual Studio, create a workflow to streamline the delivery of value to end users, using Kanban boards, development, and automated testing:
- Using monitoring to generate feedback: using Azure Monitor and Application Insights, create a series of dashboards and alerts to understand bottlenecks, discover and debug issues and learn from user actions:
We will accomplish these pillars in a number of chapters, with the first step in our journey involving us building a basic Azure architecture piece by piece, with infrastructure as code, a DevOps pipeline, a MVP (minimum viable product) web application and database, and essential monitoring. This is a lot, but will give us a fully fleshed out and working website, and we will layer on more core features to scale the application, as well as providing optional enhancements that we think you may find interesting.
We will communicate this progress on this blog, but the output will contain the output of this project. We will be using a public instance of Azure DevOps, (https://samsmithnz.visualstudio.com/SamLearnsAzure), which can be used as a reference, and will contain an up to date wiki of the project, (https://samsmithnz.visualstudio.com/SamLearnsAzure/_wiki/wikis/SamLearnsAzure.wiki?wikiVersion=GBwikiMaster), just like a real project.
We will try to explain every decision, from a high level, to a low level. Ideally, this is a place to share ideas practically and collaborate. Feedback is welcome, positive or negative – feedback is a gift and these ideas help to solve problems in different ways.
- Azure Architecture: