SlideShare a Scribd company logo
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

Cloud Design Patterns
Cloud Design PatternsCloud Design Patterns
Cloud Design Patterns
Carlos Mendible
 
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
IRJET 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_PNT003
Paul Johnson
 
Cloud agility-gap-whitepaper 9595
Cloud agility-gap-whitepaper 9595Cloud agility-gap-whitepaper 9595
Cloud agility-gap-whitepaper 9595
Accenture
 
Team Thunder Cloud
Team Thunder CloudTeam Thunder Cloud
Team Thunder Cloud
GovCloud Network
 
IRJET- Cloud Based Warehouse Management Firm
IRJET- Cloud Based Warehouse Management FirmIRJET- Cloud Based Warehouse Management Firm
IRJET- Cloud Based Warehouse Management Firm
IRJET 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 centers
Livin 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 Healthcare
iCloud Inc.
 
Iam cloud security_vision_wp_236732
Iam cloud security_vision_wp_236732Iam cloud security_vision_wp_236732
Iam cloud security_vision_wp_236732
Sandeep Sharma IIMK Smart City,IoT,Bigdata,Cloud,BI,DW
 
Changing Landscape of Data Centers
Changing Landscape of Data CentersChanging Landscape of Data Centers
Changing Landscape of Data Centers
Suhas 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 architecture
Faren faren
 
Refactoring to Microservice Architecture
Refactoring to Microservice ArchitectureRefactoring to Microservice Architecture
Refactoring to Microservice Architecture
IJCSIS Research Publications
 
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 Considerations
Cognizant
 
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
Cognizant
 
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
CitiusTech
 
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 patterns
IJERA 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 Computing
IRJET 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 Architecture
Robert 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 Architectures
Crishantha 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 Microservices
Jim (张建军) Zhang
 
A Short Appraisal on Cloud Computing
A Short Appraisal on Cloud ComputingA Short Appraisal on Cloud Computing
A Short Appraisal on Cloud Computing
Scientific Review SR
 
Introduction to microservices
Introduction to microservicesIntroduction to microservices
Introduction to microservices
Anil Allewar
 
Api enablement-mainframe
Api enablement-mainframeApi enablement-mainframe
Api enablement-mainframe
Maran Gothandaraman
 
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
dannyijwest
 

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

Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
Aftab Hussain
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
Yara Milbes
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
Quickdice ERP
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
Google
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
lorraineandreiamcidl
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
Hironori Washizaki
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
What is Master Data Management by PiLog Group
What is Master Data Management by PiLog GroupWhat is Master Data Management by PiLog Group
What is Master Data Management by PiLog Group
aymanquadri279
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
Green Software Development
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
SOCRadar
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
Shane Coughlan
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
brainerhub1
 

Recently uploaded (20)

Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
What is Master Data Management by PiLog Group
What is Master Data Management by PiLog GroupWhat is Master Data Management by PiLog Group
What is Master Data Management by PiLog Group
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
 

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