Giter VIP home page Giter VIP logo

ukth-appinn-containerapps-orderapi's Introduction

Hands-on with Container Apps

The purpose of this repo is to help you quickly get hands-on with Container Apps. It is meant to be consumed either through GitHub Codespaces or through a local Development Container (dev container). The idea being that everything you need from tooling to runtimes is already included in the dev container so it should be as simple as executing a run command.

Scenario

As a retailer, you want your customers to place online orders, while providing them the best online experience. This includes an API to receive orders that is able to scale out and in based on demand. You want to asynchronously store and process the orders using a queing mechanism that also needs to be auto-scaled. The following image illustrates the conceputal architecture

Architecture

With a microservices architecture, Container Apps offer a simple experience that allows your developers focus on the services, and not infrastructure. The E-commerce backend will implemented as different Container Apps using built-in features for scaling, traffic splitting and service-to-service calls as illustrated in the following image

In this lab you will see how to:

  1. Deploy the solution and configuration through Infrastructure as Code (IaaC), no need to understand Kubernetes
  2. Ability to troubleshoot using built-in logging capability with Azure Monitor (Log Analytics)
  3. Use out of the box telemetry with Dapr + Azure Monitor (Log Analytics)
  4. Ability to split http traffic when deploying a new version
  5. Ability to configure scaling to meet usage needs
  6. Configure CI/CD deployment to private Azure Container Registry using GitHub Actions
  7. Use API Management with Container Apps
  8. Enable Authentication for a Container App using Easy Auth.

Once this lab is completed you should have an Architecture that looks something like the diagram below.

Pre-requisites

  • A GitHub account
  • An Azure Subscription
  • License for using GitHub Codespaces (if you want use Codespaces as a development environment)

Structure

The hackathon is divided into seven challenges. Each challenge consist of the following structure:

  • Main objective(s)

    Description of the objective(s) in this challenge.

  • Activities

    Description/guideline of which activities are necessary to complete the challenge.

  • Definition of done

    Description of what is necessary to define a challenge "done".

  • Helpful links

    Some of the challenges has links with information that can be useful to complete the challenge.

  • Solution

    Each challenge has a step-by-step guide and also the final solution for the current solution.

The challenges

Contributors

Original creators

  • Kevin Harris
  • Mahmoud El Zayet
  • Mark Whitby
  • Anu Bhattacharya

Changes in this fork

  • Jimmy Karlsson
  • Jonas Norlund
  • Peter Williams
  • Arash Rassoulpour
  • Anders Heden
  • Kristofer Nissbrandt
  • Johan Kardell

ukth-appinn-containerapps-orderapi's People

Contributors

jonasnorlund avatar pewill-msft avatar nissbran avatar platonarash2 avatar melzayet avatar jimmykarlsson112 avatar markwme avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.