SlideShare a Scribd company logo
1 of 22
Download to read offline
The Trial Period is Over:
Microservices Adoption Gains Momentum
—
Think 2019 / 6175A / February 15, 2019 / © 2019 IBM Corporation
Shahir A. Daya
IBM Distinguished Engineer, IBM
Jermaine C. Edwards
IBM Chief Architect, IBM
IBM’s statements regarding its plans, directions, and intent are subject to change or withdrawal without
notice and at IBM’s sole discretion.
Information regarding potential future products is intended to outline our general product direction and it
should not be relied on in making a purchasing decision.
The information mentioned regarding potential future products is not a commitment, promise, or legal
obligation to deliver any material, code or functionality. Information about potential future products may not
be incorporated into any contract.
The development, release, and timing of any future features or functionality described for our products
remains at our sole discretion.
Performance is based on measurements and projections using standard IBM benchmarks in a controlled
environment. The actual throughput or performance that any user will experience will vary depending upon
many factors, including considerations such as the amount of multiprogramming in the user’s job stream,
the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can
be given that an individual user will achieve results similar to those stated here.
2
Please note
Think 2019 / 6175A / February 15, 2019 / © 2019 IBM Corporation
Agenda
3Think 2019 / 3768A / February 14, 2019 / © 2019 IBM Corporation
• Microservices – what are they and why should we care
• What are the tenets of the Microservices Architectural Style
• When do Microservices make sense and more importantly when do they not
• How about Microservices for Greenfield vs. Brownfield
• How do we decompose existing monoliths, how do we deal with data, etc.
• Q & A
Microservices
Introduction
4Think 2019 / 3768A / February 14, 2019 / © 2019 IBM Corporation
Microservices architecture involves building applications as
small, loosely coupled, autonomous components
5Think 2019 / 3768A / February 14, 2019 / © 2019 IBM Corporation
• Monolithic
applications are one
large application that
does everything
• Microservices are
several smaller
applications that
each does part of the
whole
• Microservices are
focused on business
capabilities,
concentrating on
business APIs
Sources: Gartner, Forrester, IDC, Martin Fowler & James Lewis, PwC, Apigee, Dzone Microservices vs SOA
▪ Tightly coupled
▪ Full dependency; each
change has unanticipated
effects requiring careful
testing beforehand
▪ Large, single code base
(e.g., capability)
▪ Loosely coupled
▪ Reduced dependencies;
elements are developed
more autonomously, but
must be coordinated to fit
overall design
▪ Greater modularity (e.g.,
domain)
Monolithic Traditional SOA Microservices
Client Server Era Web Era Cloud Era
▪ Decoupled
▪ Zero dependency; new
and/or modified
functionality can by
independently deployable
▪ Small components that
perform a discrete functions
(e.g., feature)
Team Team
Team Team
Benefits of the
Microservices
architectural style
6
Microservices provide value benefit
through:
1.Selective granular scaling provides
optimization across all layers of the
stack
2.Componentization isolates risks,
defects and outages, resulting in
greater fault tolerance
3.Designed for fast & frequent change;
unleashed polyglot programming
2Fault Isolation
Resilience
1 Scale
Scale at Size
3 Agility
Innovation
Lightweight SW code, focused on doing
one function well
Functionally & operationally self-contained
Minimal interdependencies with other
components
Deployed, Maintained, Managed, Scaled
independently
“Open” - can be run on bare OS,
Container, Foundry etc
Interoperability – REST API is typical
interfacing mechanism
Every Microservice can be developed in a
different programming language
With thoughtful implementation of well-accepted
design patterns, enables highly resilient systems
4Polyglot
Flexibility
5Teams work
independently
Distributed
Think 2019 / 6175A / February 15, 2019 / © 2019 IBM Corporation
Tenets of the
Microservices
Architectural Style
7Think 2019 / 3768A / February 14, 2019 / © 2019 IBM Corporation
Tenets of the Microservices
Architectural style
8Think 2019 / 3768A / February 14, 2019 / © 2019 IBM Corporation
Large monoliths
are broken down
into many small
services
Services are
optimized for a
single function
Communication
via REST API and
message brokers
Per-service
continuous
integration and
continuous
deployment
(CI/CD)
Per-service high
availability (HA)
and clustering
decisions
Each service runs in its
own process
One service per
container
There is only one
business function per
service
The Single
Responsibility Principle
(A microservice should
have one, and only
one, reason to change)
Avoid tight coupling
introduced by
communication through
a database
Services evolve at
different rates
You let the system
evolve but set
architectural principles
to guide that evolution
One size or scaling
policy is not appropriate
for all
Not all services need to
scale; others require
autoscaling up to large
numbers
When to use and
when not to use
Microservices
9Think 2019 / 3768A / February 14, 2019 / © 2019 IBM Corporation
When to use
Microservices
10Think 2019 / 3768A / February 14, 2019 / © 2019 IBM Corporation
• Services need to be highly available
and continue to be available through
component failure
• Services are likely to have frequent
changes to the production services
which need to be made safely with
little or no outage
• Services are likely to have to scale for
significant peek loads or for future
growth
• No financial business case for
adopting a microservices approach
• Do not have a mature DevOps
culture, skills and tools in place
• Do not have culture, skills, tools to
support microservice monitoring,
management and continuous
feedback
When NOT to use
Microservices
How about
Microservices for
Greenfield vs.
Brownfield
11Think 2019 / 3768A / February 14, 2019 / © 2019 IBM Corporation
Microservices Considerations for
Greenfield vs. Brownfield
12Think 2019 / 3768A / February 14, 2019 / © 2019 IBM Corporation
Greenfield (New Application)
• Clean slate in defining Microservice
architecture based on 12 factor
principles
• Apply Domain Driven Design
principles
Brownfield (Existing Application)
• Strangle the Monolith over time with
new microservices
• Completely rewrite all of it as new
microservices
How do we
decompose existing
monoliths, how do
we deal with data,
etc.
13Think 2019 / 3768A / February 14, 2019 / © 2019 IBM Corporation
How do we decompose an
existing monolithic application
14Think 2019 / 3768A / February 14, 2019 / © 2019 IBM Corporation
1. Separate databases before
separating services.
2. Place existing transactions
within a single service or
redesign the transaction usage
(compensating/eventual
consistency).
3. Consider the team
composition.
4. Implement new features as
microservices around the
existing monolith.
How should ACID-style
transactions be handled?
15Think 2019 / 3768A / February 14, 2019 / © 2019 IBM Corporation
• ACID-style transactions spanning services is not possible
• Many persistence technologies do not support ACID-style transactions
(e.g. NoSQL DBs)
• Alternatives to ACID-style transactions include:
– The Saga Pattern
– Compensating transactions
– Eventual consistency
Distributed Data Management
Patterns
16Think 2019 / 3768A / February 14, 2019 / © 2019 IBM Corporation
Issues related to distributed data management:
• data consistency across stores in each
microservice
• dependency & communication between
microservices
For Event based integration evaluate:
• need for additional software components for
asynchronous messaging and event
management, co-relation
• impact to non-functional requirements like
high availability ( message durability) etc.
• transactional integrity and rollback
Modernization Strategy and
Approaches
17Think 2019 / 6175A / February 15, 2019 / © 2019 IBM Corporation
• Containerize the monolith. Reduce costs
and simplify operations.
• Expose on-prem assets with APIs. APIs
enable legacy assets that are difficult to
cloud enable.
• Refactor into macroservices. Break down
monoliths into deployable components.
• Add new microservices. Innovate
incrementally and establish success
early.
• Strangle the monolith. Incrementally
sunset the monolith.
References
18Think 2019 / 6175A / February 15, 2019 / © 2019 IBM Corporation
1. “Data management considerations for microservices”, ibm.com, 2019. [Online].
Available: https://www.ibm.com/cloud/garage/architectures/microservices/data-
management-for-microservices. [Accessed: 08- Jan- 2019]
2. “IBM Application Modernization Field Guide”, ibm.com, 2018. [Online]. Available:
https://www.ibm.com/cloud/garage/content/culture/app-modernization-field-guide/.
[Accessed: 08- Jan- 2019]
3. “Microservices Decision Guides”, ibm.com, 2017. [Online]. Available:
https://www.ibm.com/cloud/garage/files/Microservices-Decision-Guides-FINAL-1.pdf.
[Accessed: 08- Jan- 2019]
Notices and disclaimers
19Think 2019 / 6175A / February 15, 2019 / © 2019 IBM Corporation
© 2018 International Business Machines Corporation. No part of this
document may be reproduced or transmitted in any form without
written permission from IBM.
U.S. Government Users Restricted Rights — use, duplication or
disclosure restricted by GSA ADP Schedule Contract with IBM.
Information in these presentations (including information relating to
products that have not yet been announced by IBM) has been reviewed
for accuracy as of the date of initial publication and could include
unintentional technical or typographical errors. IBM shall have no
responsibility to update this information. This document is distributed
“as is” without any warranty, either express or implied. In no event,
shall IBM be liable for any damage arising from the use of this
information, including but not limited to, loss of data, business
interruption, loss of profit or loss of opportunity. IBM products and
services are warranted per the terms and conditions of the agreements
under which they are provided.
IBM products are manufactured from new parts or new and used parts.
In some cases, a product may not be new and may have been previously
installed. Regardless, our warranty terms apply.”
Any statements regarding IBM's future direction, intent or product
plans are subject to change or withdrawal without notice.
Performance data contained herein was generally obtained in a
controlled, isolated environments. Customer examples are presented as
illustrations of how those customers have used IBM products and the
results they may have achieved. Actual performance, cost, savings or
other results in other operating environments may vary.
References in this document to IBM products, programs, or services
does not imply that IBM intends to make such products, programs or
services available in all countries in which IBM operates or does
business.
Workshops, sessions and associated materials may have been prepared
by independent session speakers, and do not necessarily reflect the
views of IBM. All materials and discussions are provided for
informational purposes only, and are neither intended to, nor shall
constitute legal or other guidance or advice to any individual participant
or their specific situation.
It is the customer’s responsibility to insure its own compliance
with legal requirements and to obtain advice of competent legal counsel
as to the identification and interpretation of any relevant laws and
regulatory requirements that may affect the customer’s business and
any actions the customer may need to take to comply with such
laws. IBM does not provide legal advice or represent or warrant that its
services or products will ensure that the customer follows any law.
Notices and disclaimers
continued
20Think 2019 / 6175A / February 15, 2019 / © 2019 IBM Corporation
Information concerning non-IBM products was obtained from the
suppliers of those products, their published announcements or other
publicly available sources. IBM has not tested those products about this
publication and cannot confirm the accuracy of performance,
compatibility or any other claims related to non-IBM products.
Questions on the capabilities of non-IBM products should be addressed
to the suppliers of those products. IBM does not warrant the quality of
any third-party products, or the ability of any such third-party products
to interoperate with IBM’s products. IBM expressly disclaims all
warranties, expressed or implied, including but not limited to, the
implied warranties of merchantability and fitness for a purpose.
The provision of the information contained herein is not intended to, and
does not, grant any right or license under any IBM patents, copyrights,
trademarks or other intellectual property right.
IBM, the IBM logo, ibm.com and [names of other referenced IBM
products and services used in the presentation] are trademarks of
International Business Machines Corporation, registered in many
jurisdictions worldwide. Other product and service names might
be trademarks of IBM or other companies. A current list of IBM
trademarks is available on the Web at “Copyright and trademark
information” at: www.ibm.com/legal/copytrade.shtml.
Thank you
21Think 2019 / 6175A / February 15, 2019 / © 2019 IBM Corporation
Shahir A. Daya
IBM Distinguished Engineer and CTO, IBM
—
sdaya@ca.ibm.com
+1-416-478-6445
ibm.com
Jermaine C. Edwards
IBM Chief Architect, IBM
—
jedward2@us.ibm.com
+1-720-395-1162
ibm.com
22
®
Think 2019 / 6175A / February 15, 2019 / © 2019 IBM Corporation

More Related Content

What's hot

The Power of IBM SmartCloud for Social Business and XPages App Dev
The Power of IBM SmartCloud for Social Business and XPages App DevThe Power of IBM SmartCloud for Social Business and XPages App Dev
The Power of IBM SmartCloud for Social Business and XPages App Dev
IBM Connections Developers
 
201003 BIRT
201003 BIRT201003 BIRT
201003 BIRT
lyonjug
 
July 2015 Construct15_Richard Morwood_V4 (2)
July 2015 Construct15_Richard Morwood_V4 (2)July 2015 Construct15_Richard Morwood_V4 (2)
July 2015 Construct15_Richard Morwood_V4 (2)
Richard Morwood
 

What's hot (20)

Introduction to IBM Cloud Private - April 2018
Introduction to IBM Cloud Private - April 2018Introduction to IBM Cloud Private - April 2018
Introduction to IBM Cloud Private - April 2018
 
Build cognitive Apps that help enhance, scale and accelerate Human Expertise
Build cognitive Apps that help enhance, scale and accelerate Human ExpertiseBuild cognitive Apps that help enhance, scale and accelerate Human Expertise
Build cognitive Apps that help enhance, scale and accelerate Human Expertise
 
IBM Collaboration Solutions Application Development - Frequently Asked Questions
IBM Collaboration Solutions Application Development - Frequently Asked QuestionsIBM Collaboration Solutions Application Development - Frequently Asked Questions
IBM Collaboration Solutions Application Development - Frequently Asked Questions
 
Learn how to Leverage Kubernetes to Support 12 Factor for Enterprise Apps
 Learn how to Leverage Kubernetes to Support 12 Factor for Enterprise Apps Learn how to Leverage Kubernetes to Support 12 Factor for Enterprise Apps
Learn how to Leverage Kubernetes to Support 12 Factor for Enterprise Apps
 
IBM Z for the Digital Enterprise - DevOps for Z
IBM Z for the Digital Enterprise - DevOps for Z IBM Z for the Digital Enterprise - DevOps for Z
IBM Z for the Digital Enterprise - DevOps for Z
 
How to use the Social Business Development Environments
How to use the Social Business Development EnvironmentsHow to use the Social Business Development Environments
How to use the Social Business Development Environments
 
Introduction to IBM Bluemix for Java Developers
Introduction to IBM Bluemix for Java DevelopersIntroduction to IBM Bluemix for Java Developers
Introduction to IBM Bluemix for Java Developers
 
Presentation on digital technology project in india.
Presentation on digital technology project in india.Presentation on digital technology project in india.
Presentation on digital technology project in india.
 
Social Connections VIII - Innovation and Communications Drive Business Value
Social Connections VIII - Innovation and Communications Drive Business ValueSocial Connections VIII - Innovation and Communications Drive Business Value
Social Connections VIII - Innovation and Communications Drive Business Value
 
raj_full_cv
raj_full_cvraj_full_cv
raj_full_cv
 
ID400 - What's New and Coming in IBM Connections 2014 #IBMConnect
ID400 - What's New and Coming in IBM Connections 2014 #IBMConnectID400 - What's New and Coming in IBM Connections 2014 #IBMConnect
ID400 - What's New and Coming in IBM Connections 2014 #IBMConnect
 
Social Connections VI Keynote - Why IBM Connections 5.0 Matters
Social Connections VI Keynote  - Why IBM Connections 5.0 MattersSocial Connections VI Keynote  - Why IBM Connections 5.0 Matters
Social Connections VI Keynote - Why IBM Connections 5.0 Matters
 
Convertigo Composite Application Platform
Convertigo Composite Application PlatformConvertigo Composite Application Platform
Convertigo Composite Application Platform
 
Lotusphere 2012 AD105
Lotusphere 2012 AD105Lotusphere 2012 AD105
Lotusphere 2012 AD105
 
"A Big Web" EpiServer Day presentation by Hallvarsson & Halvarsson
"A Big Web" EpiServer Day presentation by Hallvarsson & Halvarsson"A Big Web" EpiServer Day presentation by Hallvarsson & Halvarsson
"A Big Web" EpiServer Day presentation by Hallvarsson & Halvarsson
 
DevOps within the Hybrid Cloud Deploying to the VMware Platform on the IBM Cloud
DevOps within the Hybrid Cloud Deploying to the VMware Platform on the IBM CloudDevOps within the Hybrid Cloud Deploying to the VMware Platform on the IBM Cloud
DevOps within the Hybrid Cloud Deploying to the VMware Platform on the IBM Cloud
 
How do you deliver your applications to the cloud?
How do you deliver your applications to the cloud?How do you deliver your applications to the cloud?
How do you deliver your applications to the cloud?
 
The Power of IBM SmartCloud for Social Business and XPages App Dev
The Power of IBM SmartCloud for Social Business and XPages App DevThe Power of IBM SmartCloud for Social Business and XPages App Dev
The Power of IBM SmartCloud for Social Business and XPages App Dev
 
201003 BIRT
201003 BIRT201003 BIRT
201003 BIRT
 
July 2015 Construct15_Richard Morwood_V4 (2)
July 2015 Construct15_Richard Morwood_V4 (2)July 2015 Construct15_Richard Morwood_V4 (2)
July 2015 Construct15_Richard Morwood_V4 (2)
 

Similar to The trial period is over - Microservices adoption gains momentum 

Similar to The trial period is over - Microservices adoption gains momentum  (20)

How IBM is helping developers win the race to innovate with next-gen cloud se...
How IBM is helping developers win the race to innovate with next-gen cloud se...How IBM is helping developers win the race to innovate with next-gen cloud se...
How IBM is helping developers win the race to innovate with next-gen cloud se...
 
So you want to provision a test environment...
So you want to provision a test environment...So you want to provision a test environment...
So you want to provision a test environment...
 
Emerging Cloud Migration Approaches
Emerging Cloud Migration ApproachesEmerging Cloud Migration Approaches
Emerging Cloud Migration Approaches
 
Modernising Domino Applications: From 'What do we DO next?' to 'How can we IN...
Modernising Domino Applications:From 'What do we DO next?' to 'How can we IN...Modernising Domino Applications:From 'What do we DO next?' to 'How can we IN...
Modernising Domino Applications: From 'What do we DO next?' to 'How can we IN...
 
Microservices, Containers, Kubernetes, Kafka, Kanban
Microservices, Containers, Kubernetes, Kafka, KanbanMicroservices, Containers, Kubernetes, Kafka, Kanban
Microservices, Containers, Kubernetes, Kafka, Kanban
 
Z105745 ibmz-cloud-cairo-v1902a
Z105745 ibmz-cloud-cairo-v1902aZ105745 ibmz-cloud-cairo-v1902a
Z105745 ibmz-cloud-cairo-v1902a
 
Msp deck charles- final mb 2020 - Multicloud overview
Msp deck   charles- final mb 2020 - Multicloud overviewMsp deck   charles- final mb 2020 - Multicloud overview
Msp deck charles- final mb 2020 - Multicloud overview
 
Practical thoughts for cloud transformation
Practical thoughts for cloud transformationPractical thoughts for cloud transformation
Practical thoughts for cloud transformation
 
MongoDB World 2019: From Transformation to Innovation: Lean-teams, Continuous...
MongoDB World 2019: From Transformation to Innovation: Lean-teams, Continuous...MongoDB World 2019: From Transformation to Innovation: Lean-teams, Continuous...
MongoDB World 2019: From Transformation to Innovation: Lean-teams, Continuous...
 
MQ Guide France - IBM MQ and Containers
MQ Guide France - IBM MQ and ContainersMQ Guide France - IBM MQ and Containers
MQ Guide France - IBM MQ and Containers
 
IBM Cloud Private and IBM Power Systems: Overview and Real-World Scenarios
IBM Cloud Private and IBM Power Systems: Overview and Real-World ScenariosIBM Cloud Private and IBM Power Systems: Overview and Real-World Scenarios
IBM Cloud Private and IBM Power Systems: Overview and Real-World Scenarios
 
Nick Drouet, Executive Architect - IBM
Nick Drouet, Executive Architect - IBMNick Drouet, Executive Architect - IBM
Nick Drouet, Executive Architect - IBM
 
Think2018 2314-Microservices and BPM-can they coexist?
Think2018 2314-Microservices and BPM-can they coexist?Think2018 2314-Microservices and BPM-can they coexist?
Think2018 2314-Microservices and BPM-can they coexist?
 
IBM APM for Hybrid Applications
IBM APM for Hybrid ApplicationsIBM APM for Hybrid Applications
IBM APM for Hybrid Applications
 
How to Balance System Speed and Risk for Multi-Platform Innovation
How to Balance System Speed and Risk for Multi-Platform InnovationHow to Balance System Speed and Risk for Multi-Platform Innovation
How to Balance System Speed and Risk for Multi-Platform Innovation
 
IBM Interconnect 2017 - Maximo update
IBM Interconnect 2017 - Maximo updateIBM Interconnect 2017 - Maximo update
IBM Interconnect 2017 - Maximo update
 
Driving client value through hybrid cloud - IBM
Driving client value through hybrid cloud - IBMDriving client value through hybrid cloud - IBM
Driving client value through hybrid cloud - IBM
 
Microservices Decomposition Patterns.v1.0.20191009
Microservices Decomposition Patterns.v1.0.20191009Microservices Decomposition Patterns.v1.0.20191009
Microservices Decomposition Patterns.v1.0.20191009
 
Business Agility through Self-Service Messaging - InterConnect 2016
Business Agility through Self-Service Messaging - InterConnect 2016Business Agility through Self-Service Messaging - InterConnect 2016
Business Agility through Self-Service Messaging - InterConnect 2016
 
Microservices Decomposition Patterns
Microservices Decomposition PatternsMicroservices Decomposition Patterns
Microservices Decomposition Patterns
 

Recently uploaded

%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
chiefasafspells
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 

Recently uploaded (20)

%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - Keynote
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 

The trial period is over - Microservices adoption gains momentum 

  • 1. The Trial Period is Over: Microservices Adoption Gains Momentum — Think 2019 / 6175A / February 15, 2019 / © 2019 IBM Corporation Shahir A. Daya IBM Distinguished Engineer, IBM Jermaine C. Edwards IBM Chief Architect, IBM
  • 2. IBM’s statements regarding its plans, directions, and intent are subject to change or withdrawal without notice and at IBM’s sole discretion. Information regarding potential future products is intended to outline our general product direction and it should not be relied on in making a purchasing decision. The information mentioned regarding potential future products is not a commitment, promise, or legal obligation to deliver any material, code or functionality. Information about potential future products may not be incorporated into any contract. The development, release, and timing of any future features or functionality described for our products remains at our sole discretion. Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual throughput or performance that any user will experience will vary depending upon many factors, including considerations such as the amount of multiprogramming in the user’s job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve results similar to those stated here. 2 Please note Think 2019 / 6175A / February 15, 2019 / © 2019 IBM Corporation
  • 3. Agenda 3Think 2019 / 3768A / February 14, 2019 / © 2019 IBM Corporation • Microservices – what are they and why should we care • What are the tenets of the Microservices Architectural Style • When do Microservices make sense and more importantly when do they not • How about Microservices for Greenfield vs. Brownfield • How do we decompose existing monoliths, how do we deal with data, etc. • Q & A
  • 4. Microservices Introduction 4Think 2019 / 3768A / February 14, 2019 / © 2019 IBM Corporation
  • 5. Microservices architecture involves building applications as small, loosely coupled, autonomous components 5Think 2019 / 3768A / February 14, 2019 / © 2019 IBM Corporation • Monolithic applications are one large application that does everything • Microservices are several smaller applications that each does part of the whole • Microservices are focused on business capabilities, concentrating on business APIs Sources: Gartner, Forrester, IDC, Martin Fowler & James Lewis, PwC, Apigee, Dzone Microservices vs SOA ▪ Tightly coupled ▪ Full dependency; each change has unanticipated effects requiring careful testing beforehand ▪ Large, single code base (e.g., capability) ▪ Loosely coupled ▪ Reduced dependencies; elements are developed more autonomously, but must be coordinated to fit overall design ▪ Greater modularity (e.g., domain) Monolithic Traditional SOA Microservices Client Server Era Web Era Cloud Era ▪ Decoupled ▪ Zero dependency; new and/or modified functionality can by independently deployable ▪ Small components that perform a discrete functions (e.g., feature) Team Team Team Team
  • 6. Benefits of the Microservices architectural style 6 Microservices provide value benefit through: 1.Selective granular scaling provides optimization across all layers of the stack 2.Componentization isolates risks, defects and outages, resulting in greater fault tolerance 3.Designed for fast & frequent change; unleashed polyglot programming 2Fault Isolation Resilience 1 Scale Scale at Size 3 Agility Innovation Lightweight SW code, focused on doing one function well Functionally & operationally self-contained Minimal interdependencies with other components Deployed, Maintained, Managed, Scaled independently “Open” - can be run on bare OS, Container, Foundry etc Interoperability – REST API is typical interfacing mechanism Every Microservice can be developed in a different programming language With thoughtful implementation of well-accepted design patterns, enables highly resilient systems 4Polyglot Flexibility 5Teams work independently Distributed Think 2019 / 6175A / February 15, 2019 / © 2019 IBM Corporation
  • 7. Tenets of the Microservices Architectural Style 7Think 2019 / 3768A / February 14, 2019 / © 2019 IBM Corporation
  • 8. Tenets of the Microservices Architectural style 8Think 2019 / 3768A / February 14, 2019 / © 2019 IBM Corporation Large monoliths are broken down into many small services Services are optimized for a single function Communication via REST API and message brokers Per-service continuous integration and continuous deployment (CI/CD) Per-service high availability (HA) and clustering decisions Each service runs in its own process One service per container There is only one business function per service The Single Responsibility Principle (A microservice should have one, and only one, reason to change) Avoid tight coupling introduced by communication through a database Services evolve at different rates You let the system evolve but set architectural principles to guide that evolution One size or scaling policy is not appropriate for all Not all services need to scale; others require autoscaling up to large numbers
  • 9. When to use and when not to use Microservices 9Think 2019 / 3768A / February 14, 2019 / © 2019 IBM Corporation
  • 10. When to use Microservices 10Think 2019 / 3768A / February 14, 2019 / © 2019 IBM Corporation • Services need to be highly available and continue to be available through component failure • Services are likely to have frequent changes to the production services which need to be made safely with little or no outage • Services are likely to have to scale for significant peek loads or for future growth • No financial business case for adopting a microservices approach • Do not have a mature DevOps culture, skills and tools in place • Do not have culture, skills, tools to support microservice monitoring, management and continuous feedback When NOT to use Microservices
  • 11. How about Microservices for Greenfield vs. Brownfield 11Think 2019 / 3768A / February 14, 2019 / © 2019 IBM Corporation
  • 12. Microservices Considerations for Greenfield vs. Brownfield 12Think 2019 / 3768A / February 14, 2019 / © 2019 IBM Corporation Greenfield (New Application) • Clean slate in defining Microservice architecture based on 12 factor principles • Apply Domain Driven Design principles Brownfield (Existing Application) • Strangle the Monolith over time with new microservices • Completely rewrite all of it as new microservices
  • 13. How do we decompose existing monoliths, how do we deal with data, etc. 13Think 2019 / 3768A / February 14, 2019 / © 2019 IBM Corporation
  • 14. How do we decompose an existing monolithic application 14Think 2019 / 3768A / February 14, 2019 / © 2019 IBM Corporation 1. Separate databases before separating services. 2. Place existing transactions within a single service or redesign the transaction usage (compensating/eventual consistency). 3. Consider the team composition. 4. Implement new features as microservices around the existing monolith.
  • 15. How should ACID-style transactions be handled? 15Think 2019 / 3768A / February 14, 2019 / © 2019 IBM Corporation • ACID-style transactions spanning services is not possible • Many persistence technologies do not support ACID-style transactions (e.g. NoSQL DBs) • Alternatives to ACID-style transactions include: – The Saga Pattern – Compensating transactions – Eventual consistency
  • 16. Distributed Data Management Patterns 16Think 2019 / 3768A / February 14, 2019 / © 2019 IBM Corporation Issues related to distributed data management: • data consistency across stores in each microservice • dependency & communication between microservices For Event based integration evaluate: • need for additional software components for asynchronous messaging and event management, co-relation • impact to non-functional requirements like high availability ( message durability) etc. • transactional integrity and rollback
  • 17. Modernization Strategy and Approaches 17Think 2019 / 6175A / February 15, 2019 / © 2019 IBM Corporation • Containerize the monolith. Reduce costs and simplify operations. • Expose on-prem assets with APIs. APIs enable legacy assets that are difficult to cloud enable. • Refactor into macroservices. Break down monoliths into deployable components. • Add new microservices. Innovate incrementally and establish success early. • Strangle the monolith. Incrementally sunset the monolith.
  • 18. References 18Think 2019 / 6175A / February 15, 2019 / © 2019 IBM Corporation 1. “Data management considerations for microservices”, ibm.com, 2019. [Online]. Available: https://www.ibm.com/cloud/garage/architectures/microservices/data- management-for-microservices. [Accessed: 08- Jan- 2019] 2. “IBM Application Modernization Field Guide”, ibm.com, 2018. [Online]. Available: https://www.ibm.com/cloud/garage/content/culture/app-modernization-field-guide/. [Accessed: 08- Jan- 2019] 3. “Microservices Decision Guides”, ibm.com, 2017. [Online]. Available: https://www.ibm.com/cloud/garage/files/Microservices-Decision-Guides-FINAL-1.pdf. [Accessed: 08- Jan- 2019]
  • 19. Notices and disclaimers 19Think 2019 / 6175A / February 15, 2019 / © 2019 IBM Corporation © 2018 International Business Machines Corporation. No part of this document may be reproduced or transmitted in any form without written permission from IBM. U.S. Government Users Restricted Rights — use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM. Information in these presentations (including information relating to products that have not yet been announced by IBM) has been reviewed for accuracy as of the date of initial publication and could include unintentional technical or typographical errors. IBM shall have no responsibility to update this information. This document is distributed “as is” without any warranty, either express or implied. In no event, shall IBM be liable for any damage arising from the use of this information, including but not limited to, loss of data, business interruption, loss of profit or loss of opportunity. IBM products and services are warranted per the terms and conditions of the agreements under which they are provided. IBM products are manufactured from new parts or new and used parts. In some cases, a product may not be new and may have been previously installed. Regardless, our warranty terms apply.” Any statements regarding IBM's future direction, intent or product plans are subject to change or withdrawal without notice. Performance data contained herein was generally obtained in a controlled, isolated environments. Customer examples are presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual performance, cost, savings or other results in other operating environments may vary. References in this document to IBM products, programs, or services does not imply that IBM intends to make such products, programs or services available in all countries in which IBM operates or does business. Workshops, sessions and associated materials may have been prepared by independent session speakers, and do not necessarily reflect the views of IBM. All materials and discussions are provided for informational purposes only, and are neither intended to, nor shall constitute legal or other guidance or advice to any individual participant or their specific situation. It is the customer’s responsibility to insure its own compliance with legal requirements and to obtain advice of competent legal counsel as to the identification and interpretation of any relevant laws and regulatory requirements that may affect the customer’s business and any actions the customer may need to take to comply with such laws. IBM does not provide legal advice or represent or warrant that its services or products will ensure that the customer follows any law.
  • 20. Notices and disclaimers continued 20Think 2019 / 6175A / February 15, 2019 / © 2019 IBM Corporation Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not tested those products about this publication and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products. IBM does not warrant the quality of any third-party products, or the ability of any such third-party products to interoperate with IBM’s products. IBM expressly disclaims all warranties, expressed or implied, including but not limited to, the implied warranties of merchantability and fitness for a purpose. The provision of the information contained herein is not intended to, and does not, grant any right or license under any IBM patents, copyrights, trademarks or other intellectual property right. IBM, the IBM logo, ibm.com and [names of other referenced IBM products and services used in the presentation] are trademarks of International Business Machines Corporation, registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at “Copyright and trademark information” at: www.ibm.com/legal/copytrade.shtml.
  • 21. Thank you 21Think 2019 / 6175A / February 15, 2019 / © 2019 IBM Corporation Shahir A. Daya IBM Distinguished Engineer and CTO, IBM — sdaya@ca.ibm.com +1-416-478-6445 ibm.com Jermaine C. Edwards IBM Chief Architect, IBM — jedward2@us.ibm.com +1-720-395-1162 ibm.com
  • 22. 22 ® Think 2019 / 6175A / February 15, 2019 / © 2019 IBM Corporation