SlideShare a Scribd company logo
1 of 18
Traditional application approach Microservices application approach
• A microservice application
segregates functionality into
separate smaller services.
• Scales out by deploying each
service independently with
multiple instances across
servers/VMs
• A traditional application has
most of its functionality within a
few processes that are
componentized with layers and
libraries.
• Scales by cloning the app on
multiple servers/VMs
App 1 App 2App 1
• Single monolithic database
• Tiers of specific technologies
Data in Traditional approach Data in Microservices approach
• Graph of interconnected microservices
• State typically scoped to the microservice
• Remote Storage for cold data
Stateful
services
Web presentation
services
Stateless
servicesSQL DB
or
No-SQL
Mobile
apps
Web Tier
Services Tier
Data Tier
Monolithic Databases are
shared across services.
Stateless services
with
separate stores
Each microservice
owns its model/data!
SQL
[…]
Database servers are
usually the bottleneck
Cache Tier
Cache doesn’t help
much for massive data
ingress (Events, IoT, etc.)
Identifying a Domain Model per Microservice or Bounded Context
Ordering Microservice Model
Basket Microservice Model
Identity Microservice Model
Order Buyer
OrderItem
BasketItem
ApplicationUser
Basket
… Address
Catalog Microservice Model
Type
BrandCatalogItem
Focus on:
- Dockerfile & Docker-compose.yml
Debugging Multi-Containers App
- Simple CRUD microservice
vs
DDD microservice
Direct Client-To-Microservice communication
Implementing Asynchronous Event-Driven
communication with an Event Bus
Database
Ordering Microservice
Basket Microservice
Database as
Cache
Service
ServiceUser-Profile Microservice
Web API Service
Database
Backend
UserUpdated event
(Publish Action)
Event Bus
(Publish/Subscribe Channel)
UpdateUser
command
UserUpdated event  Buyer info
UserUpdated event  Buyer info
Eventual consistency across microservices’ data based on event-driven async communication
DB update Event Bus Abstractions/Interface
Event Bus Implementations
RabbitMQ
Azure
Service
Bus
Other:
NServiceBus
MassTransit
etc.
Focus on:
- Event Bus & messaging
Orchestrator’s Cluster managing microservices/containers
Clusters provide:
• High scalability
• Automatic High Availability and resiliency
• High services density per host
Official Docker Images
https://hub.docker.com
or
Cluster of
Nodes/Hosts
VM
App 1 App 2
My ASP.NET Core Services
My Docker Images
Web
Apps
Mobile
Apps
API
Management
API
Apps
Logic
Apps
Notification
Hubs
Content Delivery
Network (CDN)
Media
Services
HDInsight Machine
Learning
Stream
Analytics
Data
Factory
Event
Hubs
Mobile
Engagement
Biztalk
Services
Hybrid
Connections
Service
Bus
Storage
Queues
Backup
StorSimple
Site
Recovery
Import/Export
SQL
Database
DocumentDB
Redis
Cache
Search
Tables
SQL Data
Warehouse
Azure AD
Connect Health
AD Privileged
Identity Mngt
Operational
Insights
Cloud
Services
Batch
Service
Fabric Visual Studio
Application
Insights
Azure SDK
Team Project
Active
Directory
Multi-Factor
Authentication
Automation
Portal
Key Vault
Store /
Marketplace
VM Image Gallery
& VM Depot
SECURITY &
MANAGEMENT PLATFORM SERVICES HYBRID
OPERATIONS
Microsoft Azure
Azure Container
Service
Function
Apps
Azure Compute Continuum
Ultimate
Control
Rapid
Development
VMs /
VM Scale Sets
VM Extensions
Orchestrators
ACS &
Service Fabric
App Service
&
Azure
Functions
IaaS PaaS
Orchestrator Description Good for Common workloads
Azure Service Fabric is a distributed
systems platform that makes it easy
to package, deploy, and manage
scalable and reliable microservices
a) Stateful svc & Actors
b) Microservices based
on plain processes
c) Microservices based
on containers
Docker Swarm is a clustering and
scheduling tool for Docker containers.
With Swarm, IT administrators and
developers can establish and manage a
cluster of Docker nodes as a single
virtual system
Microservices based on
containers
Kubernetes is an open-source platform
for automating deployment, scaling,
and operations of application
containers across clusters of hosts
Microservices based on
containers
As a datacenter operating system,
DC/OS is itself a distributed system, a
cluster manager and a container
platform
Microservices based on
containers (Including other
Linux containers, not just
Docker)
More mature:
Less mature:
More mature:
Less mature:
More mature:
Less mature:
Azure Product
Azure Service Fabric
Azure Container Service
Docker Swarm
Service Fabric
Production-ready &
Microsoft ecosystem
Mesosphere DC/OS
More mature:
Less mature:
Production-ready &
Linux ecosystem
Easy to get started
Dev/Test and Production
Kubernetes
Production-ready &
Linux ecosystem
aka.ms/MicroservicesEbook aka.ms/MicroservicesArchitecture
Additional subjects covered in the eBook
Domain Driven Design Patterns
• Domain Models (Aggregates, Entity, VO, etc.)
• Simplified CQRS
• Dapper MicroORM for queries
• Commands and Mediator patter
• Domain Events (within the same microservice)
Microservices
• Integration Events (across microservices)
• Multi-container docker-compose.yml
• Swagger w/ Swashbuckle
• Security (Authentication/Authorization) with tokens
from IdentityServer4 wrapping ASP.NET Identity
dot.net/architecture
Microservices using .Net core
Microservices using .Net core

More Related Content

What's hot

Azure Tutorial For Beginners | Microsoft Azure Tutorial For Beginners | Azure...
Azure Tutorial For Beginners | Microsoft Azure Tutorial For Beginners | Azure...Azure Tutorial For Beginners | Microsoft Azure Tutorial For Beginners | Azure...
Azure Tutorial For Beginners | Microsoft Azure Tutorial For Beginners | Azure...Simplilearn
 
Microservices, Containers, Kubernetes, Kafka, Kanban
Microservices, Containers, Kubernetes, Kafka, KanbanMicroservices, Containers, Kubernetes, Kafka, Kanban
Microservices, Containers, Kubernetes, Kafka, KanbanAraf Karsh Hamid
 
Microservice vs. Monolithic Architecture
Microservice vs. Monolithic ArchitectureMicroservice vs. Monolithic Architecture
Microservice vs. Monolithic ArchitecturePaul Mooney
 
Microservices
MicroservicesMicroservices
MicroservicesSmartBear
 
CQRS: Command/Query Responsibility Segregation
CQRS: Command/Query Responsibility SegregationCQRS: Command/Query Responsibility Segregation
CQRS: Command/Query Responsibility SegregationBrian Ritchie
 
Microservices Design Patterns
Microservices Design PatternsMicroservices Design Patterns
Microservices Design PatternsHaim Michael
 
Microservice Architecture Patterns, by Richard Langlois P. Eng.
Microservice Architecture Patterns, by Richard Langlois P. Eng.Microservice Architecture Patterns, by Richard Langlois P. Eng.
Microservice Architecture Patterns, by Richard Langlois P. Eng.Richard Langlois P. Eng.
 
Microservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SREMicroservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SREAraf Karsh Hamid
 
Microservices Architecture - Bangkok 2018
Microservices Architecture - Bangkok 2018Microservices Architecture - Bangkok 2018
Microservices Architecture - Bangkok 2018Araf Karsh Hamid
 
Your Journey to Cloud-Native Begins with DevOps, Microservices, and Containers
Your Journey to Cloud-Native Begins with DevOps, Microservices, and ContainersYour Journey to Cloud-Native Begins with DevOps, Microservices, and Containers
Your Journey to Cloud-Native Begins with DevOps, Microservices, and ContainersAtlassian
 
Microservices: Mais que uma arquitetura de software, uma filosofia de desenvo...
Microservices: Mais que uma arquitetura de software, uma filosofia de desenvo...Microservices: Mais que uma arquitetura de software, uma filosofia de desenvo...
Microservices: Mais que uma arquitetura de software, uma filosofia de desenvo...Emmanuel Neri
 
Kubernetes architecture
Kubernetes architectureKubernetes architecture
Kubernetes architectureJanakiram MSV
 
Introduction to Microsoft Azure
Introduction to Microsoft AzureIntroduction to Microsoft Azure
Introduction to Microsoft AzureKasun Kodagoda
 

What's hot (20)

Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
Azure Tutorial For Beginners | Microsoft Azure Tutorial For Beginners | Azure...
Azure Tutorial For Beginners | Microsoft Azure Tutorial For Beginners | Azure...Azure Tutorial For Beginners | Microsoft Azure Tutorial For Beginners | Azure...
Azure Tutorial For Beginners | Microsoft Azure Tutorial For Beginners | Azure...
 
Microservices, Containers, Kubernetes, Kafka, Kanban
Microservices, Containers, Kubernetes, Kafka, KanbanMicroservices, Containers, Kubernetes, Kafka, Kanban
Microservices, Containers, Kubernetes, Kafka, Kanban
 
Microservice vs. Monolithic Architecture
Microservice vs. Monolithic ArchitectureMicroservice vs. Monolithic Architecture
Microservice vs. Monolithic Architecture
 
Microservices
MicroservicesMicroservices
Microservices
 
CQRS: Command/Query Responsibility Segregation
CQRS: Command/Query Responsibility SegregationCQRS: Command/Query Responsibility Segregation
CQRS: Command/Query Responsibility Segregation
 
DevOps with Kubernetes
DevOps with KubernetesDevOps with Kubernetes
DevOps with Kubernetes
 
Microservices Design Patterns
Microservices Design PatternsMicroservices Design Patterns
Microservices Design Patterns
 
Microservice Architecture Patterns, by Richard Langlois P. Eng.
Microservice Architecture Patterns, by Richard Langlois P. Eng.Microservice Architecture Patterns, by Richard Langlois P. Eng.
Microservice Architecture Patterns, by Richard Langlois P. Eng.
 
Microservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SREMicroservices Docker Kubernetes Istio Kanban DevOps SRE
Microservices Docker Kubernetes Istio Kanban DevOps SRE
 
Microservices Architecture - Bangkok 2018
Microservices Architecture - Bangkok 2018Microservices Architecture - Bangkok 2018
Microservices Architecture - Bangkok 2018
 
DevOps and Cloud
DevOps and CloudDevOps and Cloud
DevOps and Cloud
 
Your Journey to Cloud-Native Begins with DevOps, Microservices, and Containers
Your Journey to Cloud-Native Begins with DevOps, Microservices, and ContainersYour Journey to Cloud-Native Begins with DevOps, Microservices, and Containers
Your Journey to Cloud-Native Begins with DevOps, Microservices, and Containers
 
Microservices: Mais que uma arquitetura de software, uma filosofia de desenvo...
Microservices: Mais que uma arquitetura de software, uma filosofia de desenvo...Microservices: Mais que uma arquitetura de software, uma filosofia de desenvo...
Microservices: Mais que uma arquitetura de software, uma filosofia de desenvo...
 
Cloud Native In-Depth
Cloud Native In-DepthCloud Native In-Depth
Cloud Native In-Depth
 
Introduction to Microsoft Azure 101
Introduction to Microsoft Azure 101Introduction to Microsoft Azure 101
Introduction to Microsoft Azure 101
 
Kubernetes architecture
Kubernetes architectureKubernetes architecture
Kubernetes architecture
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
Introduction to Microsoft Azure
Introduction to Microsoft AzureIntroduction to Microsoft Azure
Introduction to Microsoft Azure
 
presentation on Docker
presentation on Dockerpresentation on Docker
presentation on Docker
 

Similar to Microservices using .Net core

Pieter de Bruin (Microsoft) - Welke technologie gebruiken bij implementatie M...
Pieter de Bruin (Microsoft) - Welke technologie gebruiken bij implementatie M...Pieter de Bruin (Microsoft) - Welke technologie gebruiken bij implementatie M...
Pieter de Bruin (Microsoft) - Welke technologie gebruiken bij implementatie M...AFAS Software
 
Connect your datacenter to Microsoft Azure
Connect your datacenter to Microsoft AzureConnect your datacenter to Microsoft Azure
Connect your datacenter to Microsoft AzureK.Mohamed Faizal
 
Microsoft Azure Technical Overview
Microsoft Azure Technical OverviewMicrosoft Azure Technical Overview
Microsoft Azure Technical Overviewgjuljo
 
Designing Microservices
Designing MicroservicesDesigning Microservices
Designing MicroservicesDavid Chou
 
Benefits of the Azure Cloud
Benefits of the Azure CloudBenefits of the Azure Cloud
Benefits of the Azure CloudCaserta
 
KoprowskiT_session1_SDNEvent_WASDforBeginners
KoprowskiT_session1_SDNEvent_WASDforBeginnersKoprowskiT_session1_SDNEvent_WASDforBeginners
KoprowskiT_session1_SDNEvent_WASDforBeginnersTobias Koprowski
 
Containers as Infrastructure for New Gen Apps
Containers as Infrastructure for New Gen AppsContainers as Infrastructure for New Gen Apps
Containers as Infrastructure for New Gen AppsKhalid Ahmed
 
Azure Service Fabric - Hamida Rebai - CCDays
Azure Service Fabric - Hamida Rebai - CCDaysAzure Service Fabric - Hamida Rebai - CCDays
Azure Service Fabric - Hamida Rebai - CCDaysCodeOps Technologies LLP
 
Service Fabric – building tomorrows applications today
Service Fabric – building tomorrows applications todayService Fabric – building tomorrows applications today
Service Fabric – building tomorrows applications todayBizTalk360
 
Microservices for Enterprises
Microservices for Enterprises Microservices for Enterprises
Microservices for Enterprises Kasun Indrasiri
 
Introduction to microservices
Introduction to microservicesIntroduction to microservices
Introduction to microservicesAnil Allewar
 
Exploring microservices in a Microsoft landscape
Exploring microservices in a Microsoft landscapeExploring microservices in a Microsoft landscape
Exploring microservices in a Microsoft landscapeAlex Thissen
 
Benefits of the Azure cloud
Benefits of the Azure cloudBenefits of the Azure cloud
Benefits of the Azure cloudJames Serra
 
Discover MongoDB Atlas and MongoDB Stitch - DEM02-S - Mexico City AWS Summit
Discover MongoDB Atlas and MongoDB Stitch - DEM02-S - Mexico City AWS SummitDiscover MongoDB Atlas and MongoDB Stitch - DEM02-S - Mexico City AWS Summit
Discover MongoDB Atlas and MongoDB Stitch - DEM02-S - Mexico City AWS SummitAmazon Web Services
 
Perth Azure Usergroup Build 2018 updates
Perth Azure Usergroup Build 2018 updatesPerth Azure Usergroup Build 2018 updates
Perth Azure Usergroup Build 2018 updatesNirmal Thewarathanthri
 
Monolithic to Microservices Architecture
Monolithic to Microservices ArchitectureMonolithic to Microservices Architecture
Monolithic to Microservices ArchitectureVin Dahake
 

Similar to Microservices using .Net core (20)

Pieter de Bruin (Microsoft) - Welke technologie gebruiken bij implementatie M...
Pieter de Bruin (Microsoft) - Welke technologie gebruiken bij implementatie M...Pieter de Bruin (Microsoft) - Welke technologie gebruiken bij implementatie M...
Pieter de Bruin (Microsoft) - Welke technologie gebruiken bij implementatie M...
 
Connect your datacenter to Microsoft Azure
Connect your datacenter to Microsoft AzureConnect your datacenter to Microsoft Azure
Connect your datacenter to Microsoft Azure
 
Microsoft azure pack overview
Microsoft azure pack overviewMicrosoft azure pack overview
Microsoft azure pack overview
 
Microsoft Azure Technical Overview
Microsoft Azure Technical OverviewMicrosoft Azure Technical Overview
Microsoft Azure Technical Overview
 
Designing Microservices
Designing MicroservicesDesigning Microservices
Designing Microservices
 
Benefits of the Azure Cloud
Benefits of the Azure CloudBenefits of the Azure Cloud
Benefits of the Azure Cloud
 
Microservices in Azure
Microservices in AzureMicroservices in Azure
Microservices in Azure
 
KoprowskiT_session1_SDNEvent_WASDforBeginners
KoprowskiT_session1_SDNEvent_WASDforBeginnersKoprowskiT_session1_SDNEvent_WASDforBeginners
KoprowskiT_session1_SDNEvent_WASDforBeginners
 
Containers as Infrastructure for New Gen Apps
Containers as Infrastructure for New Gen AppsContainers as Infrastructure for New Gen Apps
Containers as Infrastructure for New Gen Apps
 
Azure Service Fabric - Hamida Rebai - CCDays
Azure Service Fabric - Hamida Rebai - CCDaysAzure Service Fabric - Hamida Rebai - CCDays
Azure Service Fabric - Hamida Rebai - CCDays
 
Microservices in Azure
Microservices in AzureMicroservices in Azure
Microservices in Azure
 
Service Fabric – building tomorrows applications today
Service Fabric – building tomorrows applications todayService Fabric – building tomorrows applications today
Service Fabric – building tomorrows applications today
 
Microservices for Enterprises
Microservices for Enterprises Microservices for Enterprises
Microservices for Enterprises
 
Introduction to microservices
Introduction to microservicesIntroduction to microservices
Introduction to microservices
 
Exploring microservices in a Microsoft landscape
Exploring microservices in a Microsoft landscapeExploring microservices in a Microsoft landscape
Exploring microservices in a Microsoft landscape
 
Benefits of the Azure cloud
Benefits of the Azure cloudBenefits of the Azure cloud
Benefits of the Azure cloud
 
Discover MongoDB Atlas and MongoDB Stitch - DEM02-S - Mexico City AWS Summit
Discover MongoDB Atlas and MongoDB Stitch - DEM02-S - Mexico City AWS SummitDiscover MongoDB Atlas and MongoDB Stitch - DEM02-S - Mexico City AWS Summit
Discover MongoDB Atlas and MongoDB Stitch - DEM02-S - Mexico City AWS Summit
 
Micro services
Micro servicesMicro services
Micro services
 
Perth Azure Usergroup Build 2018 updates
Perth Azure Usergroup Build 2018 updatesPerth Azure Usergroup Build 2018 updates
Perth Azure Usergroup Build 2018 updates
 
Monolithic to Microservices Architecture
Monolithic to Microservices ArchitectureMonolithic to Microservices Architecture
Monolithic to Microservices Architecture
 

More from girish goudar

GlobalAzureBootCamp 2018
GlobalAzureBootCamp 2018GlobalAzureBootCamp 2018
GlobalAzureBootCamp 2018girish goudar
 
Microsoft DevOps - Fast track
Microsoft DevOps - Fast track Microsoft DevOps - Fast track
Microsoft DevOps - Fast track girish goudar
 
Deploying .net application using VSTS on ACS in kubernetes
Deploying .net application using VSTS on ACS in kubernetesDeploying .net application using VSTS on ACS in kubernetes
Deploying .net application using VSTS on ACS in kubernetesgirish goudar
 
Windows server and docker
Windows server and dockerWindows server and docker
Windows server and dockergirish goudar
 
.Net Core, Asp.net Core and Docker
.Net Core, Asp.net Core and Docker .Net Core, Asp.net Core and Docker
.Net Core, Asp.net Core and Docker girish goudar
 
Introduction to SharePoint 2013
Introduction to SharePoint 2013Introduction to SharePoint 2013
Introduction to SharePoint 2013girish goudar
 

More from girish goudar (10)

AKS
AKSAKS
AKS
 
Azure devops
Azure devops Azure devops
Azure devops
 
DevOps Bootcamp
DevOps BootcampDevOps Bootcamp
DevOps Bootcamp
 
Azure governance
Azure governanceAzure governance
Azure governance
 
GlobalAzureBootCamp 2018
GlobalAzureBootCamp 2018GlobalAzureBootCamp 2018
GlobalAzureBootCamp 2018
 
Microsoft DevOps - Fast track
Microsoft DevOps - Fast track Microsoft DevOps - Fast track
Microsoft DevOps - Fast track
 
Deploying .net application using VSTS on ACS in kubernetes
Deploying .net application using VSTS on ACS in kubernetesDeploying .net application using VSTS on ACS in kubernetes
Deploying .net application using VSTS on ACS in kubernetes
 
Windows server and docker
Windows server and dockerWindows server and docker
Windows server and docker
 
.Net Core, Asp.net Core and Docker
.Net Core, Asp.net Core and Docker .Net Core, Asp.net Core and Docker
.Net Core, Asp.net Core and Docker
 
Introduction to SharePoint 2013
Introduction to SharePoint 2013Introduction to SharePoint 2013
Introduction to SharePoint 2013
 

Recently uploaded

Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Dr.Costas Sachpazis
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxpranjaldaimarysona
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSRajkumarAkumalla
 
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)Suman Mia
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130Suhani Kapoor
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )Tsuyoshi Horigome
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxAsutosh Ranjan
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Dr.Costas Sachpazis
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Serviceranjana rawat
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxupamatechverse
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxpurnimasatapathy1234
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVRajaP95
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...srsj9000
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxupamatechverse
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxupamatechverse
 

Recently uploaded (20)

Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptx
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
 
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptx
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
 
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
 
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINEDJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
 
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptx
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptx
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptx
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptx
 

Microservices using .Net core

  • 1.
  • 2.
  • 3. Traditional application approach Microservices application approach • A microservice application segregates functionality into separate smaller services. • Scales out by deploying each service independently with multiple instances across servers/VMs • A traditional application has most of its functionality within a few processes that are componentized with layers and libraries. • Scales by cloning the app on multiple servers/VMs App 1 App 2App 1
  • 4. • Single monolithic database • Tiers of specific technologies Data in Traditional approach Data in Microservices approach • Graph of interconnected microservices • State typically scoped to the microservice • Remote Storage for cold data Stateful services Web presentation services Stateless servicesSQL DB or No-SQL Mobile apps Web Tier Services Tier Data Tier Monolithic Databases are shared across services. Stateless services with separate stores Each microservice owns its model/data! SQL […] Database servers are usually the bottleneck Cache Tier Cache doesn’t help much for massive data ingress (Events, IoT, etc.)
  • 5. Identifying a Domain Model per Microservice or Bounded Context Ordering Microservice Model Basket Microservice Model Identity Microservice Model Order Buyer OrderItem BasketItem ApplicationUser Basket … Address Catalog Microservice Model Type BrandCatalogItem
  • 6. Focus on: - Dockerfile & Docker-compose.yml Debugging Multi-Containers App - Simple CRUD microservice vs DDD microservice
  • 8. Implementing Asynchronous Event-Driven communication with an Event Bus Database Ordering Microservice Basket Microservice Database as Cache Service ServiceUser-Profile Microservice Web API Service Database Backend UserUpdated event (Publish Action) Event Bus (Publish/Subscribe Channel) UpdateUser command UserUpdated event  Buyer info UserUpdated event  Buyer info Eventual consistency across microservices’ data based on event-driven async communication DB update Event Bus Abstractions/Interface Event Bus Implementations RabbitMQ Azure Service Bus Other: NServiceBus MassTransit etc.
  • 9.
  • 10. Focus on: - Event Bus & messaging
  • 11. Orchestrator’s Cluster managing microservices/containers Clusters provide: • High scalability • Automatic High Availability and resiliency • High services density per host Official Docker Images https://hub.docker.com or Cluster of Nodes/Hosts VM App 1 App 2 My ASP.NET Core Services My Docker Images
  • 12. Web Apps Mobile Apps API Management API Apps Logic Apps Notification Hubs Content Delivery Network (CDN) Media Services HDInsight Machine Learning Stream Analytics Data Factory Event Hubs Mobile Engagement Biztalk Services Hybrid Connections Service Bus Storage Queues Backup StorSimple Site Recovery Import/Export SQL Database DocumentDB Redis Cache Search Tables SQL Data Warehouse Azure AD Connect Health AD Privileged Identity Mngt Operational Insights Cloud Services Batch Service Fabric Visual Studio Application Insights Azure SDK Team Project Active Directory Multi-Factor Authentication Automation Portal Key Vault Store / Marketplace VM Image Gallery & VM Depot SECURITY & MANAGEMENT PLATFORM SERVICES HYBRID OPERATIONS Microsoft Azure Azure Container Service Function Apps
  • 13. Azure Compute Continuum Ultimate Control Rapid Development VMs / VM Scale Sets VM Extensions Orchestrators ACS & Service Fabric App Service & Azure Functions IaaS PaaS
  • 14. Orchestrator Description Good for Common workloads Azure Service Fabric is a distributed systems platform that makes it easy to package, deploy, and manage scalable and reliable microservices a) Stateful svc & Actors b) Microservices based on plain processes c) Microservices based on containers Docker Swarm is a clustering and scheduling tool for Docker containers. With Swarm, IT administrators and developers can establish and manage a cluster of Docker nodes as a single virtual system Microservices based on containers Kubernetes is an open-source platform for automating deployment, scaling, and operations of application containers across clusters of hosts Microservices based on containers As a datacenter operating system, DC/OS is itself a distributed system, a cluster manager and a container platform Microservices based on containers (Including other Linux containers, not just Docker) More mature: Less mature: More mature: Less mature: More mature: Less mature: Azure Product Azure Service Fabric Azure Container Service Docker Swarm Service Fabric Production-ready & Microsoft ecosystem Mesosphere DC/OS More mature: Less mature: Production-ready & Linux ecosystem Easy to get started Dev/Test and Production Kubernetes Production-ready & Linux ecosystem
  • 15. aka.ms/MicroservicesEbook aka.ms/MicroservicesArchitecture Additional subjects covered in the eBook Domain Driven Design Patterns • Domain Models (Aggregates, Entity, VO, etc.) • Simplified CQRS • Dapper MicroORM for queries • Commands and Mediator patter • Domain Events (within the same microservice) Microservices • Integration Events (across microservices) • Multi-container docker-compose.yml • Swagger w/ Swashbuckle • Security (Authentication/Authorization) with tokens from IdentityServer4 wrapping ASP.NET Identity

Editor's Notes

  1. Traditional Approach : Application is made up of layers and will be part of a process and if you want to scale you need to scale cloning the application into multiple servers Microservices Approach : The application comprises small set of services and the scaling out is done by scaling out each service Independently by running multiple instance across servers These services or microservices run in its own process and the communication between other microservices using protocols such as http , web sockets or AMQP. Microservice implements a specific business capability end to end and each of these services should be developed autonomously and should be independently deployable with fully automated deployment mechanism
  2. Microservices should own its data model and data and logic Cold data for reporting Advantages and disadvantages of microservices Maintainability Cost savings Polygot Disadvantage Initial implementation Microserices :Small and focused on doing one thing well Vertical slicing or Functional cohesion Bounded context
  3. This is just a sample, actual bounded context boundaries would depend on your real Domains. Depending on each Domain, the entities and their position could be different.
  4. Client apps can access the microservices using HTTP synchronous protocol If we are using the same for communication between microservices then there will issues like If there is dependency between microservices then microservices cannot be deployed independently. Usually microservices should not be aware of other microservices One of the microservice will be waiting for response from the other microservices and which in turn call another service. Then the first microservices will be waiting for the response And also if the downstream microservice fails . The failure will get cascaded
  5. This slide is required. Do NOT delete. This should be the first slide after your Title Slide. This is an important year and we need to arm our attendees with the information they can use to Grow Share! Please ensure that your objectives are SMART (defined below) and that they will enable them to go in and win against the competition to grow share. If you have questions, please contact your Track PM for guidance. We have also posted guidance on writing good objectives, out on the Speaker Portal (https://www.mytechready.com).   This slide should introduce the session by identifying how this information helps the attendee, partners and customers be more successful. Why is this content important? This slide should call out what’s important about the session (sort of the why should we care, why is this important and how will it help our customers/partners be successful) as well as the key takeaways/objectives associated with the session. Call out what attendees will be able to execute on using the information gained in this session. What will they be able to walk away from this session and execute on with their customers. Good Objectives should be SMART (specific, measurable, achievable, realistic, time-bound). Focus on the key takeaways and why this information is important to the attendee, our partners and our customers. Each session has objectives defined and published on www.mytechready.com, please work with your Track PM to call these out here in the slide deck. If you have questions, please contact your Track PM. See slide 5 in this template for a complete list of Tracks and TPMs.
  6. For each service instance you use one container Docker images/containers are “units of deployment” A container is an instance of a Docker Image A host (VM/server) handles many containers https://blogs.msdn.microsoft.com/azureservicefabric/2016/04/25/orchestrating-containers-with-service-fabric/ Service Fabric will support the different types of containers discussed above in an upcoming release. At a high level, containers can be seen as encapsulated, individually deployable components running as isolated instances on the same kernel, leveraging operating system level virtualization. This means that each application, its runtime, dependencies, and system libraries run inside a container with full, private access to their own isolated view of operating system constructs. Along with portability, this degree of security and resource isolation is the main benefit for using containers with Service Fabric, which otherwise runs services in traditional processes. On Linux, this isolation has traditionally been provided by cgroups and namespaces, and Windows Server Containers (coming in Windows Server 2016) will behave similarly. In addition, Windows Server 2016 will offer Hyper-V Containers, an even higher level of security isolation for hostile multi-tenant scenarios. Figure 1 shows the different isolation levels.
  7. This slide is required. Do NOT delete. This should be the first slide after your Title Slide. This is an important year and we need to arm our attendees with the information they can use to Grow Share! Please ensure that your objectives are SMART (defined below) and that they will enable them to go in and win against the competition to grow share. If you have questions, please contact your Track PM for guidance. We have also posted guidance on writing good objectives, out on the Speaker Portal (https://www.mytechready.com).   This slide should introduce the session by identifying how this information helps the attendee, partners and customers be more successful. Why is this content important? This slide should call out what’s important about the session (sort of the why should we care, why is this important and how will it help our customers/partners be successful) as well as the key takeaways/objectives associated with the session. Call out what attendees will be able to execute on using the information gained in this session. What will they be able to walk away from this session and execute on with their customers. Good Objectives should be SMART (specific, measurable, achievable, realistic, time-bound). Focus on the key takeaways and why this information is important to the attendee, our partners and our customers. Each session has objectives defined and published on www.mytechready.com, please work with your Track PM to call these out here in the slide deck. If you have questions, please contact your Track PM. See slide 5 in this template for a complete list of Tracks and TPMs.