Course Overview
Please note Learners will be put into a team of 5, where they will collaborate throughout the hack. If you wish to book a dedicated team of 5 the price is £7,500 +vat.
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:
- Building serverless functions, web APIs, and CI/CD pipeline to support them
- 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.
Who should attend
- Target Audience:
- Microsoft – CSE, CSA
- 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.
Prerequisites
Knowledge 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.
Language-Specific Prerequisites
- Hands-on coding is required in at least one of the following programing languages: C#, JavaScript, Node, or Python.
Tooling Prerequisites
To avoid any delays with downloading or installing tooling, have the following ready to go ahead of the OpenHack:
- A modern laptop running Windows 10 (1703 or higher), Mac OSX (10.12 or higher), or one of these Ubuntu versions
- Download the latest version of Azure CLI.
- Your preferred IDE. If using:
- Visual Studio for Windows: Install latest Visual Studio with ‘Azure development’ workload selected and Azure Functions and Web Jobs Tools extension
- Visual Studio Code in Windows, OSX, or Linux: Install latest Visual Studio Code for your OS, Azure Functions extension, and Azure Functions Core Tools
We will do our best to place you on a team that will use the preferred language you indicated in your registration. Please identify your preferred language below and download the tools listed underneath in preparation for the OpenHack.
- C# .NET Core
- Visual Studio 2019 or Visual Studio Code on a supported platform
- Visual Studio Code C# Extension is recommended
- .NET Core 2.2
- Visual Studio 2019 or Visual Studio Code on a supported platform
[*] Java/Maven
- Java Developer Kit version 8
- Apache Maven version 3.0 or later
[*] JavaScript
- Visual Studio Code on a supported platform
- Node.js Active LTS and Maintenance LTS versions (8.11.1 and 10.14.1 recommended)
[*] Python
- Python 3.6.x (official CPython distribution)
- 3.6.8 64-bit is recommended due to this known issue
- Python interpreter selection can be troublesome for VS Code users on Windows
- Recommended for Mac OSX and Linux users to install Azurite v2
Course Objectives
- 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
Course Content
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
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
FAQs
Q: Should customers who are using FaaS still attend this OpenHack?
- A: Yes, because the content highlights end to end application cycle with focus on CI/CD, Scaling, DR and VNet requirements.
Q: Is there a suggested flow of OpenHacks which an attendee should attend first, before going to yours?
- A: No. See Prerequisites, above.