SlideShare una empresa de Scribd logo
1 de 25
1Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved.
Micro-Services in a Monolith
World
Phil Wilkins
Phil.Wilkins@capgemini.com
uk.linkedin.com/in/philWilkins
@MP3Monster /
@PhilAtCapgemini
Oracle-integration.cloud /
APIPlatform.cloud /
Blog.mp3monster.org
2Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved.
Capgemini is One of the World's Largest Consulting,
Technology, and Outsourcing Firms & a global “full
service” business transformation provider
Group Workforce: 200,000+ Globally
Asia Pacific
Latin America
Canada
United States
Mexico
Brazil
Argentina
Europe
Morocco
Australia
People’s Republic of China
India
Chile
Guatemala
Russia
Singapore
Hong Kong
North
America
UK & Ireland
Nordics
Benelux
“It is the quality of our people, and their
capacity to deliver fitting solutions, with you
and for you, that drive real business results.”
Across 40+ countries, 100 nationalities
5Businesses
Revenue
12,8
Billion EUR (2017)
Central Europe
Morocco
Net Profit
€1,18B
 Targeting Value
 Mitigating Risk
 Optimising
Capabilities
 Aligning the
Organisation
Elements to
successful
collaboration
Application Services
Infrastructure
Services
Business Process
Outsourcing
Consulting
(Capgemini Consulting)
Local Professional
4
3Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved.
Cloud Premier Partner
Oracle Diamond Partner
Oracle Cloud Managed Service
Provider partner – only a handful of
SI’s
Only Global SI to be accredited as
Oracle Authorized Education Center
Part of Beta programmes for:
Cotainer Native & Microservices
Inteligent Chatbot
API platform
Integration cloud
Process cloud
Oracle Self-Service Automation
Oracle IoT Cloud
Oracle Mobile Cloud
 Continuous investments in cloud
accelerators
 5 Oracle Aces: 2 Directors, 3 Aces
 Real experts and thought leaders including
several books:
 2013: Oracle SOA Governance
Implementation
 2015: Oracle API Management
Implementation
 2016: Oracle Case Management
Solutions
 2017: Implementing Cloud service
 Oracle API Platform CS
Implementation
 Enterprise API Management
 Several publications in OTN, Oracle
Magazine, Oracle Scene & Other
 2018 –Global Excellence Award for Extend and Connect
 2018 –Silver Awards for Managed Services, Middleware &
infrastructure Services - UKOUG Partner of the Year
 2018 – PaaS & API Community Awards
 2017 – Gold & Silver UKOUG Partner of the Year Awards
 2017 – API 2017 – Global Excellence Award for Extend and
Connect
 & PaaS Community Award
 2017 – Chatbot PaaS Community Award
 2016 – Oracle Specialized Partner of the Year: Industry
 2016 – Oracle University Partner of the Year
 2016 – BPM and Cloud community awards
 2015 – Oracle Customer Support Services Partner of the Year
 2011 – Global Partner of the Year Award for Oracle
Applications
 2012 – Fusion Middleware partner of the year
 2010 – Partner of the year for Oracle Fusion Middleware
 2010 – 2010 EMEA Industry Partner of the Year
 2010 – Oracle Customer Services Partner of The Year
 2009 – Oracle Customer Services Partner of The Year
 2008 – Oracle Customer Services Partner of The Year
Alliance and Strategic Partnership Awards & Recognitions Thought Leadership
Article – June 17
Article – June 17
Podcast – August 17
Capgemini & Oracle
4Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved. 4
• Technical Enterprise Architect specializing in
Integration and PaaS.
• Started out as a developer working on UI for Radar
• Moved into integration solutions –using Open Src
Tech e.g. JBoss App Server & Fuse, Apache Camel etc.
• Worked in end user companies, ISVs & consultancy.
• Worked with Oracle tech for ~10yrs covering on-prem
and cloud.
About :: Phil Wilkins
Supported the
development of a
variety of books
Packt – Erl et al
Articles published
in a range of
Journals
Published 1st Oracle
iPaaS Book
Implementing ICS
PaaS Community
Jan, 2017
TOGAF 9 Certified
2013
• co-authored a book on Oracle Integration Cloud, contributing a new book on API Platform &
contributions to development of more than a dozen other titles ranging from Apache Camel to
Cloud Computing Design
• Active blogger have had a number of articles published in various journals.
• Organizer of London Oracle Developer Meetup & Drones with APIs OS Project
Implementing API
Platform
& PaaS Community
Award
April & May 2018
5Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved. 5
Publications from the Capgemini
PaaS Team
https://oracle-integration.cloud
Order from …
• http://bit.ly/ImplICSBook
• http://bit.ly/ICS-Amazon
Goes to Print Q1 2018http://APIPlatform.cloud
Just gone to print
Order from …
• http://bit.ly/APIP-CS
• http://bit.ly/APIP-CS-
Amazon
6Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved. 6Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved. 6
01
02
03
04
05
What do we mean by
Microservices?
How can monolithic containers
be made to help me ?
Use of WebLogic
What could my development
approach look like?
Take Aways
Agenda
7Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved.
What do we mean by
Microservices?
8Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved. ‹#›© 2017 Capgemini. All rights reserved.
What do we really mean by Microservices?
9Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved. ‹#›© 2017 Capgemini. All rights reserved.
An architecture that structures the application as a set of loosely coupled, collaborating
services … Each service implements a set of narrowly, related functions.
Services communicate using either synchronous protocols such as HTTP/REST or
asynchronous protocols such as AMQP. Services can be developed and deployed
independently of one another…
- Chris Richardson, microservices.io
Microservices are small, autonomous services that work together.
—Sam Newman, Thoughtworks
Loosely coupled service-oriented architecture with bounded contexts.
—Adrian Cockcroft, formerly Netflix, now VP Cloud Architecture Strategy at AWS
What do the thought leaders say ….
10Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved. ‹#›© 2017 Capgemini. All rights reserved.
Monolith, Microservices & Mini Apps …
some characterization
Diagrams based on Microservices by James Lewis
- Thoughtworks
https://martinfowler.com/articles/microservices.html
Monolith Microservices Mini/Micro Apps
11Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved. ‹#›© 2017 Capgemini. All rights reserved.
Are you going to miss the point?
• Paraphrase Martin Fowler – best way to do
microservices is build the monolith first
• Microservices is as much organization, people and
design as it is tech
Why Microservices?
• It’s the thing to do,
• We want new toys,
• It will keep the development team happy,
• It’s the only way to develop in the cloud
• My ability to deliver is too slow (or I need
my development to go faster),
• I need lower coupling and modularity to
help re-use,
• I need ways to scale my solution in
different ways,
• Things need to be elastic and more
dynamic at runtime,
• I need to find ways to future proof my
current investments,
12Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved. ‹#›© 2017 Capgemini. All rights reserved.
Understanding the Premium & Debunk
some Myths
App Server /
Runtime Platform
App
Host Servers
Bare Metal with a
hypervisor or just a
cluster of servers with
an OS such as Linux
Container Mgmt
Kubernetes / Istio
Microservice Mesh /
Mesos etc
ContainerContainer
Container solution such
as Docker
App Svr App Svr
Simple server process to
execute app logic e.g.
Apache
Service
Service
Service
Application Logic –
discrete unconnected
solutions and potentially
Polyglot in nature
Enterprise
class app
server offering
many features
such as
WebLogic –
very capable
but also very
complex. Large
footprint
unless stripped
down
App – multiple
Jars running
on a single OS
process that is
multithreaded
TomakeachangesafelyIneedtounderstand
allofthisHost Servers
Monolith Microservices
Whenatscale
specialismallowsthis
To make a change safely I need
to understand all of this
13Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved.
Build on - Martin Fowler
https://martinfowler.com/bliki/MicroservicePremium.html
The micro apps approach will
incur overhead, but less than all
out microservices
14Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved.
How we can achieve the
Microservice goals using
WebLogic ?
15Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved.© 2017 Capgemini. All rights reserved.
Why try microservices on WLS?
• Organisational Investment & Culture
• Broad adoption of WLS can be a significant
investment - desire to maximise investment (or
desire not to have $$$ spent seen as redundant)
• Minimize vendors - encourages big vendor with
broad offering rather than specialist orgs.
• Mindset of the decision makers – prefer tried and
tested technologies
• Open Source vs Closed Source
• Really supported vs unsupported or self supported
(often perception issue)
• Often closed source offerings – hardened or pre-
integrated versions of open source e.g. JMS or JNDI
• Open source licensing – still can bite – particularly
when thinking about monetization
• Typical tech associated with Microservices can be seen
as too big a change for some – resistant to big change
• Vertical Alignment
• Exploit defined markets & partnership relationships (big vendor partner
may help sell)
• Vendor relationship
Martin Fowler
16Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved.© 2017 Capgemini. All rights reserved.
WebLogic with Docker
WLS in Docker …
• WLS certified with Docker as 12.1.3 BUT…
• Mean it’s a microservice?
maybe
• Same mistakes can be made
• It does allow us to simplify
deployment
• It does allow us create separation
WLS in Docker is a winner for…
• Accelerating development
• Likely to develop deploQuick to start using
• My development environment can be anywhere – any
host OS, in ANY cloud
• No installation processes needed
• Deployment processes using WLST – making switch to
production grade deployment better
• But what about license costs beyond the OTN
agreement?
17Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved.© 2017 Capgemini. All rights reserved.
WebLogic as a Micro App Platform
Server 1
Single
DomainWLS Svcs
Coherence
JMS AQ
JNDI
Servlet
Node
Mgr
• WebLogic 12.2.1 also introduced idea
of Partitions …
• Thread management allowing QoS
control – through resources
• Resources can have access at
• Domain level – i.e.
everywhere
• Partition level – shared with
no one
• Although core processes are
shared e.g.
• Node Manager
• JMS threads
• Coherence processes
Managed
Svr
App 1
Domain
Partition 1
Admin
Svr
• Our microservice simile
• We’ve taken to call a MicroApp
as it resides in an App Server –
and avoids ‘contentious
disputes over what a
microservice must look like’
18Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved.© 2017 Capgemini. All rights reserved.
Server 1
WebLogic as a Micro App Platform
Single
Domain
Node
Mgr
• To add extra microapps we add new
partitions
• Footprint grows by threads
allocated & some JVM Memory
• Configuration in the partitions is
isolated
• We might have to enable
additional shared services e.g.
JMS & coherence at the domain
or sever level
Managed
Svr
App 1
Domain
Partition 1
App 2
Domain
Partition 2
WLS Svcs
Coherence
JMS AQ
JNDI
Servlet
Admin
Svr
19Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved.© 2017 Capgemini. All rights reserved.
The roll of messaging
Messaging important to establish …
• Asynchronous communication
between services
• Lower coupling …
• Support for moving from
Orchestration to Choreography –
dumb pipes smart endpoints
Orchestration
The mechanics
with the
channel direct
traffic node to
node
Choreography
The channel is a
simple dumb
pipe, everyone
listens and
decides what to
do
To be polyglot friendly your messaging needs both
invocation interface spec e.g. JMS and a wire level
specification e.g. AMQPP, Apache Avro
JMS?
20Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved.© 2017 Capgemini. All rights reserved.
The is Kafka right ?
JMSProducer
Consumer
Consumer
Consumer
Storage
Why is JMS not so great?
• No wire level spec – so Polyglot an issue
• Often implemented with DB storage making
it relatively slow and single node dependency
• Kafka resolves by using HDFS
But there are transition options …
1. JMS only with topics
2. Kafka + JMS client
3. Future refactor JMS client out – 1 service
at a time
KafkaProducer
Consumer
Consumer
Consumer
HDFS
Consumer
21Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved.© 2017 Capgemini. All rights reserved.
How does my Development process work?
Adapt the design approach ….
• Start to embody the design concepts
• Keep it small, keep it decoupled
• Design to do 1 thing well, if there’s a different API
for it, then its another service
• Use Bounded Contexts and stay inside your
boundaries.
• Many Microservice patterns are solution agnostic
– and you can find comparable solutions built in a
monolithic style
Chris Richardson
Microservices.io
(Microservice Patterns)
Difficult to
realize in an
monolithic
platform
Would require
new capability
22Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved.© 2017 Capgemini. All rights reserved.
Fine in theory, but to make it work in
practise …
Spring Boot to the rescue
• Spring Boot leverages Spring platform in an
‘opinionated manner’ i.e.
• Works with Spring elements that are commonly
used together
• Derives dependencies based on provided info for
project types,
• Provide Spring Boot with configuration and it will
create the Java framework for you and allow
deployment to …
• Apache Tomcat, Apache Jetty
• Undertow, Netty,
• WebLogic, Websphere …
• Spring Boot is recognised as a framework for building ‘typical’ container
centric microservices
• As Spring is proven with WLS, once you microservice is, swap your
dependencies to the WLS versions – Build & DEPLOY!
Word of Warning – changing dependencies for WLS can be tricky, is not for the Java newbie
23Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved. 23© 2017 Capgemini. All rights reserved.
Make the right choices and you set yourself on
a journey to transition without too much pain.
A less disruptive transition may be more
palatable
Microservices is a design style NOT
tech – so design microservices even
if you have to run on a monolithic
platform
A few things to keep in mind when looking at
adopting or adapting this approach …
Microservices don’t come without cost & can be
difficult – so need to take on for the right reasons
If we knew what it was we were
doing, it would not be called
research, would it?
Albert Einstein
Takeways
24Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved. ‹#›© 2017 Capgemini. All rights reserved.
Thankyou
Presentation Title | Author | Date
25Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved.
With more than 190,000 people, Capgemini is present in over 40 countries and
celebrates its 50th Anniversary year in 2017. A global leader in consulting, technology
and outsourcing services, the Group reported 2016 global revenues of EUR 12.5 billion.
Together with its clients, Capgemini creates and delivers business, technology and
digital solutions that fit their needs, enabling them to achieve innovation and
competitiveness. A deeply multicultural organization, Capgemini has developed its own
way of working, the Collaborative Business Experience™, and draws on Rightshore®, its
worldwide delivery model.
About Capgemini
Learn more about us at
www.capgemini.com
This message contains information that may be privileged or confidential and is
the property of the Capgemini Group.
Copyright © 2017 Capgemini. All rights reserved.
Rightshore® is a trademark belonging to Capgemini.
This message is intended only for the person to whom it is addressed. If you are not the intended recipient, you are not authorized to
read, print, retain, copy, disseminate, distribute, or use this message or any part thereof. If you receive this message in error, please
notify the sender immediately and delete all copies of this message.

Más contenido relacionado

Más de Phil Wilkins

How fluentd fits into the modern software landscape
How fluentd fits into the modern software landscapeHow fluentd fits into the modern software landscape
How fluentd fits into the modern software landscapePhil Wilkins
 
gRPC, GraphQL, REST - Which API Tech to use - API Conference Berlin oct 20
gRPC, GraphQL, REST - Which API Tech to use - API Conference Berlin oct 20gRPC, GraphQL, REST - Which API Tech to use - API Conference Berlin oct 20
gRPC, GraphQL, REST - Which API Tech to use - API Conference Berlin oct 20Phil Wilkins
 
FluentD for end to end monitoring
FluentD for end to end monitoringFluentD for end to end monitoring
FluentD for end to end monitoringPhil Wilkins
 
Meetups - The Oracle Ace Way
Meetups - The Oracle Ace WayMeetups - The Oracle Ace Way
Meetups - The Oracle Ace WayPhil Wilkins
 
Apiary - A Developers Perspective
Apiary - A Developers PerspectiveApiary - A Developers Perspective
Apiary - A Developers PerspectivePhil Wilkins
 
Secrets of Custom API Policies on the Oracle API Platform
Secrets of Custom API Policies on the Oracle API PlatformSecrets of Custom API Policies on the Oracle API Platform
Secrets of Custom API Policies on the Oracle API PlatformPhil Wilkins
 
Oracle London Developer Meetup November 2018
Oracle London Developer Meetup November 2018Oracle London Developer Meetup November 2018
Oracle London Developer Meetup November 2018Phil Wilkins
 
London Oracle Developer Meetup - June 18 - Drones with APIs
London Oracle Developer Meetup - June 18 - Drones with APIsLondon Oracle Developer Meetup - June 18 - Drones with APIs
London Oracle Developer Meetup - June 18 - Drones with APIsPhil Wilkins
 
London Oracle Developer Meetup April 18
London Oracle Developer Meetup April 18London Oracle Developer Meetup April 18
London Oracle Developer Meetup April 18Phil Wilkins
 
Oracle Developer Meetup March 2018
Oracle Developer Meetup March 2018Oracle Developer Meetup March 2018
Oracle Developer Meetup March 2018Phil Wilkins
 
OracleDeveloperMeetup - London 19-12-17
OracleDeveloperMeetup - London 19-12-17OracleDeveloperMeetup - London 19-12-17
OracleDeveloperMeetup - London 19-12-17Phil Wilkins
 
Look at Oracle Integration Cloud – its relationship to ICS. Customer use Case...
Look at Oracle Integration Cloud – its relationship to ICS. Customer use Case...Look at Oracle Integration Cloud – its relationship to ICS. Customer use Case...
Look at Oracle Integration Cloud – its relationship to ICS. Customer use Case...Phil Wilkins
 
API Platform Cloud Service best practice - OOW17
API Platform Cloud Service best practice - OOW17API Platform Cloud Service best practice - OOW17
API Platform Cloud Service best practice - OOW17Phil Wilkins
 
Oracle integration cloud service (ICS) best practices learned from the field ...
Oracle integration cloud service (ICS) best practices learned from the field ...Oracle integration cloud service (ICS) best practices learned from the field ...
Oracle integration cloud service (ICS) best practices learned from the field ...Phil Wilkins
 
Oracle ICS Best Practises - 1st Presented at Oracle Partner PaaS Forum by Phi...
Oracle ICS Best Practises - 1st Presented at Oracle Partner PaaS Forum by Phi...Oracle ICS Best Practises - 1st Presented at Oracle Partner PaaS Forum by Phi...
Oracle ICS Best Practises - 1st Presented at Oracle Partner PaaS Forum by Phi...Phil Wilkins
 
UKOUG Journey To The Cloud - March 2017
UKOUG Journey To The Cloud - March 2017UKOUG Journey To The Cloud - March 2017
UKOUG Journey To The Cloud - March 2017Phil Wilkins
 
Some OOW15 Observations
Some OOW15 ObservationsSome OOW15 Observations
Some OOW15 ObservationsPhil Wilkins
 
Enabling application architecture capacity through offshore si engagement
Enabling application architecture capacity through offshore si engagementEnabling application architecture capacity through offshore si engagement
Enabling application architecture capacity through offshore si engagementPhil Wilkins
 
Oracle SOA, AIA & Fusion Apps
Oracle SOA, AIA & Fusion AppsOracle SOA, AIA & Fusion Apps
Oracle SOA, AIA & Fusion AppsPhil Wilkins
 

Más de Phil Wilkins (20)

How fluentd fits into the modern software landscape
How fluentd fits into the modern software landscapeHow fluentd fits into the modern software landscape
How fluentd fits into the modern software landscape
 
gRPC, GraphQL, REST - Which API Tech to use - API Conference Berlin oct 20
gRPC, GraphQL, REST - Which API Tech to use - API Conference Berlin oct 20gRPC, GraphQL, REST - Which API Tech to use - API Conference Berlin oct 20
gRPC, GraphQL, REST - Which API Tech to use - API Conference Berlin oct 20
 
FluentD for end to end monitoring
FluentD for end to end monitoringFluentD for end to end monitoring
FluentD for end to end monitoring
 
Meetups - The Oracle Ace Way
Meetups - The Oracle Ace WayMeetups - The Oracle Ace Way
Meetups - The Oracle Ace Way
 
Apiary - A Developers Perspective
Apiary - A Developers PerspectiveApiary - A Developers Perspective
Apiary - A Developers Perspective
 
Secrets of Custom API Policies on the Oracle API Platform
Secrets of Custom API Policies on the Oracle API PlatformSecrets of Custom API Policies on the Oracle API Platform
Secrets of Custom API Policies on the Oracle API Platform
 
Terraform
TerraformTerraform
Terraform
 
Oracle London Developer Meetup November 2018
Oracle London Developer Meetup November 2018Oracle London Developer Meetup November 2018
Oracle London Developer Meetup November 2018
 
London Oracle Developer Meetup - June 18 - Drones with APIs
London Oracle Developer Meetup - June 18 - Drones with APIsLondon Oracle Developer Meetup - June 18 - Drones with APIs
London Oracle Developer Meetup - June 18 - Drones with APIs
 
London Oracle Developer Meetup April 18
London Oracle Developer Meetup April 18London Oracle Developer Meetup April 18
London Oracle Developer Meetup April 18
 
Oracle Developer Meetup March 2018
Oracle Developer Meetup March 2018Oracle Developer Meetup March 2018
Oracle Developer Meetup March 2018
 
OracleDeveloperMeetup - London 19-12-17
OracleDeveloperMeetup - London 19-12-17OracleDeveloperMeetup - London 19-12-17
OracleDeveloperMeetup - London 19-12-17
 
Look at Oracle Integration Cloud – its relationship to ICS. Customer use Case...
Look at Oracle Integration Cloud – its relationship to ICS. Customer use Case...Look at Oracle Integration Cloud – its relationship to ICS. Customer use Case...
Look at Oracle Integration Cloud – its relationship to ICS. Customer use Case...
 
API Platform Cloud Service best practice - OOW17
API Platform Cloud Service best practice - OOW17API Platform Cloud Service best practice - OOW17
API Platform Cloud Service best practice - OOW17
 
Oracle integration cloud service (ICS) best practices learned from the field ...
Oracle integration cloud service (ICS) best practices learned from the field ...Oracle integration cloud service (ICS) best practices learned from the field ...
Oracle integration cloud service (ICS) best practices learned from the field ...
 
Oracle ICS Best Practises - 1st Presented at Oracle Partner PaaS Forum by Phi...
Oracle ICS Best Practises - 1st Presented at Oracle Partner PaaS Forum by Phi...Oracle ICS Best Practises - 1st Presented at Oracle Partner PaaS Forum by Phi...
Oracle ICS Best Practises - 1st Presented at Oracle Partner PaaS Forum by Phi...
 
UKOUG Journey To The Cloud - March 2017
UKOUG Journey To The Cloud - March 2017UKOUG Journey To The Cloud - March 2017
UKOUG Journey To The Cloud - March 2017
 
Some OOW15 Observations
Some OOW15 ObservationsSome OOW15 Observations
Some OOW15 Observations
 
Enabling application architecture capacity through offshore si engagement
Enabling application architecture capacity through offshore si engagementEnabling application architecture capacity through offshore si engagement
Enabling application architecture capacity through offshore si engagement
 
Oracle SOA, AIA & Fusion Apps
Oracle SOA, AIA & Fusion AppsOracle SOA, AIA & Fusion Apps
Oracle SOA, AIA & Fusion Apps
 

Último

How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 

Último (20)

How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 

Microservices in a Monolith World - Shortened Version

  • 1. 1Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved. Micro-Services in a Monolith World Phil Wilkins Phil.Wilkins@capgemini.com uk.linkedin.com/in/philWilkins @MP3Monster / @PhilAtCapgemini Oracle-integration.cloud / APIPlatform.cloud / Blog.mp3monster.org
  • 2. 2Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved. Capgemini is One of the World's Largest Consulting, Technology, and Outsourcing Firms & a global “full service” business transformation provider Group Workforce: 200,000+ Globally Asia Pacific Latin America Canada United States Mexico Brazil Argentina Europe Morocco Australia People’s Republic of China India Chile Guatemala Russia Singapore Hong Kong North America UK & Ireland Nordics Benelux “It is the quality of our people, and their capacity to deliver fitting solutions, with you and for you, that drive real business results.” Across 40+ countries, 100 nationalities 5Businesses Revenue 12,8 Billion EUR (2017) Central Europe Morocco Net Profit €1,18B  Targeting Value  Mitigating Risk  Optimising Capabilities  Aligning the Organisation Elements to successful collaboration Application Services Infrastructure Services Business Process Outsourcing Consulting (Capgemini Consulting) Local Professional 4
  • 3. 3Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved. Cloud Premier Partner Oracle Diamond Partner Oracle Cloud Managed Service Provider partner – only a handful of SI’s Only Global SI to be accredited as Oracle Authorized Education Center Part of Beta programmes for: Cotainer Native & Microservices Inteligent Chatbot API platform Integration cloud Process cloud Oracle Self-Service Automation Oracle IoT Cloud Oracle Mobile Cloud  Continuous investments in cloud accelerators  5 Oracle Aces: 2 Directors, 3 Aces  Real experts and thought leaders including several books:  2013: Oracle SOA Governance Implementation  2015: Oracle API Management Implementation  2016: Oracle Case Management Solutions  2017: Implementing Cloud service  Oracle API Platform CS Implementation  Enterprise API Management  Several publications in OTN, Oracle Magazine, Oracle Scene & Other  2018 –Global Excellence Award for Extend and Connect  2018 –Silver Awards for Managed Services, Middleware & infrastructure Services - UKOUG Partner of the Year  2018 – PaaS & API Community Awards  2017 – Gold & Silver UKOUG Partner of the Year Awards  2017 – API 2017 – Global Excellence Award for Extend and Connect  & PaaS Community Award  2017 – Chatbot PaaS Community Award  2016 – Oracle Specialized Partner of the Year: Industry  2016 – Oracle University Partner of the Year  2016 – BPM and Cloud community awards  2015 – Oracle Customer Support Services Partner of the Year  2011 – Global Partner of the Year Award for Oracle Applications  2012 – Fusion Middleware partner of the year  2010 – Partner of the year for Oracle Fusion Middleware  2010 – 2010 EMEA Industry Partner of the Year  2010 – Oracle Customer Services Partner of The Year  2009 – Oracle Customer Services Partner of The Year  2008 – Oracle Customer Services Partner of The Year Alliance and Strategic Partnership Awards & Recognitions Thought Leadership Article – June 17 Article – June 17 Podcast – August 17 Capgemini & Oracle
  • 4. 4Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved. 4 • Technical Enterprise Architect specializing in Integration and PaaS. • Started out as a developer working on UI for Radar • Moved into integration solutions –using Open Src Tech e.g. JBoss App Server & Fuse, Apache Camel etc. • Worked in end user companies, ISVs & consultancy. • Worked with Oracle tech for ~10yrs covering on-prem and cloud. About :: Phil Wilkins Supported the development of a variety of books Packt – Erl et al Articles published in a range of Journals Published 1st Oracle iPaaS Book Implementing ICS PaaS Community Jan, 2017 TOGAF 9 Certified 2013 • co-authored a book on Oracle Integration Cloud, contributing a new book on API Platform & contributions to development of more than a dozen other titles ranging from Apache Camel to Cloud Computing Design • Active blogger have had a number of articles published in various journals. • Organizer of London Oracle Developer Meetup & Drones with APIs OS Project Implementing API Platform & PaaS Community Award April & May 2018
  • 5. 5Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved. 5 Publications from the Capgemini PaaS Team https://oracle-integration.cloud Order from … • http://bit.ly/ImplICSBook • http://bit.ly/ICS-Amazon Goes to Print Q1 2018http://APIPlatform.cloud Just gone to print Order from … • http://bit.ly/APIP-CS • http://bit.ly/APIP-CS- Amazon
  • 6. 6Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved. 6Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved. 6 01 02 03 04 05 What do we mean by Microservices? How can monolithic containers be made to help me ? Use of WebLogic What could my development approach look like? Take Aways Agenda
  • 7. 7Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved. What do we mean by Microservices?
  • 8. 8Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved. ‹#›© 2017 Capgemini. All rights reserved. What do we really mean by Microservices?
  • 9. 9Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved. ‹#›© 2017 Capgemini. All rights reserved. An architecture that structures the application as a set of loosely coupled, collaborating services … Each service implements a set of narrowly, related functions. Services communicate using either synchronous protocols such as HTTP/REST or asynchronous protocols such as AMQP. Services can be developed and deployed independently of one another… - Chris Richardson, microservices.io Microservices are small, autonomous services that work together. —Sam Newman, Thoughtworks Loosely coupled service-oriented architecture with bounded contexts. —Adrian Cockcroft, formerly Netflix, now VP Cloud Architecture Strategy at AWS What do the thought leaders say ….
  • 10. 10Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved. ‹#›© 2017 Capgemini. All rights reserved. Monolith, Microservices & Mini Apps … some characterization Diagrams based on Microservices by James Lewis - Thoughtworks https://martinfowler.com/articles/microservices.html Monolith Microservices Mini/Micro Apps
  • 11. 11Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved. ‹#›© 2017 Capgemini. All rights reserved. Are you going to miss the point? • Paraphrase Martin Fowler – best way to do microservices is build the monolith first • Microservices is as much organization, people and design as it is tech Why Microservices? • It’s the thing to do, • We want new toys, • It will keep the development team happy, • It’s the only way to develop in the cloud • My ability to deliver is too slow (or I need my development to go faster), • I need lower coupling and modularity to help re-use, • I need ways to scale my solution in different ways, • Things need to be elastic and more dynamic at runtime, • I need to find ways to future proof my current investments,
  • 12. 12Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved. ‹#›© 2017 Capgemini. All rights reserved. Understanding the Premium & Debunk some Myths App Server / Runtime Platform App Host Servers Bare Metal with a hypervisor or just a cluster of servers with an OS such as Linux Container Mgmt Kubernetes / Istio Microservice Mesh / Mesos etc ContainerContainer Container solution such as Docker App Svr App Svr Simple server process to execute app logic e.g. Apache Service Service Service Application Logic – discrete unconnected solutions and potentially Polyglot in nature Enterprise class app server offering many features such as WebLogic – very capable but also very complex. Large footprint unless stripped down App – multiple Jars running on a single OS process that is multithreaded TomakeachangesafelyIneedtounderstand allofthisHost Servers Monolith Microservices Whenatscale specialismallowsthis To make a change safely I need to understand all of this
  • 13. 13Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved. Build on - Martin Fowler https://martinfowler.com/bliki/MicroservicePremium.html The micro apps approach will incur overhead, but less than all out microservices
  • 14. 14Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved. How we can achieve the Microservice goals using WebLogic ?
  • 15. 15Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved.© 2017 Capgemini. All rights reserved. Why try microservices on WLS? • Organisational Investment & Culture • Broad adoption of WLS can be a significant investment - desire to maximise investment (or desire not to have $$$ spent seen as redundant) • Minimize vendors - encourages big vendor with broad offering rather than specialist orgs. • Mindset of the decision makers – prefer tried and tested technologies • Open Source vs Closed Source • Really supported vs unsupported or self supported (often perception issue) • Often closed source offerings – hardened or pre- integrated versions of open source e.g. JMS or JNDI • Open source licensing – still can bite – particularly when thinking about monetization • Typical tech associated with Microservices can be seen as too big a change for some – resistant to big change • Vertical Alignment • Exploit defined markets & partnership relationships (big vendor partner may help sell) • Vendor relationship Martin Fowler
  • 16. 16Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved.© 2017 Capgemini. All rights reserved. WebLogic with Docker WLS in Docker … • WLS certified with Docker as 12.1.3 BUT… • Mean it’s a microservice? maybe • Same mistakes can be made • It does allow us to simplify deployment • It does allow us create separation WLS in Docker is a winner for… • Accelerating development • Likely to develop deploQuick to start using • My development environment can be anywhere – any host OS, in ANY cloud • No installation processes needed • Deployment processes using WLST – making switch to production grade deployment better • But what about license costs beyond the OTN agreement?
  • 17. 17Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved.© 2017 Capgemini. All rights reserved. WebLogic as a Micro App Platform Server 1 Single DomainWLS Svcs Coherence JMS AQ JNDI Servlet Node Mgr • WebLogic 12.2.1 also introduced idea of Partitions … • Thread management allowing QoS control – through resources • Resources can have access at • Domain level – i.e. everywhere • Partition level – shared with no one • Although core processes are shared e.g. • Node Manager • JMS threads • Coherence processes Managed Svr App 1 Domain Partition 1 Admin Svr • Our microservice simile • We’ve taken to call a MicroApp as it resides in an App Server – and avoids ‘contentious disputes over what a microservice must look like’
  • 18. 18Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved.© 2017 Capgemini. All rights reserved. Server 1 WebLogic as a Micro App Platform Single Domain Node Mgr • To add extra microapps we add new partitions • Footprint grows by threads allocated & some JVM Memory • Configuration in the partitions is isolated • We might have to enable additional shared services e.g. JMS & coherence at the domain or sever level Managed Svr App 1 Domain Partition 1 App 2 Domain Partition 2 WLS Svcs Coherence JMS AQ JNDI Servlet Admin Svr
  • 19. 19Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved.© 2017 Capgemini. All rights reserved. The roll of messaging Messaging important to establish … • Asynchronous communication between services • Lower coupling … • Support for moving from Orchestration to Choreography – dumb pipes smart endpoints Orchestration The mechanics with the channel direct traffic node to node Choreography The channel is a simple dumb pipe, everyone listens and decides what to do To be polyglot friendly your messaging needs both invocation interface spec e.g. JMS and a wire level specification e.g. AMQPP, Apache Avro JMS?
  • 20. 20Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved.© 2017 Capgemini. All rights reserved. The is Kafka right ? JMSProducer Consumer Consumer Consumer Storage Why is JMS not so great? • No wire level spec – so Polyglot an issue • Often implemented with DB storage making it relatively slow and single node dependency • Kafka resolves by using HDFS But there are transition options … 1. JMS only with topics 2. Kafka + JMS client 3. Future refactor JMS client out – 1 service at a time KafkaProducer Consumer Consumer Consumer HDFS Consumer
  • 21. 21Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved.© 2017 Capgemini. All rights reserved. How does my Development process work? Adapt the design approach …. • Start to embody the design concepts • Keep it small, keep it decoupled • Design to do 1 thing well, if there’s a different API for it, then its another service • Use Bounded Contexts and stay inside your boundaries. • Many Microservice patterns are solution agnostic – and you can find comparable solutions built in a monolithic style Chris Richardson Microservices.io (Microservice Patterns) Difficult to realize in an monolithic platform Would require new capability
  • 22. 22Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved.© 2017 Capgemini. All rights reserved. Fine in theory, but to make it work in practise … Spring Boot to the rescue • Spring Boot leverages Spring platform in an ‘opinionated manner’ i.e. • Works with Spring elements that are commonly used together • Derives dependencies based on provided info for project types, • Provide Spring Boot with configuration and it will create the Java framework for you and allow deployment to … • Apache Tomcat, Apache Jetty • Undertow, Netty, • WebLogic, Websphere … • Spring Boot is recognised as a framework for building ‘typical’ container centric microservices • As Spring is proven with WLS, once you microservice is, swap your dependencies to the WLS versions – Build & DEPLOY! Word of Warning – changing dependencies for WLS can be tricky, is not for the Java newbie
  • 23. 23Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved. 23© 2017 Capgemini. All rights reserved. Make the right choices and you set yourself on a journey to transition without too much pain. A less disruptive transition may be more palatable Microservices is a design style NOT tech – so design microservices even if you have to run on a monolithic platform A few things to keep in mind when looking at adopting or adapting this approach … Microservices don’t come without cost & can be difficult – so need to take on for the right reasons If we knew what it was we were doing, it would not be called research, would it? Albert Einstein Takeways
  • 24. 24Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved. ‹#›© 2017 Capgemini. All rights reserved. Thankyou Presentation Title | Author | Date
  • 25. 25Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved. With more than 190,000 people, Capgemini is present in over 40 countries and celebrates its 50th Anniversary year in 2017. A global leader in consulting, technology and outsourcing services, the Group reported 2016 global revenues of EUR 12.5 billion. Together with its clients, Capgemini creates and delivers business, technology and digital solutions that fit their needs, enabling them to achieve innovation and competitiveness. A deeply multicultural organization, Capgemini has developed its own way of working, the Collaborative Business Experience™, and draws on Rightshore®, its worldwide delivery model. About Capgemini Learn more about us at www.capgemini.com This message contains information that may be privileged or confidential and is the property of the Capgemini Group. Copyright © 2017 Capgemini. All rights reserved. Rightshore® is a trademark belonging to Capgemini. This message is intended only for the person to whom it is addressed. If you are not the intended recipient, you are not authorized to read, print, retain, copy, disseminate, distribute, or use this message or any part thereof. If you receive this message in error, please notify the sender immediately and delete all copies of this message.

Notas del editor

  1. PHOTO of audience Ask questions … Who is developing microservices Who is using WLS Who is stuck in monolith hell ~approx. 1 minute per slide
  2. Organizer for the London Oracle Dev Meetup
  3. API Platform book out
  4. QUESTION: anyone want to share some names of things that we’d associate with Microservices? Microservices typically get linked directly to specific tech - Containers like Docker, container mgmt like Kubernetes Design paradigm to facilitate goals... Descrete independent deployable pieces – allowing greater rate of change Reduce/prevent = different components impacting each other – bulkheads etc Smart endpoints, dumb pipes Point to clarify the difference between the concepts and the common tech The boundary getting blurred we conflat tech with architect - with CNCF ratifying specific solutions and Cloud Native getting tied up with microservice model Small descrete independent deployable pieces – allowing greater rate of change https://martinfowler.com/articles/microservices.html
  5. These are all thought leaders Note the absence of tech, or at most used as illustration http://microservices.io/patterns/microservices.html – Chris Richardson
  6. Monolith – scaleout by cloning entire stack or scale up by just giving more resources Highlight how each component is isolated or NOT Notice the common rail between the components Based on Martin Fowler
  7. I think we’ve established that microservices are ideas over tech. So why adopt those ideas, what are the risks If we’re doing microservices for reasons other than the benefits – how do you know you’re being effective, and not creating a distributed monolith We need to evaluate, measure and understand if we’re getting things right Why take on the challenge of Microservices?
  8. Microservices are quicker – yes at scale, otherwise NO. Microservices require the understanding and deployment of more building blocks UNLESS you use PaaS that takes that away. If you need small solution with a few features and small user base Microservices are easier –in small scale solutions its not – more parts to deal with unless your have a PaaS. Real benefit is when solutions get larger or the microservice premium is worth paying Tax examples additional docker containers CORs becomes necessary Microservices are hard - https://hackernoon.com/microservices-are-hard-an-invaluable-guide-to-microservices-2d06bd7bcf5d
  9. Trade off of the micro app likely to attenuate down to a monolith Benefits – simpler transition
  10. We’re at an Oracle sponsored event – so lets look at WLS But many of the following principles have comparable solutions with WebSphere, Wildfly aka JBoss AS
  11. Issues of investment Open sources vs closed source – often a proxy argument for how support is realized Manage questions of license -- Don’t think open source == no license – Sonatype blog at length on this trap Manage number of verndors
  12. WLS in docker – cwertified but not really a microservice story Does jump start development Benefit in CI/CD as now can spin new environments for each test cycle Environment build consistency and simplification Cloud portability for monoliths https://blogs.oracle.com/weblogicserver/oracle-weblogic-server-1221-running-on-docker-containers https://docs.oracle.com/middleware/1213/wls/NOTES/whatsnew.htm#NOTES405
  13. WLS documentation does actually talk about partition as a ‘micro container’ Also design goal of driving up execution density WebLogic 12.2.1 also introduced idea of Partitions – QoS controls Classic microservice benefits – access, partitioning of resources Core processes JNDI, JMS still there as a central service but config isolated
  14. New discrete – separated resources – partitions can not SEE each others content Oracle Diagram – shows the separation OF RESOURCES Each micro app – has its own partition – therefore slice of memory, threads etc One gotcha – multi-partitioning with WLS impacts licensing WLS partitioning also a multi tenancy model
  15. Messaging is central to the microservice idea of dumb pipes, smart endpoints aka choreography vs orchestration Talk to larger diagram – simplicity of listening and deciding on each msg – yes comes with an overhead Async comms lends itself to scaling as race conditions on event consumption is easier than service discovery and registration
  16. You have to assume sooner or later in a microservices environment that something will be built using a different tech This means wire level protocol and interface – contract – which JMS does not have Kafka + Apache Avro, remember AMQP mentioned previously Transition strategy – abandon queues – everything is a topic – Kafka has JMS API Then replace JMS API as each service gets revisited Kafka uses HDFS which is where it wins out of typical underpinning of DB – comes at the price of HDFS complexity
  17. The size of microservices is a long running question – 1 view is If you cant build & test on your laptop – its too big Talk about bounded context diagram Design your code using bounded contexts – this will help with the 2 pizza sizing as well Microservices.io map of patterns – therse patterns are not tech specific Diagram highlighted those that need extra effort vs those that cant be done in a WLS;J2EE environment
  18. Spring & Springboot – your friend – abstracts common services – therefore can graft on to a container Springboot gives you an app svr – that local use, configure to then later work with target – portability, sizing reinforced Reconfiguring Springboot for WLS does require some understanding of both Spring and WLS https://spring.io/blog/2013/08/06/spring-boot-simplifying-spring-for-everyone https://spring.io/blog/2014/03/07/deploying-spring-boot-applications http://undertow.io/ - Jboss non blocking IO server https://netty.io/ Async (reactive) app framework/server
  19. Microservices don’t come without cost & can be difficult – so need to take on for the right reasons Make the right choices and you set yourself on a journey to transition without too much pain. A less disruptive transition may be more palatable Microservices is a design style NOT tech – so design microservices even if you have to run on a monolithic platform