SlideShare a Scribd company logo
1 of 8
www.evincedev.com
Microservice is application architecturalstyle to build applicationwhich best
suits for large complex system. Microservice based application contains
loosely coupled small independent deployable projects.
Components of Microservice
1) Service Fabric
 Azure Service Fabric is a Microsoft’s microservice platform and
includes container orchestration as well as developer programming
models to build highlyscalable microservice applications.
 We can deployservice fabric platform to Azure, AWS or on premise
(on Windows orLinux machine)
Microservices with ASP.NET Core:
A Next Gen. Technology
www.evincedev.com
 As of now we can deploystateless containerized application to service
fabric.
 Service fabricplatform provides features like Naming Service (Service
Discovery and Service Registry), Monitoring,Logging, fault tolerance
capabilityetc.
 We can add host/virtual machines from different geographicand
network location to service fabric cluster by ‘Powershell’cli or through
service fabric manifest file.
 Service fabricthen automaticallybalance the nodes,if any node goes
down it will up other node and host required application instance on
the newly added node.
2) Service programming model
Stateless Services
 When we need to persist data to external storage, we will build
stateless service.
 Most of the time we need to store data in external storage (MS SQL,
NoSQL storage) so stateless services use most of the time.
 We can containerize this type of services, as of nowwe can host this
type of service to ‘Docker’ in service fabric.
Stateful Service
 When we need to persist data to service itself, in that case we can
build Stateful service.
 We can reduce latency between business logicand data.
 Stateful services stores through reliable collections to node itself(In
main memory, hard disk)
www.evincedev.com
 Data will be stored across different partitions to scale and replicate to
several nodes to make sure data availability24X7
 As of now we cannot host service to container but in future, this
feature might be included
3) Communication between services
 Client application will communicate with service through Rest APIs
(HTTP Request/Response) protocol. This type of communication is
synchronous in nature, caller will wait till response get back.
 We can follow different technique to communicate between services
(communication between services within cluster)
 We can communicate between services asynchronously (Using Event
Bus – (Service can Publish – Subscribe to specific event by other
service)) wherever possible in case somehow we will not able to
communicate asynchronously then we will synchronously
communicate between services over Rest APIs.
 So that way we can reduce the tight couplingbetween the system and
in case if we need to implement other behaviorfor specific event then
in that case service just need to subscribe that specific event, so that’s
the way we can choreograph the system and we can make the system
more loosely coupled
 We can use Azure service bus to perform asynchronous message based
communication between services there are other tools also available
i.e. RabbitMQ, ActiveMQ etc.
4) Event bus
 Event bus allowed the publish-subscribe style of communication
between services.
www.evincedev.com
 Usingevent bus we can establish asynchronousstyle ofcommunication
between services.
 Each service can subscribe particular event and whenever any event
occurred specified method will be invoked in service.
 For instance, if‘Service A’publish event named ‘OrderCreated’andthis
event is subscribed by ‘Service B’ then whenever ‘OrderCreated’event
published by‘Service A’ this event will be pushed to queue and later it
will be processed by ‘Service B’.
 We can further extend ‘Event Bus’ to implement ‘Event Sourcing’ and
‘CQRS (Command Query Responsibility segregation)’ pattern.
 Event bus is enabled us to implement asynchronous messagingpattern
thus system can be choreographed properly and we can reduce
coupling between service.
 Azure Service Bus can be used to implement this
5) Circuit Breaker
www.evincedev.com
Many times due to the fault of downstream service the caller system might
get collapsed due to all resource exhausted, due to this we might end up
whole system down because of cascade fall down, to prevent this we use
Circuit Breaker pattern which works like a switch between caller service and
downstream service. if downstream service get time out or return any
exception occurred (i.e. HTTP 5XX errors) then switch will be set off
To apply Circuit breaker pattern we use POLLY (http://thepollyproject.org)
library.
Polly provides features like Circuit Breaker, Bulkhead isolation.
6) Load Balancer
 Load balancer will route traffic to different nodes to distribute traffics
over available nodes.
 Load balancer first query to Service Registry (Naming Service) to get
details ofavailable online nodes. So that it can route traffic to nodes.
 We can use Azure Load Balancer service to implement this.
7) Service Discovery and Service Registry (Naming Service)
 This both techniques are responsible to find the physical location of
particular service in cluster.
 Whenever any service up in cluster it will register its IP address with
service registry. after particular timespan heartbeat signal will be sent
to know whether service is still alive or not.
 Wheneveranyservice request come to networkit will first send request
to service registry to find out location of service, this mechanism
www.evincedev.com
implemented on top of load balancer. once load balancer get physical
location of that node it will redirect request to that specific node.
 If we use Service Fabric as our microservice platform, then Service
Discovery and Service Registry mechanism will be built in implemented
(Naming Service in Service Fabric)
8) API Gateway
 API Gateway consist of several small projects which act like an
aggregator or a proxy to inner service layer.
 API Gateway acts like entry point to the application.
 There are several benefits of API Gateways like, we can implement
Authorization, HTTPS termination, we can aggregate response from
various service and send backit to caller so that theydo not need to call
multiple service, this will very helpful for mobile clients.
 We can use APIgatewayas back end forfront end.We do haveseparate
gateway for different type of consumer i.e. Web client, Mobile client
etc.
9) Authentication and Authorization
 We can use ‘IdentityServer4’or ‘auth0’or ‘octa’ for authentication
and authorizationpurpose.
 IdentityServer4is communitydriven project which offers features like
Single Sign on, Refresh token, token based security, one can revoke
generated token,Support External Identityprovider (Google,
Facebook),Admin UI (in beta version)for user management etc.
 Built on top of .NET Core so we can deployit on both Windows or
Linux machine.
www.evincedev.com
Advantage of having Microservice based application
 Each service is relativelysmall,so it is easier to maintain code and
reduced build time
 We can add more feature in less time compare to monolith application
 Each service can be deployed independently,we can do releases more
aggressively
 Easy to scale (Horizontal scaling)
 Different technologystack can be used in different services
Disadvantages
 Limited toolingsupport available to deal with complexityin
microservice based application
 Difficult to create testing environment
 Memory/bandwidthconsumptionwill be increased
 There is no support fortransaction
 One should havedomain knowledge to break functionalityinto
individual service
 Must havedeal with problems of distributedsystem
 Performance might be reduced
 Not suitable forsmall application
Source:
http://www.evincedev.com/blog/microservices-asp-net-core-
next-gen-technology/
www.evincedev.com
Contact Us:
Visit our official website: www.evincedev.com
Email: Padnya.maulik@gmail.com
Skype: evince.development
Contact: +1 315 715 8494
+61 416 474 542
+39 3921722826

More Related Content

What's hot

All About Microservices and OpenSource Microservice Frameworks
All About Microservices and OpenSource Microservice FrameworksAll About Microservices and OpenSource Microservice Frameworks
All About Microservices and OpenSource Microservice FrameworksMohammad Asif Siddiqui
 
Shaping your career for Cloud
Shaping your career for CloudShaping your career for Cloud
Shaping your career for Cloudcloudstoryin
 
Consul 1.6: Layer 7 Traffic Management and Mesh Gateways
Consul 1.6: Layer 7 Traffic Management and Mesh GatewaysConsul 1.6: Layer 7 Traffic Management and Mesh Gateways
Consul 1.6: Layer 7 Traffic Management and Mesh GatewaysMitchell Pronschinske
 
Enterprise Java Microservices : creating and managing large-scale Java applic...
Enterprise Java Microservices : creating and managing large-scale Java applic...Enterprise Java Microservices : creating and managing large-scale Java applic...
Enterprise Java Microservices : creating and managing large-scale Java applic...Manning Publications
 
Develop a Messaging App on AWS in One Day
Develop a Messaging App on AWS in One DayDevelop a Messaging App on AWS in One Day
Develop a Messaging App on AWS in One DayAmazon Web Services
 
WCF (Windows Communication Foundation)
WCF (Windows Communication Foundation)WCF (Windows Communication Foundation)
WCF (Windows Communication Foundation)ipower softwares
 
Deep-Dive: Building Native iOS and Android Application with the AWS Mobile SDK
Deep-Dive: Building Native iOS and Android Application with the AWS Mobile SDKDeep-Dive: Building Native iOS and Android Application with the AWS Mobile SDK
Deep-Dive: Building Native iOS and Android Application with the AWS Mobile SDKAmazon Web Services
 
Architectural concept of Powahome
Architectural concept of PowahomeArchitectural concept of Powahome
Architectural concept of PowahomeClaudio Pastorini
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to MicroservicesMahmoudZidan41
 
Cloud Computing Serverless Architecture
Cloud Computing Serverless ArchitectureCloud Computing Serverless Architecture
Cloud Computing Serverless ArchitectureYASH Technologies
 
Stephane Lapointe, Frank Boucher & Alexandre Brisebois: Les micro-services et...
Stephane Lapointe, Frank Boucher & Alexandre Brisebois: Les micro-services et...Stephane Lapointe, Frank Boucher & Alexandre Brisebois: Les micro-services et...
Stephane Lapointe, Frank Boucher & Alexandre Brisebois: Les micro-services et...MSDEVMTL
 
Getting Started with your User Pools in Amazon Cognito - AWS June 2016 Webina...
Getting Started with your User Pools in Amazon Cognito - AWS June 2016 Webina...Getting Started with your User Pools in Amazon Cognito - AWS June 2016 Webina...
Getting Started with your User Pools in Amazon Cognito - AWS June 2016 Webina...Amazon Web Services
 
Advancio, Inc. Academy: Web Sevices, WCF & SOAPUI
Advancio, Inc. Academy: Web Sevices, WCF & SOAPUIAdvancio, Inc. Academy: Web Sevices, WCF & SOAPUI
Advancio, Inc. Academy: Web Sevices, WCF & SOAPUIAdvancio
 
AWS Sydney Summit 2013 - Extending Your Data Centre with VPC
AWS Sydney Summit 2013 - Extending Your Data Centre with VPCAWS Sydney Summit 2013 - Extending Your Data Centre with VPC
AWS Sydney Summit 2013 - Extending Your Data Centre with VPCAmazon Web Services
 

What's hot (20)

All About Microservices and OpenSource Microservice Frameworks
All About Microservices and OpenSource Microservice FrameworksAll About Microservices and OpenSource Microservice Frameworks
All About Microservices and OpenSource Microservice Frameworks
 
Shaping your career for Cloud
Shaping your career for CloudShaping your career for Cloud
Shaping your career for Cloud
 
Consul 1.6: Layer 7 Traffic Management and Mesh Gateways
Consul 1.6: Layer 7 Traffic Management and Mesh GatewaysConsul 1.6: Layer 7 Traffic Management and Mesh Gateways
Consul 1.6: Layer 7 Traffic Management and Mesh Gateways
 
Enterprise Java Microservices : creating and managing large-scale Java applic...
Enterprise Java Microservices : creating and managing large-scale Java applic...Enterprise Java Microservices : creating and managing large-scale Java applic...
Enterprise Java Microservices : creating and managing large-scale Java applic...
 
Develop a Messaging App on AWS in One Day
Develop a Messaging App on AWS in One DayDevelop a Messaging App on AWS in One Day
Develop a Messaging App on AWS in One Day
 
WCF (Windows Communication Foundation)
WCF (Windows Communication Foundation)WCF (Windows Communication Foundation)
WCF (Windows Communication Foundation)
 
Deep-Dive: Building Native iOS and Android Application with the AWS Mobile SDK
Deep-Dive: Building Native iOS and Android Application with the AWS Mobile SDKDeep-Dive: Building Native iOS and Android Application with the AWS Mobile SDK
Deep-Dive: Building Native iOS and Android Application with the AWS Mobile SDK
 
Architectural concept of Powahome
Architectural concept of PowahomeArchitectural concept of Powahome
Architectural concept of Powahome
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
Cloud Computing Serverless Architecture
Cloud Computing Serverless ArchitectureCloud Computing Serverless Architecture
Cloud Computing Serverless Architecture
 
Stephane Lapointe, Frank Boucher & Alexandre Brisebois: Les micro-services et...
Stephane Lapointe, Frank Boucher & Alexandre Brisebois: Les micro-services et...Stephane Lapointe, Frank Boucher & Alexandre Brisebois: Les micro-services et...
Stephane Lapointe, Frank Boucher & Alexandre Brisebois: Les micro-services et...
 
Getting Started with your User Pools in Amazon Cognito - AWS June 2016 Webina...
Getting Started with your User Pools in Amazon Cognito - AWS June 2016 Webina...Getting Started with your User Pools in Amazon Cognito - AWS June 2016 Webina...
Getting Started with your User Pools in Amazon Cognito - AWS June 2016 Webina...
 
Windows Communication Foundation (WCF)
Windows Communication Foundation (WCF)Windows Communication Foundation (WCF)
Windows Communication Foundation (WCF)
 
Advancio, Inc. Academy: Web Sevices, WCF & SOAPUI
Advancio, Inc. Academy: Web Sevices, WCF & SOAPUIAdvancio, Inc. Academy: Web Sevices, WCF & SOAPUI
Advancio, Inc. Academy: Web Sevices, WCF & SOAPUI
 
AWS Direct Connect
AWS Direct ConnectAWS Direct Connect
AWS Direct Connect
 
AWS Sydney Summit 2013 - Extending Your Data Centre with VPC
AWS Sydney Summit 2013 - Extending Your Data Centre with VPCAWS Sydney Summit 2013 - Extending Your Data Centre with VPC
AWS Sydney Summit 2013 - Extending Your Data Centre with VPC
 
WCF Introduction
WCF IntroductionWCF Introduction
WCF Introduction
 
Intro to Azure Service Bus
Intro to Azure Service BusIntro to Azure Service Bus
Intro to Azure Service Bus
 
Mobile applicationdevelopment
Mobile applicationdevelopmentMobile applicationdevelopment
Mobile applicationdevelopment
 
Amazon Virtual Private Cloud
Amazon Virtual Private CloudAmazon Virtual Private Cloud
Amazon Virtual Private Cloud
 

Similar to Microservices with asp dot net core, a next gen technology

Microservices approach for Websphere commerce
Microservices approach for Websphere commerceMicroservices approach for Websphere commerce
Microservices approach for Websphere commerceHARIHARAN ANANTHARAMAN
 
Build intelligent solutions using Azure
Build intelligent solutions using AzureBuild intelligent solutions using Azure
Build intelligent solutions using AzureMostafa
 
Microservice architecture
Microservice architectureMicroservice architecture
Microservice architectureTouraj Ebrahimi
 
Cloud architecture
Cloud architectureCloud architecture
Cloud architectureAdeel Javaid
 
Build intelligent solutions using ms azure
Build intelligent solutions using ms azureBuild intelligent solutions using ms azure
Build intelligent solutions using ms azureMostafa
 
Service mesh in action with onap
Service mesh in action with onapService mesh in action with onap
Service mesh in action with onapHuabing Zhao
 
Aws interview questions and answers
Aws interview questions and answersAws interview questions and answers
Aws interview questions and answerskavinilavuG
 
Building Cloud Native Architectures with Spring
Building Cloud Native Architectures with SpringBuilding Cloud Native Architectures with Spring
Building Cloud Native Architectures with SpringKenny Bastani
 
08 hopex v next service fabric
08 hopex v next   service fabric08 hopex v next   service fabric
08 hopex v next service fabricMichel Bruchet
 
Aws serverless multi-tier_architectures
Aws serverless multi-tier_architecturesAws serverless multi-tier_architectures
Aws serverless multi-tier_architecturessonpro2312
 
What Is Cloud Computing? | Jacovia Cartwright
What Is Cloud Computing? | Jacovia CartwrightWhat Is Cloud Computing? | Jacovia Cartwright
What Is Cloud Computing? | Jacovia CartwrightJacovia Cartwright
 
Cloud Computing With AWS
Cloud Computing With AWSCloud Computing With AWS
Cloud Computing With AWSMunish Gupta
 
International Conference on Advances in Computing, Communicati.docx
International Conference on Advances in Computing, Communicati.docxInternational Conference on Advances in Computing, Communicati.docx
International Conference on Advances in Computing, Communicati.docxvrickens
 
Microservices - Hitchhiker's guide to cloud native applications
Microservices - Hitchhiker's guide to cloud native applicationsMicroservices - Hitchhiker's guide to cloud native applications
Microservices - Hitchhiker's guide to cloud native applicationsStijn Van Den Enden
 
CCICI CIP 1.0 Testbed - Security access implementation and reference - v1.0
CCICI CIP 1.0 Testbed - Security access implementation and reference - v1.0CCICI CIP 1.0 Testbed - Security access implementation and reference - v1.0
CCICI CIP 1.0 Testbed - Security access implementation and reference - v1.0Krishna-Kumar
 
Intro to spring cloud &microservices by Eugene Hanikblum
Intro to spring cloud &microservices by Eugene HanikblumIntro to spring cloud &microservices by Eugene Hanikblum
Intro to spring cloud &microservices by Eugene HanikblumEugene Hanikblum
 
Reference architectures shows a microservices deployed to Kubernetes
Reference architectures shows a microservices deployed to KubernetesReference architectures shows a microservices deployed to Kubernetes
Reference architectures shows a microservices deployed to KubernetesRakesh Gujjarlapudi
 

Similar to Microservices with asp dot net core, a next gen technology (20)

Microservices approach for Websphere commerce
Microservices approach for Websphere commerceMicroservices approach for Websphere commerce
Microservices approach for Websphere commerce
 
Introducing cloud computing complete
Introducing cloud computing completeIntroducing cloud computing complete
Introducing cloud computing complete
 
Build intelligent solutions using Azure
Build intelligent solutions using AzureBuild intelligent solutions using Azure
Build intelligent solutions using Azure
 
Microservice architecture
Microservice architectureMicroservice architecture
Microservice architecture
 
Cloud architecture
Cloud architectureCloud architecture
Cloud architecture
 
Cloud Computing
 Cloud Computing Cloud Computing
Cloud Computing
 
Build intelligent solutions using ms azure
Build intelligent solutions using ms azureBuild intelligent solutions using ms azure
Build intelligent solutions using ms azure
 
Service mesh in action with onap
Service mesh in action with onapService mesh in action with onap
Service mesh in action with onap
 
Aws interview questions and answers
Aws interview questions and answersAws interview questions and answers
Aws interview questions and answers
 
Building Cloud Native Architectures with Spring
Building Cloud Native Architectures with SpringBuilding Cloud Native Architectures with Spring
Building Cloud Native Architectures with Spring
 
08 hopex v next service fabric
08 hopex v next   service fabric08 hopex v next   service fabric
08 hopex v next service fabric
 
Cloud ppt
Cloud pptCloud ppt
Cloud ppt
 
Aws serverless multi-tier_architectures
Aws serverless multi-tier_architecturesAws serverless multi-tier_architectures
Aws serverless multi-tier_architectures
 
What Is Cloud Computing? | Jacovia Cartwright
What Is Cloud Computing? | Jacovia CartwrightWhat Is Cloud Computing? | Jacovia Cartwright
What Is Cloud Computing? | Jacovia Cartwright
 
Cloud Computing With AWS
Cloud Computing With AWSCloud Computing With AWS
Cloud Computing With AWS
 
International Conference on Advances in Computing, Communicati.docx
International Conference on Advances in Computing, Communicati.docxInternational Conference on Advances in Computing, Communicati.docx
International Conference on Advances in Computing, Communicati.docx
 
Microservices - Hitchhiker's guide to cloud native applications
Microservices - Hitchhiker's guide to cloud native applicationsMicroservices - Hitchhiker's guide to cloud native applications
Microservices - Hitchhiker's guide to cloud native applications
 
CCICI CIP 1.0 Testbed - Security access implementation and reference - v1.0
CCICI CIP 1.0 Testbed - Security access implementation and reference - v1.0CCICI CIP 1.0 Testbed - Security access implementation and reference - v1.0
CCICI CIP 1.0 Testbed - Security access implementation and reference - v1.0
 
Intro to spring cloud &microservices by Eugene Hanikblum
Intro to spring cloud &microservices by Eugene HanikblumIntro to spring cloud &microservices by Eugene Hanikblum
Intro to spring cloud &microservices by Eugene Hanikblum
 
Reference architectures shows a microservices deployed to Kubernetes
Reference architectures shows a microservices deployed to KubernetesReference architectures shows a microservices deployed to Kubernetes
Reference architectures shows a microservices deployed to Kubernetes
 

Recently uploaded

Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsPrecisely
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 

Recently uploaded (20)

Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 

Microservices with asp dot net core, a next gen technology

  • 1. www.evincedev.com Microservice is application architecturalstyle to build applicationwhich best suits for large complex system. Microservice based application contains loosely coupled small independent deployable projects. Components of Microservice 1) Service Fabric  Azure Service Fabric is a Microsoft’s microservice platform and includes container orchestration as well as developer programming models to build highlyscalable microservice applications.  We can deployservice fabric platform to Azure, AWS or on premise (on Windows orLinux machine) Microservices with ASP.NET Core: A Next Gen. Technology
  • 2. www.evincedev.com  As of now we can deploystateless containerized application to service fabric.  Service fabricplatform provides features like Naming Service (Service Discovery and Service Registry), Monitoring,Logging, fault tolerance capabilityetc.  We can add host/virtual machines from different geographicand network location to service fabric cluster by ‘Powershell’cli or through service fabric manifest file.  Service fabricthen automaticallybalance the nodes,if any node goes down it will up other node and host required application instance on the newly added node. 2) Service programming model Stateless Services  When we need to persist data to external storage, we will build stateless service.  Most of the time we need to store data in external storage (MS SQL, NoSQL storage) so stateless services use most of the time.  We can containerize this type of services, as of nowwe can host this type of service to ‘Docker’ in service fabric. Stateful Service  When we need to persist data to service itself, in that case we can build Stateful service.  We can reduce latency between business logicand data.  Stateful services stores through reliable collections to node itself(In main memory, hard disk)
  • 3. www.evincedev.com  Data will be stored across different partitions to scale and replicate to several nodes to make sure data availability24X7  As of now we cannot host service to container but in future, this feature might be included 3) Communication between services  Client application will communicate with service through Rest APIs (HTTP Request/Response) protocol. This type of communication is synchronous in nature, caller will wait till response get back.  We can follow different technique to communicate between services (communication between services within cluster)  We can communicate between services asynchronously (Using Event Bus – (Service can Publish – Subscribe to specific event by other service)) wherever possible in case somehow we will not able to communicate asynchronously then we will synchronously communicate between services over Rest APIs.  So that way we can reduce the tight couplingbetween the system and in case if we need to implement other behaviorfor specific event then in that case service just need to subscribe that specific event, so that’s the way we can choreograph the system and we can make the system more loosely coupled  We can use Azure service bus to perform asynchronous message based communication between services there are other tools also available i.e. RabbitMQ, ActiveMQ etc. 4) Event bus  Event bus allowed the publish-subscribe style of communication between services.
  • 4. www.evincedev.com  Usingevent bus we can establish asynchronousstyle ofcommunication between services.  Each service can subscribe particular event and whenever any event occurred specified method will be invoked in service.  For instance, if‘Service A’publish event named ‘OrderCreated’andthis event is subscribed by ‘Service B’ then whenever ‘OrderCreated’event published by‘Service A’ this event will be pushed to queue and later it will be processed by ‘Service B’.  We can further extend ‘Event Bus’ to implement ‘Event Sourcing’ and ‘CQRS (Command Query Responsibility segregation)’ pattern.  Event bus is enabled us to implement asynchronous messagingpattern thus system can be choreographed properly and we can reduce coupling between service.  Azure Service Bus can be used to implement this 5) Circuit Breaker
  • 5. www.evincedev.com Many times due to the fault of downstream service the caller system might get collapsed due to all resource exhausted, due to this we might end up whole system down because of cascade fall down, to prevent this we use Circuit Breaker pattern which works like a switch between caller service and downstream service. if downstream service get time out or return any exception occurred (i.e. HTTP 5XX errors) then switch will be set off To apply Circuit breaker pattern we use POLLY (http://thepollyproject.org) library. Polly provides features like Circuit Breaker, Bulkhead isolation. 6) Load Balancer  Load balancer will route traffic to different nodes to distribute traffics over available nodes.  Load balancer first query to Service Registry (Naming Service) to get details ofavailable online nodes. So that it can route traffic to nodes.  We can use Azure Load Balancer service to implement this. 7) Service Discovery and Service Registry (Naming Service)  This both techniques are responsible to find the physical location of particular service in cluster.  Whenever any service up in cluster it will register its IP address with service registry. after particular timespan heartbeat signal will be sent to know whether service is still alive or not.  Wheneveranyservice request come to networkit will first send request to service registry to find out location of service, this mechanism
  • 6. www.evincedev.com implemented on top of load balancer. once load balancer get physical location of that node it will redirect request to that specific node.  If we use Service Fabric as our microservice platform, then Service Discovery and Service Registry mechanism will be built in implemented (Naming Service in Service Fabric) 8) API Gateway  API Gateway consist of several small projects which act like an aggregator or a proxy to inner service layer.  API Gateway acts like entry point to the application.  There are several benefits of API Gateways like, we can implement Authorization, HTTPS termination, we can aggregate response from various service and send backit to caller so that theydo not need to call multiple service, this will very helpful for mobile clients.  We can use APIgatewayas back end forfront end.We do haveseparate gateway for different type of consumer i.e. Web client, Mobile client etc. 9) Authentication and Authorization  We can use ‘IdentityServer4’or ‘auth0’or ‘octa’ for authentication and authorizationpurpose.  IdentityServer4is communitydriven project which offers features like Single Sign on, Refresh token, token based security, one can revoke generated token,Support External Identityprovider (Google, Facebook),Admin UI (in beta version)for user management etc.  Built on top of .NET Core so we can deployit on both Windows or Linux machine.
  • 7. www.evincedev.com Advantage of having Microservice based application  Each service is relativelysmall,so it is easier to maintain code and reduced build time  We can add more feature in less time compare to monolith application  Each service can be deployed independently,we can do releases more aggressively  Easy to scale (Horizontal scaling)  Different technologystack can be used in different services Disadvantages  Limited toolingsupport available to deal with complexityin microservice based application  Difficult to create testing environment  Memory/bandwidthconsumptionwill be increased  There is no support fortransaction  One should havedomain knowledge to break functionalityinto individual service  Must havedeal with problems of distributedsystem  Performance might be reduced  Not suitable forsmall application Source: http://www.evincedev.com/blog/microservices-asp-net-core- next-gen-technology/
  • 8. www.evincedev.com Contact Us: Visit our official website: www.evincedev.com Email: Padnya.maulik@gmail.com Skype: evince.development Contact: +1 315 715 8494 +61 416 474 542 +39 3921722826