Git Product home page Git Product logo

mcw-microservices-architecture's Introduction

Microservices architecture

This workshop is archived and is no longer being maintained. Content is read-only.

Contoso Events is an online service for concerts, sporting and other event ticket sales. They are redesigning their solution for scale with a microservices strategy and want to implement a proof of concept (POC) for the path that receives the most traffic; ticket ordering.

June 2019

Target audience

  • Application developer
  • Infrastructure architect

Abstracts

Workshop

In this workshop, you will look at the process of developing a proof of concept (POC) that will illustrate the use of many Azure features to support a highly scalable microservices architecture based on Service Fabric containers and Azure Functions.

By the end of this workshop you will be better able to design and deploy solutions based on Service Fabric containers and Azure Functions, in conjunction with other Azure features.

Whiteboard design session

In this whiteboard design session, you will work in a group to design a solution that leverages aspects from microservices and serverless architectures to help an online concert ticket vendor survive the first five minutes of crushing load. You will handle the client's scaling needs through containerized microservices running on top of Service Fabric, and delegate the workload of tickets processing by using a storage queue for asynchronous processing and a globally distributed, high-performance database.

At the end of this whiteboard design session, you will be able to design scalable microservices solutions involving .NET Core, Docker, Service Fabric, Azure Functions and Cosmos DB.

Hands-on lab

In this hands-on lab, you will construct an end-to-end Proof of concept for ticket ordering based on a microservices architecture based on Service Fabric and Azure Functions, alongside other supporting Azure features such as API Management, Web Apps, Azure Active Directory and Cosmos DB.

At the end of this hands-on lab, you will better be able to build solutions that leverage these Azure features, in addition to gaining experience with deploying, scaling, upgrading and rolling back Service Fabric applications.

Azure services and related products

  • Azure Service Fabric
  • Azure Resource Groups
  • Azure Container Registry
  • Azure API Management
  • Azure Active Directory B2C
  • Azure Web Apps
  • Azure Cosmos DB
  • Azure Storage
  • Azure Load Balancer
  • Azure Queues
  • Azure Functions
  • Docker
  • .NET Core

Azure solutions

App Modernization Microservices using Service Fabric

Related references

mcw-microservices-architecture's People

Contributors

dawnmariedesjardins avatar hkamel avatar hopero929 avatar jimblizzard avatar js2lo avatar jstulo avatar michelebusta avatar microsoftopensource avatar msftgits avatar mwasham avatar rdiazconcha avatar sdavis3 avatar vraposo avatar waltermyersiii avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mcw-microservices-architecture's Issues

May 2019 Content Update

Hello,
This workshop is scheduled for a May 2019 update. Please review open issues #6 #7 and #27 and give your suggested updates for SME review.
Thanks,
Dawnmarie

.Net version update

Is your feature request related to a problem? Please describe.
Microsoft announced that .net framework 4.8 is the last major version of .net framework. Next .net version will be .net 5, but will be based on .net core. It will be nice to have source code updated to address such announcements from Microsoft.

https://devblogs.microsoft.com/dotnet/introducing-net-5/
https://devblogs.microsoft.com/dotnet/net-core-is-the-future-of-net/

Describe the solution you'd like
.net core based application, or at least .net framework 4.8

Verify links in HOLs

Folder and document names have been updated. Please check your HOL documents for links that use folder names in their path and make sure they are still valid and working.

Update Infra and developer lab guide

Exercise 2: Task 5: Setup the function
For function app console is completely changed in azure portal, please update the lab guide as per new console.

Update Labguide for Infra

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

Security vulnerability alert

Hello,
I received a security vulnerability alert for this workshop. Please review and let me know if I can close as "risk is tolerable to this project" or if we should mark as an enhancement to be addressed in the May update. Thanks!

1 bootstrap vulnerability found in …/ContosoEvents.Web/packages.config

Remediation
Upgrade bootstrap to version 3.4.1 or later. For example:

Always verify the validity and compatibility of suggestions with your codebase.

Details
CVE-2019-8331
More information
moderate severity
Vulnerable versions: >= 3.0.0, < 3.4.1
Patched version: 3.4.1
In Bootstrap 4 before 4.3.1 and Bootstrap 3 before 3.4.1, XSS is possible in the tooltip or popover data-template attribute. For more information, see: https://blog.getbootstrap.com/2019/02/13/bootstrap-4-3-1-and-3-4-1/

Content Update Meeting Notes

@Microsoft/microsoft-cloud-workshop

Author suggested updates:
Below is a summary of what we had discussed for the update in our earlier discussions. There are also some subtleties that will be added here in terms of the way we choose to cover AKS setup, Kubernetes features like ingress and load balancing to follow a more "Kubernetes" typical approach (the lab was originally converted from a DC/OS lab which is OK but doesn't fit as naturally in the way we show load balancing setup).
 
Also with the below, I'd like to suggest we use an aspnetcore sample instead of node.js - the value of this lab is more about the platform and devops / containers - the open source story using node.js doesn't seem to be a value add and it would be nice to show how app insights integrates with aspnetcore and how to handle logging, environment overrides, secrets, etc. in aspnetcore.
 
Workshop rewrite:
• refresh the scenario and associated workshop sample
• have mongodb migrate to cosmosdb
• have full ci/cd discussion for containers and environment promotion
• include secret management
• include autoscale and load balancing features
 
Lab rewrite:
• update for new sample - refresh the scenario / idea a little
• add vsts / ci / cd workflows with azure container registry
• add cosmosdb work, add back end to sample, show local dev/test and prod migration
• add secrets
• add autoscale of nodes + container scale (if possible, AKS may not be positioned to do this yet)
• add app insights for end to end tracing and visibility
• update use of kubernetes load balancing and ingress features

SME suggested updates:
Visual Studio connected environment - to Azure Dev Space
http://landinghub.visualstudio.com/devspaces
CLI Tool allows to work in backend

Mongo DB to Cosmos DB
https://blogs.msdn.microsoft.com/alimaz/2018/04/21/migrating-mongodb-databases-from-mongo-lab-to-cosmos-db/
Put in references (WDS) may be too time consuming for lab
ASPC net core app - starter code with mongo backend (dockerized)
Lift and shift that to the cloud
Mongo to Cosmos - modernize the DB - move away from the cluster
Talking point - functions, options, and reasoning

Biggest customer ask - I'd like to deploy AKS using custom vnet on Azure
Possible good in Customer needs section
https://docs.microsoft.com/en-us/azure/aks/networking-overview?WT.mc_id=linkedin

  • Item to do #2

Couple of adjustments and suggestions

In prep and on diagram Azure Functions are under a separate RG but in steps it's being provisioned under same RG as other components (Which should be fine).

Exercise 3
Task 5 (Item 24) - Instead of copy and paste can we publish the binary (ideally using beta v2 Functions)

Task 6 - Need to mention we need to configure App Insight or switch to classic view for logs as per Guide.

Exercise 4
Task 1 (Item 8) We need to update StoreLocation and StoreName in Cloud.xml PublishProfile

WDS PPT image

WDS PPT image, slide 17 (preferred solution) does not pass the color contrast test for accessibility standards.

Replace manual steps with ARM template

In the HOL, Exercise 1, Tasks 2, 4-7 (infra edition) or 2-6 (developer edition) can be easily accomplished with deploying a predefined Azure Resource Manager template, which would save attendees time and allow them to focus on the more substantive parts of the workshop.

WDS ppt abstract

WDS powerpoint abstract does not completely match Readme. Content is the same, wording is different. I recommend leaving it.

HOL incorrect abstract

Abstracts for the HOL step-by-step and unguided, both Infrastructure and Developer editions (four documents in total) are incorrect. They use the WDS abstracts and not the HOL abstracts. The correct abstract appears later but in the incorrect spot.

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.