Group 13531-min
Microsoft Cloud Hack

Severless Hackathon

Students in a classroom-min

Course Description

This OpenHack enables attendees to quickly build and deploy Azure Serverless solutions that are comprised of cutting-edge compute services like Functions, Logic Apps, Event Grid, Service Bus, Event Hubs and Cosmos DB.  

This OpenHack simulates a real-world scenario where an ice cream company wants to use Platform as a Service (PaaS) to build and release an API to integrate into their distributor’s application.  

During the “hacking” attendees will focus on: 

  1. Building serverless functions, web APIs, and CI/CD pipeline to support them
  2. Implementing Serverless technologies to integrate line-of-business app workflows, process user/data telemetry and create business KPI-aligned reports. 

By the end of the OpenHack, attendees will have built out a technical solution that is a full serverless solution that can create workflows between systems and handle events, files, and data ingestion. 

About this course

Technologies

Azure Functions, Logic Apps, Event Grid, Cosmos DB, API Management, Azure Event Hubs, Azure DevOps or GitHub (team choice), Azure Monitor, Dynamics 365/Office 365, Cognitive APIs, Service Bus 

Prerequisites

To be successful and get the most out of this OpenHack, it is highly recommended that participants have earlier experience with API integration and a deep understanding of the language they chose to work in. Participants who are familiar with the technologies listed will be able to advance more quickly. A working knowledge of DevOps fundamentals is useful. 

Required knowledge of Azure fundamentals.  

Challenges

Challenge 1: Environment Configuration 

In this challenge, you will get your development environment ready to develop serverless applications. 

Learning objectives: 

  • Install the required software and pre-requisites to build and test the Azure Functions Locally 

Challenge 2: Create your first serverless function & workflow 

In this challenge, you will create and deploy your first Azure Function and Logic App. 

Learning objectives: 

  • Create your first Functions Web API locally and deploy to the Azure cloud 
  • Get familiar with the Azure Portal to create resources required to host your APIs 
  • Build your first Logic Apps workflow on the portal directly 

Challenge 3: Expand and build a full set of APIs to support business needs 

In this challenge, you will build an API to persist and retrieve data from a data store and configure a CI/CD pipeline. 

Learning objectives: 

  • Gain experience building multiple Web APIs that accept and output a different type of data in JSON 
  • Experience the local and cloud testing of the APIs by making calls from your local machine 
  • Build a Continuous Deployment and Continuous Integration (CI/CD) pipeline from source control 

Challenge 4: Deploy a management layer for APIs to monitor and track your APIs 

In this challenge, you will enable monitoring of the APIs, as well as devise an API management strategy. 

Learning objectives: 

  • Learn how you can capture and report telemetry about the APIs that are hosted on the cloud 
  • Experience building an API management layer to manage the APIs and expose it through a common base endpoint 

Challenge 5: Build a workflow process 

In this challenge, you will build a business process workflow which integrates with a CRM system. 

Learning objectives: 

  • Gain experience using a graphical user interface editor to build Workflows using Logic Apps 
  • Experience the drag and drop connectors to bring Line of Business apps to create a flow and notify contacts via emails 

Challenge 6: Process large amount of unstructured data 

In this challenge, you will process files in a batch process and persist to a data store 

Learning objectives: 

  • Build solutions to process batch files coming into a storage account 
  • Learn how to parse the flat files and store them on a database (structured or unstructured) 

Challenge 7: Process large amount of incoming events 

In this challenge, you will process batches of messages from Event Hub and persist in a data store. You will also extend the monitoring approach created earlier to track the number of running Azure Function instances. 

Learning objectives: 

  • Learn how to extend the API’s to parse the JSON sales events and store them in a backend data store 
  • Demonstrate how you tracked the number of instances that your Azure Functions scaled up to with App Insights 

Challenge 8: Messaging Patterns and Virtual Network Integration 

In this challenge, you will configure a messaging solution capability of filtering messages, as well as using virtual network integration to save data to a private data store. 

Learning objectives: 

  • Learn how to use publisher/subscriber messaging patterns with filtering rules to enable subscribers to process specific messages 
  • Build a serverless solution capable of working with Azure resources which utilize virtual network access restrictions 

Challenge 9: Alerting based on user sentiments 

In this challenge, you will integrate machine learning capabilities into the current solution to detect and alert on user sentiment. 

Learning objectives: 

  • Leveraging sentiment analysis to assess the user sentiments based on feedback 
  • Review the sentiments in batch and alert the responsible contacts what sentiment score products have been receiving 

Challenge 10: Putting it all together 

In this challenge, you will create a report which summarizes key business metrics derived from the full solution.  

Learning objectives: 

  • Bring all things together and demonstrate how things flow end to end 
  • Report insights on how the products are behaving 

Value Proposition

  • Build Azure cloud native event driven applications (mid-tier and backend) using Azure Serverless technologies  
  • Increase awareness on building scalable, event-driven applications with messaging services for asynchronous communication 
  • Remove infrastructure related tasks and considerations from developers to focus on rapid application development 
  • Help make decisions on when to use and how to choose Azure Services to achieve the business outcomes  
  • Learn best practices for building CI/CD for Serverless and processing events at scale 

Technical Scenarios

Building API’s with Serverless event processing, workflows and integration with different systems, streaming and analytics, VNET integration and batch processing of high column data. 

  • Enterprise Integration – bring various line of business systems and applications together to orchestrate the process without having to provision large infrastructure footprint 
  • DevOps Practice – building CI and CD for the services developed to help with best practice for source control for code management 
  • Scaling & Logging – understanding the scaling aspect of services when you have a spike in events and visualization of application insights to gather business data 
  •  

Audience

  • Target Audience: 
    • Microsoft – CSE, CSA, GBB, ATT, SE, TPM
    • Customer – App Developers 
  • Target verticals: Cross-Industry 
  • Customer profile: Examples:
    • Modern Application Development – customers looking to build cloud native applications and use Platform as a Service (PaaS) services on Azure to remove the overhead of infrastructure management and reduce the time to market for applications. High focus on rapid application developed.
    • Event Driven Distributed Architecture – customers looking to architected solution that rely on messaging services for communication between systems and services and focus on async processing for effective scaling and management.  

Ready to get started?