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:
- Automating deployments and practicing DevOps principles going from on-premise to the cloud with modernization in
mind
- Detect and diagnose issues across applications and dependencies with Application Insights.
- Correlate infrastructure issues with VM insights and Container insights.
- Drill into your monitoring data with Log Analytics for troubleshooting and deep diagnostics.
- Support operations at scale with automated actions.
- Create visualizations with Azure dashboards and workbooks.
- Collect data from monitored resources by using Azure Monitor Metrics.
- 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:
- 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
- Azure CLI installed to work with Azure
- GitHub account (sign-in or join here) - how to authenticate with
GitHub
available here
- 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.
- [OPTIONAL] GitHub CLI installed to work with GitHub - how to install
- [OPTIONAL] Github GUI App for managing changes and work
on forked repo
- [OPTIONAL] Windows Terminal
If you will be working on your local machines, you will need to have:
- Powershell
installed
- git installed - instructions step by step here
- .NET installed to run the application if you want to run it
- SQL server to install the database and to populate
it with data
- 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:
- use this script to install cli and get back the available subscriptions
- 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
- 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:
- Azure - learning path is available here
- Git to understand how to clone, fork, branch, merge, rebase, etc.
- scripting -
either PowerShell
or bash (if you will decide to go this path)
- YAML structure to be able to complete pipelines and workflows
Knowledge gains
By completing the hackathon you'll understand how to:
- use IaC effectively with DevOps
principles
- configure scale and deploy with ease with solid foundation
- leverage technologies to deploy native workloads to cloud
- effectively react on challenges and take advantage of cloud to build resilient environment for workloads
- 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:
Additional information
You can read about different techniques and options here:
- What-The-Hack initiative
- GitHub and DevOps
- Azure Samples
or use code browser
- Azure Architecture Center
- Application Architecture Guide
- Cloud Adoption Framework
- Well-Architected Framework
- Microsoft Learn
Credits
- Spectre.Console - Spectre.Console is a .NET Standard 2.0 library that makes it easier
to create beautiful console applications.
- 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.
- 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.
- QuestPDF - QuestPDF is an open-source .NET library for PDF documents
generation.
- 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 opencode@microsoft.com with any additional questions or comments.