Skip to content

What the hack structure to understand Azure monitoring and automation in depth

Notifications You must be signed in to change notification settings

vrhovnik/azure-monitor-automation-wth

Repository files navigation

Azure Automation & Monitor What The Hack

What the hack structure initiative to enable partners to understand automation and monitoring options in Azure through different tools and mechanisms solving challenges, which will help them understand their application and workloads even better. Leveraging automation to bring application in production with ease and when having solution in production, monitor the workload to increase the SLA for your customers.

Learn and configure:

  1. Automating deployments and practicing DevOps principles going from on-premise to the cloud with modernization in mind
  2. Detect and diagnose issues across applications and dependencies with Application Insights.
  3. Correlate infrastructure issues with VM insights and Container insights.
  4. Drill into your monitoring data with Log Analytics for troubleshooting and deep diagnostics.
  5. Support operations at scale with automated actions.
  6. Create visualizations with Azure dashboards and workbooks.
  7. Collect data from monitored resources by using Azure Monitor Metrics.
  8. Investigate change data for routine monitoring or for triaging incidents by using Change Analysis.

We will work with an app for tracking your work tasks (and make some of them public with an ability for users to provide feedback) protected by forms authentication (classic approach), backed by Microsoft SQL and exposed through REST API services. The code is written in .NET 6.

Version TL;DR;

We want to use latest and greatest techniques to bring the solution from zero to hero using infrastructure as code approach with DevOps principles in mind and govern the application by making it resilient and error aware.

Tech pre-requisites

To successfully participate in this hackathon you will need:

  1. an active Azure subscription - MSDN or trial or Azure Pass is fine - you can also do all of the work in Azure Shell (all tools installed) and by using Github Codespaces
  2. Azure CLI installed to work with Azure
  3. GitHub account (sign-in or join here) - how to authenticate with GitHub available here
  4. PowerShell installed - we do recommend an editor like Visual Studio Code to be able to write scripts, YAML pipelines and connect to repos to submit changes4.
  5. [OPTIONAL] GitHub CLI installed to work with GitHub - how to install
  6. [OPTIONAL] Github GUI App for managing changes and work on forked repo
  7. [OPTIONAL] Windows Terminal

If you will be working on your local machines, you will need to have:

  1. Powershell installed
  2. git installed - instructions step by step here
  3. .NET installed to run the application if you want to run it
  4. SQL server to install the database and to populate it with data
  5. an editor (besides notepad) to see and work with code, yaml, scripts and more (for example Visual Studio Code)

To help you with installing all of the requirement above, you can use this example script to install everything and run the application.

To verify if everything is ready to start with tasks, do this 3 things:

  1. use this script to install cli and get back the available subscriptions
  2. configure default subscription, installing bicep (or upgrade to newest version) and defining ENV variables to be used for local development or for DevOps process with example script here
  3. fork this repository (to have all the files available) and add secrets (from env variables in step 2) to be used in challenges - you can use example script here

Knowledge expected

What the hack requires from you basic understanding of:

  1. Azure - learning path is available here
  2. Git to understand how to clone, fork, branch, merge, rebase, etc.
  3. scripting - either PowerShell or bash (if you will decide to go this path)
  4. YAML structure to be able to complete pipelines and workflows

Knowledge gains

By completing the hackathon you'll understand how to:

  1. use IaC effectively with DevOps principles
  2. configure scale and deploy with ease with solid foundation
  3. leverage technologies to deploy native workloads to cloud
  4. effectively react on challenges and take advantage of cloud to build resilient environment for workloads
  5. define visuals for technical and non-technical people to gain insight into workloads and services

Start solving challenges to go from zero to hero

Too start the mini hackathon click button below:

button

Additional information

You can read about different techniques and options here:

  1. What-The-Hack initiative
  2. GitHub and DevOps
  3. Azure Samples or use code browser
  4. Azure Architecture Center
  5. Application Architecture Guide
  6. Cloud Adoption Framework
  7. Well-Architected Framework
  8. Microsoft Learn

Credits

  1. Spectre.Console - Spectre.Console is a .NET Standard 2.0 library that makes it easier to create beautiful console applications.
  2. MetroApps - MahApps.Metro is a framework that allows developers to cobble together a Metro or Modern UI for their own WPF applications with minimal effort.
  3. HTMX - htmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext.
  4. QuestPDF - QuestPDF is an open-source .NET library for PDF documents generation.
  5. Mermaid.js - generating dialogs from markdown files - thanks Adrian

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.

When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.