What The Hack - Rock, Paper, Scissors, BOOM!


Details
Happy New Year Buffalo Azure User Group - we're excited to get back together (virtually) and roll up our sleeves. In 2021, our focus will be on learning new skills and putting them to work!
Introduction
This is a challenge-based hack. It's NOT step-by-step. Don't worry, you will do great whatever your level of experience! You will be guided through different labs to implement the "Rock Paper Scissors Boom" app by leveraging Azure technology like PaaS and Serverless. The intent is to have you practice the tools, technologies and services people are asking you about. Let's try to go out of your comfort zone, try and learn something new. And let's have fun!
This challenge will be facilitated by Microsoft Cloud Solution Architect, Romer Ventura - you should join us regardless of your experience with Azure! We expect this session to be interactive!
Learning Objectives
In this hack, we are going to take a web app called "Rock Paper Scissors Boom" and deploy it on Azure! This app is game server that allows bots to play the classic Rock/Paper/Scissors game. The web app is built on .NET core - it runs on Linux and Windows! The web app is open source and built by DevChatter. This hack repo was forked from DevChatter's original repo.
Through progressive challenges we will build the web app, deploy it to Azure, monitor it, protect it, enhance and extend it.
At the end, you will be able to build your own bot and compete with each other.
Technologies
(Common Prerequisites will be sent to you via email once you have RSVP'd to the event and is also posted on the message board)
Here are the technologies and services you will leverage:
GitHub
Git
Linux
ASP.NET Core
SQL Server on Linux
Docker
Azure SQL Database
Azure DevOps (formerly known as VSTS)
Azure App Service on Linux
Azure Container Registry
Azure AD B2C
Azure CDN
Azure Application Insights
Logic Apps
Azure Functions
Azure Event Grid
Challenges
Setup
Run the app
Move to Azure SQL Database
Run the app on Azure
Run the Game Continuously
Add Application Monitoring
Build a CI/CD pipeline with Azure DevOps
Implement AAD B2C
Leverage SignalR
Leverage CDN
Send a Winner Notification
Run a Load Test
Tournament (If time allows)
Towards the end of the workshop we'll ask you to deploy your own Rock Paper Scissors Boom bot so we can have a tournament challenge.
About the Rock Paper Scissors Boom app
Rock Paper Scissors Boom is a collaborative competition among developers. It's based on a project idea from a Microsoft Developer Evangelist that was called "Rock Paper Azure".
This server project provides an API that developers can use to develop bots that play the Rock Paper Scissors Boom game.
Rules of the Game:
A match is played between two bots and will consist of 100 rounds of Rock-Paper-Scissors
Rock beats Scissors
Scissors beats Paper
Paper beats Rock
A dynamite will defeat Rock, Paper, or Scissors played by the opponent.
A water balloon will defeat a dynamite.
Rock, Paper, and Scissors all beat water balloon.
Each bot receives 10 sticks of dynamite to use during a match.
All matching choices will be a tie with the same choice by opponent.
Each bot may also throw a water balloon whenever it likes.

What The Hack - Rock, Paper, Scissors, BOOM!