SlideShare une entreprise Scribd logo
1  sur  36
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. 2
• 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
3Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved. 3
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
4Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved.
Cloud Premier Partner
Oracle Diamond Partner
Oracle Cloud Managed Service
Provider (*New!) partner – only a
handful of SI’s
Only Global SI to be accredited as
Oracle Authorized Education Center
Part of Beta programmes for:
Container 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 Integration
Cloud Service
 Oracle API Platform CS
Implementation
 Enterprise API Management
 Several publications in OTN, Oracle
Magazine, Oracle Scene & Other
 2018 – Outstanding PaaS Contribution & Outstanding API
Contribution
 2017 – Gold & Silver UKOUG Partner of the Year Awards
 2017 – Global Excellence Award for Extend and Connect
 2017 – API 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
5Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved. 5Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved. 5
01
02
03
04
05
06
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
Q&A / Debate?
Agenda
6Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved.
What do we mean by
Microservices?
7Microservices 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?
8Microservices 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 ….
9Microservices 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
10Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved. ‹#›© 2017 Capgemini. All rights reserved.
Monolith, Microservices & Mini Apps
11Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved. ‹#›© 2017 Capgemini. All rights reserved.
Monolith, Microservices & Mini Apps
(aka Microservices on a Monolith)
12Microservices 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,
13Microservices 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
14Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved. ‹#›© 2017 Capgemini. All rights reserved.
Understanding the Premium & Debunk
some Myths
Host Servers
App Server /
Runtime Platform
App
ContainerContainer
Container Mgmt
Service
App Svr App Svr
Service
Service
To make a change safely I need
to understand all of this
TomakeachangesafelyIneedtounderstand
allofthis
Host Servers
Monolith Microservices
Whenatscale
specialismallowsthis
App Server /
Runtime Platform
App
Host Servers
MicroApp
App App
ReducedKnowledgefootprint
15Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved. ‹#›© 2017 Capgemini. All rights reserved.
Runtime
Understanding the Premium & Debunk
some Myths
Host Servers
App Server /
Runtime Platform
App
ContainerContainer
Container Mgmt
Service
App Svr App Svr
Service
Service
To make a change safely I need
to understand all of this
TomakeachangesafelyIneedtounderstand
allofthis
Host Servers
Monolith Microservices
Whenatscale
specialismallowsthis
Runtime
App
Host Servers
Microservices (Micro
app) on a Monolith
App App
ReducedKnowledgefootprint
Runtime
16Microservices 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
17Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved.
How we can achieve the
Microservice goals using
WebLogic ?
18Microservices 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
19Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved.© 2017 Capgemini. All rights reserved.
WebLogic as a Platform
Server 1
Single
DomainWLS Svcs
Coherence
JMS AQ
JNDI
Servlet
Node
Mgr
Managed
Svr
Admin
Svr
• Admin Svr & Domain maybe combined
• All services included into a domain as
normal practise
• All libraries included into domain
• Only 1 domain as easy – no setup
• Apps / projects isolated when worked
on by developers – but deployed to
common location
• Accumulation of artefacts
• Delivery pressure + desire to re-use –
leads cross dependencies and library
level
SOA
Mediator
BPEL OSB
Rules
Workflow
20Microservices 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?
21Microservices 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’
22Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved.© 2017 Capgemini. All rights reserved.
Using the WLS Core Services
Node Manager
• per server and looks after the O/S connection
• Make Node manager work – keep all services
alive (managed svr, admin server etc)
Managed Server
• Provides the JVM which we can resource share
• Home for shared services/execution resources
• Key limitation - this fails then you lose all your
microapps
Admin Server
• This is optional – but having 1 provides a simple dashboard into
domain and state
• Avoids needing to know WLST
23Microservices 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
24Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved.© 2017 Capgemini. All rights reserved.
Server nServer 1
WebLogic as a Micro App Platform - Scale
Node
Mgr
• Can scale the capacity by:
• Scaleup – utilize a VM to provide
transparently more memory &
CPUs – therefore more threads =
more potential partitions without
degrading existing nodes
• Scale out = more compute nodes into
the domain. Apply partitions onto
domain
• Note we’ve not bothered with passive
Admin Svrs
Managed
Svr
Managed
Svr
App 1
Domain
Partition 1
App 2
Domain
Partition 2
WLS Svcs
Coherence
JMS AQ
JNDI
Servlet
Admin
Svr
Node
Mgr
WLS Svcs
Coherence
JMS AQ
JNDI
Servlet
Single Domain
25Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved.© 2017 Capgemini. All rights reserved.
Exploit WLS Clustering?
WLS Clustering gives us …
• Shared session management across nodes
• Rolling upgrade process
• Cross node application deployment
• Load balancing
• Failover mechanisms
There are downsides ….
• Shared session management can create a lot of
overheads and counter productive in the wrong scenario
• Upgrade mechanics – clustering imposes constraints on
platform versions as well providing feature. We can avoid this
by adopting container style approaches of replacing nodes
• Load balancing presumes there is a front end – but you may
not have a front end. So apply microservice thinking use
component best & dedicated to task
My view – err away, the closer to a container model your deployment, the easier to make the
change
26Microservices 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?
27Microservices 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
28Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved.
How do I build the code?
- OR -
Spring is my Friend
29Microservices 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
30Microservices 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 development process …
• Every Microservice text there is puts significant
emphasis on CI-CD
• Rapid & frequent
• Good test coverage
• Make mocking interfaces easy
• API 1st approaches will increase likelihood of mocking
• Get development to be local for longer …
• Use a small container that provides the basics as the
dev container,
• It will encourage decoupled thinking – if you know
code will get moved to a different container, you’re
going to be careful – you’re not going to rewrite
• More decoupling == easier testing
• If development is getting bound to the container –
you have a ‘bad smell’
• If you need a service it’s an API
Design
Build Local
Test Local
Start WLS Parallel
(alternate
Dependencies Set)
Integrate
Regression
Production
31Microservices 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
32Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved. ‹#›© 2017 Capgemini. All rights reserved.
Exploiting Cloud …
Microservices need cloud ?
• People conflate cloud and microservices
• They can be used together to gain benefit
• That can be used for monoliths just as easily
• BUT …
• Typically it is easier to create and destroy
environments
• Redeploys to virgin environments help verify
that you’re not creating implicit dependencies
• Typically instantiation of cloud is faster than
organization processes on prem – so its easier
• Oracle offers BYOL options …
• Reduces costs, but if License investment is one
of the factors preventing ‘pure’ microservices
then this is in keeping with expectation
33Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved. 33© 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
34Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved. ‹#›© 2017 Capgemini. All rights reserved.
London Developer Meetup
This group is about developing Enterprise-grade Cloud
Native applications on the Oracle Cloud Platform,
covering topics like Microservices Architecture,
developing in Node, Python and PHP, using Low Code
development tools to build Mobile apps, and much
more.
Share your knowledge with the community
• Hands-on PaaS & IaaS presentations & labs
• Networking with pizza & beer
Location: Oracle City Office
One South Place, London EC2M 2RB
Registration:
www.meetup.com/Oracle-Developer-Meetup-London
35Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved. ‹#›© 2017 Capgemini. All rights reserved.
Thankyou
Presentation Title | Author | Date
36Microservices 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.

Contenu connexe

Plus 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
 

Plus 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
 

Dernier

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
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
 
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
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
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
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
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
 
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
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
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
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 

Dernier (20)

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
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
 
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...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
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...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
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
 
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...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
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
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 

Microservices in a Monolith World

  • 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. 2 • 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
  • 3. 3Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved. 3 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
  • 4. 4Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved. Cloud Premier Partner Oracle Diamond Partner Oracle Cloud Managed Service Provider (*New!) partner – only a handful of SI’s Only Global SI to be accredited as Oracle Authorized Education Center Part of Beta programmes for: Container 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 Integration Cloud Service  Oracle API Platform CS Implementation  Enterprise API Management  Several publications in OTN, Oracle Magazine, Oracle Scene & Other  2018 – Outstanding PaaS Contribution & Outstanding API Contribution  2017 – Gold & Silver UKOUG Partner of the Year Awards  2017 – Global Excellence Award for Extend and Connect  2017 – API 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
  • 5. 5Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved. 5Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved. 5 01 02 03 04 05 06 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 Q&A / Debate? Agenda
  • 6. 6Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved. What do we mean by Microservices?
  • 7. 7Microservices 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?
  • 8. 8Microservices 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 ….
  • 9. 9Microservices 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
  • 10. 10Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved. ‹#›© 2017 Capgemini. All rights reserved. Monolith, Microservices & Mini Apps
  • 11. 11Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved. ‹#›© 2017 Capgemini. All rights reserved. Monolith, Microservices & Mini Apps (aka Microservices on a Monolith)
  • 12. 12Microservices 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,
  • 13. 13Microservices 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
  • 14. 14Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved. ‹#›© 2017 Capgemini. All rights reserved. Understanding the Premium & Debunk some Myths Host Servers App Server / Runtime Platform App ContainerContainer Container Mgmt Service App Svr App Svr Service Service To make a change safely I need to understand all of this TomakeachangesafelyIneedtounderstand allofthis Host Servers Monolith Microservices Whenatscale specialismallowsthis App Server / Runtime Platform App Host Servers MicroApp App App ReducedKnowledgefootprint
  • 15. 15Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved. ‹#›© 2017 Capgemini. All rights reserved. Runtime Understanding the Premium & Debunk some Myths Host Servers App Server / Runtime Platform App ContainerContainer Container Mgmt Service App Svr App Svr Service Service To make a change safely I need to understand all of this TomakeachangesafelyIneedtounderstand allofthis Host Servers Monolith Microservices Whenatscale specialismallowsthis Runtime App Host Servers Microservices (Micro app) on a Monolith App App ReducedKnowledgefootprint Runtime
  • 16. 16Microservices 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
  • 17. 17Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved. How we can achieve the Microservice goals using WebLogic ?
  • 18. 18Microservices 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
  • 19. 19Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved.© 2017 Capgemini. All rights reserved. WebLogic as a Platform Server 1 Single DomainWLS Svcs Coherence JMS AQ JNDI Servlet Node Mgr Managed Svr Admin Svr • Admin Svr & Domain maybe combined • All services included into a domain as normal practise • All libraries included into domain • Only 1 domain as easy – no setup • Apps / projects isolated when worked on by developers – but deployed to common location • Accumulation of artefacts • Delivery pressure + desire to re-use – leads cross dependencies and library level SOA Mediator BPEL OSB Rules Workflow
  • 20. 20Microservices 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?
  • 21. 21Microservices 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’
  • 22. 22Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved.© 2017 Capgemini. All rights reserved. Using the WLS Core Services Node Manager • per server and looks after the O/S connection • Make Node manager work – keep all services alive (managed svr, admin server etc) Managed Server • Provides the JVM which we can resource share • Home for shared services/execution resources • Key limitation - this fails then you lose all your microapps Admin Server • This is optional – but having 1 provides a simple dashboard into domain and state • Avoids needing to know WLST
  • 23. 23Microservices 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
  • 24. 24Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved.© 2017 Capgemini. All rights reserved. Server nServer 1 WebLogic as a Micro App Platform - Scale Node Mgr • Can scale the capacity by: • Scaleup – utilize a VM to provide transparently more memory & CPUs – therefore more threads = more potential partitions without degrading existing nodes • Scale out = more compute nodes into the domain. Apply partitions onto domain • Note we’ve not bothered with passive Admin Svrs Managed Svr Managed Svr App 1 Domain Partition 1 App 2 Domain Partition 2 WLS Svcs Coherence JMS AQ JNDI Servlet Admin Svr Node Mgr WLS Svcs Coherence JMS AQ JNDI Servlet Single Domain
  • 25. 25Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved.© 2017 Capgemini. All rights reserved. Exploit WLS Clustering? WLS Clustering gives us … • Shared session management across nodes • Rolling upgrade process • Cross node application deployment • Load balancing • Failover mechanisms There are downsides …. • Shared session management can create a lot of overheads and counter productive in the wrong scenario • Upgrade mechanics – clustering imposes constraints on platform versions as well providing feature. We can avoid this by adopting container style approaches of replacing nodes • Load balancing presumes there is a front end – but you may not have a front end. So apply microservice thinking use component best & dedicated to task My view – err away, the closer to a container model your deployment, the easier to make the change
  • 26. 26Microservices 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?
  • 27. 27Microservices 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
  • 28. 28Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved. How do I build the code? - OR - Spring is my Friend
  • 29. 29Microservices 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
  • 30. 30Microservices 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 development process … • Every Microservice text there is puts significant emphasis on CI-CD • Rapid & frequent • Good test coverage • Make mocking interfaces easy • API 1st approaches will increase likelihood of mocking • Get development to be local for longer … • Use a small container that provides the basics as the dev container, • It will encourage decoupled thinking – if you know code will get moved to a different container, you’re going to be careful – you’re not going to rewrite • More decoupling == easier testing • If development is getting bound to the container – you have a ‘bad smell’ • If you need a service it’s an API Design Build Local Test Local Start WLS Parallel (alternate Dependencies Set) Integrate Regression Production
  • 31. 31Microservices 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
  • 32. 32Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved. ‹#›© 2017 Capgemini. All rights reserved. Exploiting Cloud … Microservices need cloud ? • People conflate cloud and microservices • They can be used together to gain benefit • That can be used for monoliths just as easily • BUT … • Typically it is easier to create and destroy environments • Redeploys to virgin environments help verify that you’re not creating implicit dependencies • Typically instantiation of cloud is faster than organization processes on prem – so its easier • Oracle offers BYOL options … • Reduces costs, but if License investment is one of the factors preventing ‘pure’ microservices then this is in keeping with expectation
  • 33. 33Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved. 33© 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
  • 34. 34Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved. ‹#›© 2017 Capgemini. All rights reserved. London Developer Meetup This group is about developing Enterprise-grade Cloud Native applications on the Oracle Cloud Platform, covering topics like Microservices Architecture, developing in Node, Python and PHP, using Low Code development tools to build Mobile apps, and much more. Share your knowledge with the community • Hands-on PaaS & IaaS presentations & labs • Networking with pizza & beer Location: Oracle City Office One South Place, London EC2M 2RB Registration: www.meetup.com/Oracle-Developer-Meetup-London
  • 35. 35Microservices in a Monolith World | Phil Wilkins | May 2018 © 2018 Capgemini. All rights reserved. ‹#›© 2017 Capgemini. All rights reserved. Thankyou Presentation Title | Author | Date
  • 36. 36Microservices 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.

Notes de l'éditeur

  1. 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