SlideShare a Scribd company logo
1 of 11
Some Q/A on Microservices
Architecture in Enterprise
Applications Context
Pranab Das
What are Some of the Characteristics of
Enterprise Applications?
Run Information System (IS) of large businesses e.g., banking,
insurance, etc.
Have large user bases for their transactional systems with heavy
concurrent loads.
Store data in polyglot systems e.g., Mainframe, RDBMS, Document
DB, (K, V) pairs, Graph DB, etc.
Have integrated Data Warehouse and Business Intelligence (DW/BI)
systems to put information to strategic use.
Require high performance, low meantime-between-failures (MTBF),
high security, high maintainability, perfect scalability, and low latency.
Why/What is cloud-deployment?
Computing—data processing, storing, and networking—has become a utility such
as electricity, gas, or water that can be switched on or off as required.
Collocating computing resources betters economy of scale and utilization of
energy, helping a greener planet.
Infra as a Service (IaaS) provides only infrastructure or the metal and maximizes freedom to
choose platforms or software.
In addition to the above, Platform as a Service (PaaS) also provides a platform such as
Windows 2012, allowing freedom to select software that is compatible with such platform;
hence, providing reasonable flexibility.
Often, are Virtual Machines (VM) that use the hypervisor to host selected platforms.
 Such VMs may, optionally, be managed—scaled and secured—by the cloud-provider.
 A variation—Container as a Service (CaaS)—is a soft-VM cf. Docker, which is, generally, managed by
the provider.
In addition to the above, Software as a Service (SaaS) also provides a programming
environment that may be limited.
 A type of SaaS, Function as a Service (FaaS) provides standalone functions facilitating microservices.
 FaaS is often fortified with requisite patterns e.g., Façade, Service Registry, and Fail Fast.
What is the Optimum Denomination of
Microservices?
Some talk about microservices as entities.
Microservices as classes or components (when contained) provide easy conceptual
migration from Object-Oriented Analysis and Design (OOAD).
 However, classes provide only a static view—insufficient to represent—of a System under
Development (SuD).
 Rather, an SuD is described by what it does: its APIs.
Some other conceive micro services as a method or function—like a one-
method API.
The functional decomposition of the system could be a way to denominate
microservices.
The atomicity of microservices may encourage reusability through generality.
 A do-something business service may be broken down into microservices such as form-filling,
form-saving, and form-submitting that can be reused for do-something-else business service.
What are Best Practices with
Microservices?
 Microservices being individually maintained and versioned should be indirected through a registry.
 The business services’ clients need not know which microservices need be called to fulfill their requirements.
 An instrumentality should check health of microservices periodically: if a microservice has failed, it should fail fast
the business services that use it.
 The ‘talkative’ REST protocol may cause avoidable strain on computing resources: consider HATEOS.
What/Why is Service Registry
Business services would refer to the registry, instead of a particular
microservice.
Anew version of a microservice needs to be registered (or the
previous version rolled back, in case of a failure) without making any
change in the business processes that use them.
Netflix ‘Eureka’ provides a ready-to-use implementation of Service
Registry via Spring Cloud.
What/Why is Façade?
The Gang of Four pattern Façade is known as API Gateway in
microservices parlance.
It decouples clients from the microservices by providing a business
service abstraction layer in-between.
Amazon Web Service has API Gateway. So has Netflix Zuul, NGiNX,
Spring Cloud Gateway, etc.
The link to a comparative study can be found here.
What/Why Fail Fast?
Sometimes, a microservice may fail or
become slow—any calls to the
corresponding business services would be
wasteful.
A periodic health-check of microservices
should be instituted.
 If a microservice passes the health-check, it is
deemed to be working normally; otherwise
abnormally.
For all abnormal microservices, all
dependent business services should fail fast.
 They should be failed by the façade, without
the façade calling any of the microservices
corresponding to the business service that
associates a failed microservice.
 If the client has a stub of the façade, it may not
even make a request to the façade in the first
place.
Refer to Spring Cloud Circuit Breaker.
Normal Abnormal
Performing
health-check
States (boxes)/Transitions (arrows)
Why Microservices Should
Not Use Talkative REST?
What is Talkative REST?
Is a protocol that returns everything, often unnecessary.
The SOAP is bounded by the WSDL, whereas REST isn’t.
A REST call may beget data that is not required.
Or, not required immediately.
Puts unnecessary demand on computing resources.
Network bandwidth.
Processor.
Memory.
A way to get data on demand could be useful.
Cf. lazy loading.
Especially suitable for microservices that aims for resource-optimization.
What is Hypermedia as the Engine of
Application State (HATEOS)?
Works only with matching data repositories/entity objects.
Such repositories are used in a REST object to create hyperlinks to other
REST objects.
Much like how HTTP uses links within a document to refer to other documents.
Thus, a complex object can be loaded progressively and as required.
Works best if such objects are designed hierarchically.
Optimizes use of computational resources—a great way to improve
performance of enterprise applications.
HATEOS is built atop the REST protocol.
Spring Boot can easily be integrated with HATEOS

More Related Content

What's hot

Algorithm for Scheduling of Dependent Task in Cloud
Algorithm for Scheduling of Dependent Task in CloudAlgorithm for Scheduling of Dependent Task in Cloud
Algorithm for Scheduling of Dependent Task in CloudIRJET Journal
 
Mis 20021241104 20021241103_20021241148_20021241155_20021241149_eai and flexi...
Mis 20021241104 20021241103_20021241148_20021241155_20021241149_eai and flexi...Mis 20021241104 20021241103_20021241148_20021241155_20021241149_eai and flexi...
Mis 20021241104 20021241103_20021241148_20021241155_20021241149_eai and flexi...Shaunak Gujjewar
 
CICS_TS_White_Paper_PJ_PNT003
CICS_TS_White_Paper_PJ_PNT003CICS_TS_White_Paper_PJ_PNT003
CICS_TS_White_Paper_PJ_PNT003Paul Johnson
 
Cloud agility-gap-whitepaper 9595
Cloud agility-gap-whitepaper 9595Cloud agility-gap-whitepaper 9595
Cloud agility-gap-whitepaper 9595Accenture
 
IRJET- Cloud Based Warehouse Management Firm
IRJET- Cloud Based Warehouse Management FirmIRJET- Cloud Based Warehouse Management Firm
IRJET- Cloud Based Warehouse Management FirmIRJET Journal
 
Compliance policies and procedures followed in data centers
Compliance policies and procedures followed in data centersCompliance policies and procedures followed in data centers
Compliance policies and procedures followed in data centersLivin Jose
 
ServicePilot ISM Express Datasheet [EN]
ServicePilot ISM Express Datasheet [EN]ServicePilot ISM Express Datasheet [EN]
ServicePilot ISM Express Datasheet [EN]ServicePilot
 
iCloud Healthcare
iCloud  HealthcareiCloud  Healthcare
iCloud HealthcareiCloud Inc.
 
Changing Landscape of Data Centers
Changing Landscape of Data CentersChanging Landscape of Data Centers
Changing Landscape of Data CentersSuhas Kelkar
 

What's hot (12)

Cloud Design Patterns
Cloud Design PatternsCloud Design Patterns
Cloud Design Patterns
 
Algorithm for Scheduling of Dependent Task in Cloud
Algorithm for Scheduling of Dependent Task in CloudAlgorithm for Scheduling of Dependent Task in Cloud
Algorithm for Scheduling of Dependent Task in Cloud
 
Mis 20021241104 20021241103_20021241148_20021241155_20021241149_eai and flexi...
Mis 20021241104 20021241103_20021241148_20021241155_20021241149_eai and flexi...Mis 20021241104 20021241103_20021241148_20021241155_20021241149_eai and flexi...
Mis 20021241104 20021241103_20021241148_20021241155_20021241149_eai and flexi...
 
CICS_TS_White_Paper_PJ_PNT003
CICS_TS_White_Paper_PJ_PNT003CICS_TS_White_Paper_PJ_PNT003
CICS_TS_White_Paper_PJ_PNT003
 
Cloud agility-gap-whitepaper 9595
Cloud agility-gap-whitepaper 9595Cloud agility-gap-whitepaper 9595
Cloud agility-gap-whitepaper 9595
 
Team Thunder Cloud
Team Thunder CloudTeam Thunder Cloud
Team Thunder Cloud
 
IRJET- Cloud Based Warehouse Management Firm
IRJET- Cloud Based Warehouse Management FirmIRJET- Cloud Based Warehouse Management Firm
IRJET- Cloud Based Warehouse Management Firm
 
Compliance policies and procedures followed in data centers
Compliance policies and procedures followed in data centersCompliance policies and procedures followed in data centers
Compliance policies and procedures followed in data centers
 
ServicePilot ISM Express Datasheet [EN]
ServicePilot ISM Express Datasheet [EN]ServicePilot ISM Express Datasheet [EN]
ServicePilot ISM Express Datasheet [EN]
 
iCloud Healthcare
iCloud  HealthcareiCloud  Healthcare
iCloud Healthcare
 
Iam cloud security_vision_wp_236732
Iam cloud security_vision_wp_236732Iam cloud security_vision_wp_236732
Iam cloud security_vision_wp_236732
 
Changing Landscape of Data Centers
Changing Landscape of Data CentersChanging Landscape of Data Centers
Changing Landscape of Data Centers
 

Similar to Some questions on microservices

Microservices architecture
Microservices architectureMicroservices architecture
Microservices architectureFaren faren
 
PERFORMANCE EVALUATION OF CONTAINERIZATION IN EDGE-CLOUD COMPUTING STACKS FOR...
PERFORMANCE EVALUATION OF CONTAINERIZATION IN EDGE-CLOUD COMPUTING STACKS FOR...PERFORMANCE EVALUATION OF CONTAINERIZATION IN EDGE-CLOUD COMPUTING STACKS FOR...
PERFORMANCE EVALUATION OF CONTAINERIZATION IN EDGE-CLOUD COMPUTING STACKS FOR...IRJET Journal
 
10 Key Digital Infrastructure Considerations
10 Key Digital Infrastructure Considerations10 Key Digital Infrastructure Considerations
10 Key Digital Infrastructure ConsiderationsCognizant
 
The Journey Toward the Software-Defined Data Center
The Journey Toward the Software-Defined Data CenterThe Journey Toward the Software-Defined Data Center
The Journey Toward the Software-Defined Data CenterCognizant
 
Microservices: A Step Towards Modernizing Healthcare Applications
Microservices: A Step Towards Modernizing Healthcare ApplicationsMicroservices: A Step Towards Modernizing Healthcare Applications
Microservices: A Step Towards Modernizing Healthcare ApplicationsCitiusTech
 
brocade-five-pillars-federal-data-centers-wp (1)
brocade-five-pillars-federal-data-centers-wp (1)brocade-five-pillars-federal-data-centers-wp (1)
brocade-five-pillars-federal-data-centers-wp (1)Chet Fincke
 
brocade-five-pillars-federal-data-centers-wp (1)
brocade-five-pillars-federal-data-centers-wp (1)brocade-five-pillars-federal-data-centers-wp (1)
brocade-five-pillars-federal-data-centers-wp (1)Vince Garr
 
Cloud Computing: A study of cloud architecture and its patterns
Cloud Computing: A study of cloud architecture and its patternsCloud Computing: A study of cloud architecture and its patterns
Cloud Computing: A study of cloud architecture and its patternsIJERA Editor
 
A Comparative Review on Fault Tolerance methods and models in Cloud Computing
A Comparative Review on Fault Tolerance methods and models in Cloud ComputingA Comparative Review on Fault Tolerance methods and models in Cloud Computing
A Comparative Review on Fault Tolerance methods and models in Cloud ComputingIRJET Journal
 
A NEW APPROACH FOR SECURITY IN CLOUD DATA STORAGE FOR IOT APPLICATIONS USING ...
A NEW APPROACH FOR SECURITY IN CLOUD DATA STORAGE FOR IOT APPLICATIONS USING ...A NEW APPROACH FOR SECURITY IN CLOUD DATA STORAGE FOR IOT APPLICATIONS USING ...
A NEW APPROACH FOR SECURITY IN CLOUD DATA STORAGE FOR IOT APPLICATIONS USING ...IRJET Journal
 
SaaS Application Scalability: Best Practices from Architecture to Cloud Infra...
SaaS Application Scalability: Best Practices from Architecture to Cloud Infra...SaaS Application Scalability: Best Practices from Architecture to Cloud Infra...
SaaS Application Scalability: Best Practices from Architecture to Cloud Infra...riyak40
 
Bimodal / Two Speed IT and Cloud Serverless Microservice Architecture
Bimodal / Two Speed IT and Cloud Serverless Microservice ArchitectureBimodal / Two Speed IT and Cloud Serverless Microservice Architecture
Bimodal / Two Speed IT and Cloud Serverless Microservice ArchitectureRobert Wilson
 
IRJET - Application Development Approach to Transform Traditional Web Applica...
IRJET - Application Development Approach to Transform Traditional Web Applica...IRJET - Application Development Approach to Transform Traditional Web Applica...
IRJET - Application Development Approach to Transform Traditional Web Applica...IRJET Journal
 
Enterprise Integration in Cloud Native Microservices Architectures
Enterprise Integration in Cloud Native Microservices ArchitecturesEnterprise Integration in Cloud Native Microservices Architectures
Enterprise Integration in Cloud Native Microservices ArchitecturesCrishantha Nanayakkara
 
Best Practices Building Cloud Scale Apps with Microservices
Best Practices Building Cloud Scale Apps with MicroservicesBest Practices Building Cloud Scale Apps with Microservices
Best Practices Building Cloud Scale Apps with MicroservicesJim (张建军) Zhang
 
A Short Appraisal on Cloud Computing
A Short Appraisal on Cloud ComputingA Short Appraisal on Cloud Computing
A Short Appraisal on Cloud ComputingScientific Review SR
 
Introduction to microservices
Introduction to microservicesIntroduction to microservices
Introduction to microservicesAnil Allewar
 
SELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHY
SELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHYSELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHY
SELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHYdannyijwest
 

Similar to Some questions on microservices (20)

Microservices architecture
Microservices architectureMicroservices architecture
Microservices architecture
 
Refactoring to Microservice Architecture
Refactoring to Microservice ArchitectureRefactoring to Microservice Architecture
Refactoring to Microservice Architecture
 
PERFORMANCE EVALUATION OF CONTAINERIZATION IN EDGE-CLOUD COMPUTING STACKS FOR...
PERFORMANCE EVALUATION OF CONTAINERIZATION IN EDGE-CLOUD COMPUTING STACKS FOR...PERFORMANCE EVALUATION OF CONTAINERIZATION IN EDGE-CLOUD COMPUTING STACKS FOR...
PERFORMANCE EVALUATION OF CONTAINERIZATION IN EDGE-CLOUD COMPUTING STACKS FOR...
 
10 Key Digital Infrastructure Considerations
10 Key Digital Infrastructure Considerations10 Key Digital Infrastructure Considerations
10 Key Digital Infrastructure Considerations
 
The Journey Toward the Software-Defined Data Center
The Journey Toward the Software-Defined Data CenterThe Journey Toward the Software-Defined Data Center
The Journey Toward the Software-Defined Data Center
 
Microservices: A Step Towards Modernizing Healthcare Applications
Microservices: A Step Towards Modernizing Healthcare ApplicationsMicroservices: A Step Towards Modernizing Healthcare Applications
Microservices: A Step Towards Modernizing Healthcare Applications
 
brocade-five-pillars-federal-data-centers-wp (1)
brocade-five-pillars-federal-data-centers-wp (1)brocade-five-pillars-federal-data-centers-wp (1)
brocade-five-pillars-federal-data-centers-wp (1)
 
brocade-five-pillars-federal-data-centers-wp (1)
brocade-five-pillars-federal-data-centers-wp (1)brocade-five-pillars-federal-data-centers-wp (1)
brocade-five-pillars-federal-data-centers-wp (1)
 
Cloud Computing: A study of cloud architecture and its patterns
Cloud Computing: A study of cloud architecture and its patternsCloud Computing: A study of cloud architecture and its patterns
Cloud Computing: A study of cloud architecture and its patterns
 
A Comparative Review on Fault Tolerance methods and models in Cloud Computing
A Comparative Review on Fault Tolerance methods and models in Cloud ComputingA Comparative Review on Fault Tolerance methods and models in Cloud Computing
A Comparative Review on Fault Tolerance methods and models in Cloud Computing
 
A NEW APPROACH FOR SECURITY IN CLOUD DATA STORAGE FOR IOT APPLICATIONS USING ...
A NEW APPROACH FOR SECURITY IN CLOUD DATA STORAGE FOR IOT APPLICATIONS USING ...A NEW APPROACH FOR SECURITY IN CLOUD DATA STORAGE FOR IOT APPLICATIONS USING ...
A NEW APPROACH FOR SECURITY IN CLOUD DATA STORAGE FOR IOT APPLICATIONS USING ...
 
SaaS Application Scalability: Best Practices from Architecture to Cloud Infra...
SaaS Application Scalability: Best Practices from Architecture to Cloud Infra...SaaS Application Scalability: Best Practices from Architecture to Cloud Infra...
SaaS Application Scalability: Best Practices from Architecture to Cloud Infra...
 
Bimodal / Two Speed IT and Cloud Serverless Microservice Architecture
Bimodal / Two Speed IT and Cloud Serverless Microservice ArchitectureBimodal / Two Speed IT and Cloud Serverless Microservice Architecture
Bimodal / Two Speed IT and Cloud Serverless Microservice Architecture
 
IRJET - Application Development Approach to Transform Traditional Web Applica...
IRJET - Application Development Approach to Transform Traditional Web Applica...IRJET - Application Development Approach to Transform Traditional Web Applica...
IRJET - Application Development Approach to Transform Traditional Web Applica...
 
Enterprise Integration in Cloud Native Microservices Architectures
Enterprise Integration in Cloud Native Microservices ArchitecturesEnterprise Integration in Cloud Native Microservices Architectures
Enterprise Integration in Cloud Native Microservices Architectures
 
Best Practices Building Cloud Scale Apps with Microservices
Best Practices Building Cloud Scale Apps with MicroservicesBest Practices Building Cloud Scale Apps with Microservices
Best Practices Building Cloud Scale Apps with Microservices
 
A Short Appraisal on Cloud Computing
A Short Appraisal on Cloud ComputingA Short Appraisal on Cloud Computing
A Short Appraisal on Cloud Computing
 
Introduction to microservices
Introduction to microservicesIntroduction to microservices
Introduction to microservices
 
Api enablement-mainframe
Api enablement-mainframeApi enablement-mainframe
Api enablement-mainframe
 
SELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHY
SELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHYSELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHY
SELECTION MECHANISM OF MICRO-SERVICES ORCHESTRATION VS. CHOREOGRAPHY
 

Recently uploaded

[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse
[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse
[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypseTomasz Kowalczewski
 
A Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdfA Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdfICS
 
Incident handling is a clearly defined set of procedures to manage and respon...
Incident handling is a clearly defined set of procedures to manage and respon...Incident handling is a clearly defined set of procedures to manage and respon...
Incident handling is a clearly defined set of procedures to manage and respon...Varun Mithran
 
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-CloudAlluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-CloudAlluxio, Inc.
 
Software Engineering - Introduction + Process Models + Requirements Engineering
Software Engineering - Introduction + Process Models + Requirements EngineeringSoftware Engineering - Introduction + Process Models + Requirements Engineering
Software Engineering - Introduction + Process Models + Requirements EngineeringPrakhyath Rai
 
CERVED e Neo4j su una nuvola, migrazione ed evoluzione di un grafo mission cr...
CERVED e Neo4j su una nuvola, migrazione ed evoluzione di un grafo mission cr...CERVED e Neo4j su una nuvola, migrazione ed evoluzione di un grafo mission cr...
CERVED e Neo4j su una nuvola, migrazione ed evoluzione di un grafo mission cr...Neo4j
 
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...drm1699
 
Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024Andreas Granig
 
Novo Nordisk: When Knowledge Graphs meet LLMs
Novo Nordisk: When Knowledge Graphs meet LLMsNovo Nordisk: When Knowledge Graphs meet LLMs
Novo Nordisk: When Knowledge Graphs meet LLMsNeo4j
 
GraphSummit Milan - Neo4j: The Art of the Possible with Graph
GraphSummit Milan - Neo4j: The Art of the Possible with GraphGraphSummit Milan - Neo4j: The Art of the Possible with Graph
GraphSummit Milan - Neo4j: The Art of the Possible with GraphNeo4j
 
Test Automation Design Patterns_ A Comprehensive Guide.pdf
Test Automation Design Patterns_ A Comprehensive Guide.pdfTest Automation Design Patterns_ A Comprehensive Guide.pdf
Test Automation Design Patterns_ A Comprehensive Guide.pdfkalichargn70th171
 
Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...
Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...
Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...Abortion Clinic
 
architecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdfarchitecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdfWSO2
 
Your Ultimate Web Studio for Streaming Anywhere | Evmux
Your Ultimate Web Studio for Streaming Anywhere | EvmuxYour Ultimate Web Studio for Streaming Anywhere | Evmux
Your Ultimate Web Studio for Streaming Anywhere | Evmuxevmux96
 
Navigation in flutter – how to add stack, tab, and drawer navigators to your ...
Navigation in flutter – how to add stack, tab, and drawer navigators to your ...Navigation in flutter – how to add stack, tab, and drawer navigators to your ...
Navigation in flutter – how to add stack, tab, and drawer navigators to your ...Flutter Agency
 
Lessons Learned from Building a Serverless Notifications System.pdf
Lessons Learned from Building a Serverless Notifications System.pdfLessons Learned from Building a Serverless Notifications System.pdf
Lessons Learned from Building a Serverless Notifications System.pdfSrushith Repakula
 
Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024Henry Schreiner
 

Recently uploaded (20)

[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse
[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse
[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse
 
A Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdfA Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdf
 
Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...
Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...
Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...
 
Incident handling is a clearly defined set of procedures to manage and respon...
Incident handling is a clearly defined set of procedures to manage and respon...Incident handling is a clearly defined set of procedures to manage and respon...
Incident handling is a clearly defined set of procedures to manage and respon...
 
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-CloudAlluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
 
Software Engineering - Introduction + Process Models + Requirements Engineering
Software Engineering - Introduction + Process Models + Requirements EngineeringSoftware Engineering - Introduction + Process Models + Requirements Engineering
Software Engineering - Introduction + Process Models + Requirements Engineering
 
CERVED e Neo4j su una nuvola, migrazione ed evoluzione di un grafo mission cr...
CERVED e Neo4j su una nuvola, migrazione ed evoluzione di un grafo mission cr...CERVED e Neo4j su una nuvola, migrazione ed evoluzione di un grafo mission cr...
CERVED e Neo4j su una nuvola, migrazione ed evoluzione di un grafo mission cr...
 
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
 
Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024
 
Novo Nordisk: When Knowledge Graphs meet LLMs
Novo Nordisk: When Knowledge Graphs meet LLMsNovo Nordisk: When Knowledge Graphs meet LLMs
Novo Nordisk: When Knowledge Graphs meet LLMs
 
GraphSummit Milan - Neo4j: The Art of the Possible with Graph
GraphSummit Milan - Neo4j: The Art of the Possible with GraphGraphSummit Milan - Neo4j: The Art of the Possible with Graph
GraphSummit Milan - Neo4j: The Art of the Possible with Graph
 
Test Automation Design Patterns_ A Comprehensive Guide.pdf
Test Automation Design Patterns_ A Comprehensive Guide.pdfTest Automation Design Patterns_ A Comprehensive Guide.pdf
Test Automation Design Patterns_ A Comprehensive Guide.pdf
 
Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...
Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...
Abortion Pill Prices Jane Furse ](+27832195400*)[ 🏥 Women's Abortion Clinic i...
 
architecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdfarchitecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdf
 
Your Ultimate Web Studio for Streaming Anywhere | Evmux
Your Ultimate Web Studio for Streaming Anywhere | EvmuxYour Ultimate Web Studio for Streaming Anywhere | Evmux
Your Ultimate Web Studio for Streaming Anywhere | Evmux
 
Abortion Pill Prices Mthatha (@](+27832195400*)[ 🏥 Women's Abortion Clinic In...
Abortion Pill Prices Mthatha (@](+27832195400*)[ 🏥 Women's Abortion Clinic In...Abortion Pill Prices Mthatha (@](+27832195400*)[ 🏥 Women's Abortion Clinic In...
Abortion Pill Prices Mthatha (@](+27832195400*)[ 🏥 Women's Abortion Clinic In...
 
Navigation in flutter – how to add stack, tab, and drawer navigators to your ...
Navigation in flutter – how to add stack, tab, and drawer navigators to your ...Navigation in flutter – how to add stack, tab, and drawer navigators to your ...
Navigation in flutter – how to add stack, tab, and drawer navigators to your ...
 
Abortion Clinic In Springs ](+27832195400*)[ 🏥 Safe Abortion Pills in Springs...
Abortion Clinic In Springs ](+27832195400*)[ 🏥 Safe Abortion Pills in Springs...Abortion Clinic In Springs ](+27832195400*)[ 🏥 Safe Abortion Pills in Springs...
Abortion Clinic In Springs ](+27832195400*)[ 🏥 Safe Abortion Pills in Springs...
 
Lessons Learned from Building a Serverless Notifications System.pdf
Lessons Learned from Building a Serverless Notifications System.pdfLessons Learned from Building a Serverless Notifications System.pdf
Lessons Learned from Building a Serverless Notifications System.pdf
 
Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024
 

Some questions on microservices

  • 1. Some Q/A on Microservices Architecture in Enterprise Applications Context Pranab Das
  • 2. What are Some of the Characteristics of Enterprise Applications? Run Information System (IS) of large businesses e.g., banking, insurance, etc. Have large user bases for their transactional systems with heavy concurrent loads. Store data in polyglot systems e.g., Mainframe, RDBMS, Document DB, (K, V) pairs, Graph DB, etc. Have integrated Data Warehouse and Business Intelligence (DW/BI) systems to put information to strategic use. Require high performance, low meantime-between-failures (MTBF), high security, high maintainability, perfect scalability, and low latency.
  • 3. Why/What is cloud-deployment? Computing—data processing, storing, and networking—has become a utility such as electricity, gas, or water that can be switched on or off as required. Collocating computing resources betters economy of scale and utilization of energy, helping a greener planet. Infra as a Service (IaaS) provides only infrastructure or the metal and maximizes freedom to choose platforms or software. In addition to the above, Platform as a Service (PaaS) also provides a platform such as Windows 2012, allowing freedom to select software that is compatible with such platform; hence, providing reasonable flexibility. Often, are Virtual Machines (VM) that use the hypervisor to host selected platforms.  Such VMs may, optionally, be managed—scaled and secured—by the cloud-provider.  A variation—Container as a Service (CaaS)—is a soft-VM cf. Docker, which is, generally, managed by the provider. In addition to the above, Software as a Service (SaaS) also provides a programming environment that may be limited.  A type of SaaS, Function as a Service (FaaS) provides standalone functions facilitating microservices.  FaaS is often fortified with requisite patterns e.g., Façade, Service Registry, and Fail Fast.
  • 4. What is the Optimum Denomination of Microservices? Some talk about microservices as entities. Microservices as classes or components (when contained) provide easy conceptual migration from Object-Oriented Analysis and Design (OOAD).  However, classes provide only a static view—insufficient to represent—of a System under Development (SuD).  Rather, an SuD is described by what it does: its APIs. Some other conceive micro services as a method or function—like a one- method API. The functional decomposition of the system could be a way to denominate microservices. The atomicity of microservices may encourage reusability through generality.  A do-something business service may be broken down into microservices such as form-filling, form-saving, and form-submitting that can be reused for do-something-else business service.
  • 5. What are Best Practices with Microservices?  Microservices being individually maintained and versioned should be indirected through a registry.  The business services’ clients need not know which microservices need be called to fulfill their requirements.  An instrumentality should check health of microservices periodically: if a microservice has failed, it should fail fast the business services that use it.  The ‘talkative’ REST protocol may cause avoidable strain on computing resources: consider HATEOS.
  • 6. What/Why is Service Registry Business services would refer to the registry, instead of a particular microservice. Anew version of a microservice needs to be registered (or the previous version rolled back, in case of a failure) without making any change in the business processes that use them. Netflix ‘Eureka’ provides a ready-to-use implementation of Service Registry via Spring Cloud.
  • 7. What/Why is Façade? The Gang of Four pattern Façade is known as API Gateway in microservices parlance. It decouples clients from the microservices by providing a business service abstraction layer in-between. Amazon Web Service has API Gateway. So has Netflix Zuul, NGiNX, Spring Cloud Gateway, etc. The link to a comparative study can be found here.
  • 8. What/Why Fail Fast? Sometimes, a microservice may fail or become slow—any calls to the corresponding business services would be wasteful. A periodic health-check of microservices should be instituted.  If a microservice passes the health-check, it is deemed to be working normally; otherwise abnormally. For all abnormal microservices, all dependent business services should fail fast.  They should be failed by the façade, without the façade calling any of the microservices corresponding to the business service that associates a failed microservice.  If the client has a stub of the façade, it may not even make a request to the façade in the first place. Refer to Spring Cloud Circuit Breaker. Normal Abnormal Performing health-check States (boxes)/Transitions (arrows)
  • 9. Why Microservices Should Not Use Talkative REST?
  • 10. What is Talkative REST? Is a protocol that returns everything, often unnecessary. The SOAP is bounded by the WSDL, whereas REST isn’t. A REST call may beget data that is not required. Or, not required immediately. Puts unnecessary demand on computing resources. Network bandwidth. Processor. Memory. A way to get data on demand could be useful. Cf. lazy loading. Especially suitable for microservices that aims for resource-optimization.
  • 11. What is Hypermedia as the Engine of Application State (HATEOS)? Works only with matching data repositories/entity objects. Such repositories are used in a REST object to create hyperlinks to other REST objects. Much like how HTTP uses links within a document to refer to other documents. Thus, a complex object can be loaded progressively and as required. Works best if such objects are designed hierarchically. Optimizes use of computational resources—a great way to improve performance of enterprise applications. HATEOS is built atop the REST protocol. Spring Boot can easily be integrated with HATEOS