Docker (and microservices)
Moving From a Monolith to Microservices
2Oracle Cloud | Johan Louwers | NOV 2017 © 2017 Capgemini. All rights reserved.
Docker (and microservices)
Moving From a Monolith to Microservices
do's and don’ts concerning this presentation
• Don’t expect fancy slides this time
• Don’t expect Docker to be the main topic of this presentation
• Don’t expect more than just a high level introduction in the given time (–big mistake- nobody gave me a time limit)
• Do know I will tell a couple of “lies” to simplify things
• Do have questions, however save them for the lunch break (don’t worry it is free as far as I know)
• Do share this presentation afterwards online (nothing customer specific will be in the slides)
3Oracle Cloud | Johan Louwers | NOV 2017 © 2017 Capgemini. All rights reserved.
Docker (and microservices)
Moving From a Monolith to Microservices
Find out where we are first
Source : IDC research
4Oracle Cloud | Johan Louwers | NOV 2017 © 2017 Capgemini. All rights reserved.
Docker (and microservices)
Moving From a Monolith to Microservices
Where are we moving towards?
Source : IDC research
5Oracle Cloud | Johan Louwers | NOV 2017 © 2017 Capgemini. All rights reserved.
Docker (and microservices)
Moving From a Monolith to Microservices
Are we alone in our move?
Source : IDC research
6Oracle Cloud | Johan Louwers | NOV 2017 © 2017 Capgemini. All rights reserved.
Docker (and microservices)
Moving From a Monolith to Microservices
So we are moving to microservices… what is this microservice you talk about?
The term "Microservice Architecture" has sprung up over the last few years to describe a particular way of
designing software applications as suites of independently deployable services. While there is no precise
definition of this architectural style, there are certain common characteristics around organization around
business capability, automated deployment, intelligence in the endpoints, and decentralized control of
languages and data – Martin Fowler
• Microservices are small
• Microservices are independently deployable
• Communicates via (REST) APIs
• Are stateless (by itself)
• Do provide one (or more) service(s) within a wider deployment
• Should be able to be hosted in a (Docker) container
7Oracle Cloud | Johan Louwers | NOV 2017 © 2017 Capgemini. All rights reserved.
Docker (and microservices)
Moving From a Monolith to Microservices
How are microservices different from what we have right now?
8Oracle Cloud | Johan Louwers | NOV 2017 © 2017 Capgemini. All rights reserved.
Docker (and microservices)
Moving From a Monolith to Microservices
I kind of get this microservice thing now. What has it to do with Docker?
• We want to deploy in a quick, fast and automated manner
• We want to scale up and down in an automated manner
• We want to prevent a skyrocket growth in servers (VMs)
• We want to be able to “push” in new versions in a simple manner
• We want to be able to get to a higher level of automation and CI/CD
• We want to prevent patching and debugging each individual instance
• We want … we want… … to be able to provide the best service
Solution: position microservices in Docker containers
• For newly developed services and functionality
• For parts we can extract out of the monolith
• For the remainders of the monolith
9Oracle Cloud | Johan Louwers | NOV 2017 © 2017 Capgemini. All rights reserved.
Docker (and microservices)
Moving From a Monolith to Microservices
That took him some time, we are on slide 9… we are finally talking about Docker
A container image is a lightweight, stand-alone, executable package of a piece of software that includes everything needed to run it: code,
runtime, system tools, system libraries, settings. Available for both Linux and Windows based apps, containerized software will always run
the same, regardless of the environment. -- Docker.com
Meaning:
• A Docker container can be viewed as an executable (in some way)
• You cannot login to a container and can only consume the service (yes, that is a lie)
• Developers can run it locally or in a dev env and the container will act the same in upstream environments
• Everything is packaged into one container, what is delivered by development will run directly
10Oracle Cloud | Johan Louwers | NOV 2017 © 2017 Capgemini. All rights reserved.
Docker (and microservices)
Moving From a Monolith to Microservices
So….. What is the difference with a VM?
11Oracle Cloud | Johan Louwers | NOV 2017 © 2017 Capgemini. All rights reserved.
Docker (and microservices)
Moving From a Monolith to Microservices
Show me an example of how that would look like in a deployment.
12Oracle Cloud | Johan Louwers | NOV 2017 © 2017 Capgemini. All rights reserved.
Moookeeee,….. so…. what you are saying is
• We are moving away from a Monolith towards microservices
• Build (as much as possible) all new functionality as a microservices
• We will automate the hell out of it in a CI/CD manner
• Put everything into Docker containers
• Strive for full operational automation as possible
• Start adopting more and more DevOps based ways of working
And at the same time
• Provide a more agile platform to our customer
• Improve performance and scalability
• Ensure they are more future ready from a tech point of view
• Enable ourselves to have a much higher release rate.
Docker (and microservices)
Moving From a Monolith to Microservices
13Oracle Cloud | Johan Louwers | NOV 2017 © 2017 Capgemini. All rights reserved.
Docker (and microservices)
Moving From a Monolith to Microservices
Be wary of Autoroute du soleil thinking
• This is not done in one go and will take a lot of time and steps
• It is complicated and hard and will through a lot of new type of issues towards us
• And no…… we are not there yet, we just started our journey
• However, the end state is fun
Are we there
yet?
14Oracle Cloud | Johan Louwers | NOV 2017 © 2017 Capgemini. All rights reserved.
Docker (and microservices)
Moving From a Monolith to Microservices
Hold on!! Now I have more questions than I started with!!
• Good, see you during the lunch break!!
15Oracle Cloud | Johan Louwers | NOV 2017 © 2017 Capgemini. All rights reserved.
Docker (and microservices)
Moving From a Monolith to Microservices
Contact details:
• Johan Louwers - Global Chief Architect Oracle Technology
• Mail : johan.louwers@Capgemini.com
• Twitter: @johanlouwers
• Blog : johanlouwers.blogspot.com
Thanks

Docker and microservices - moving from a monolith to microservices

  • 1.
    Docker (and microservices) MovingFrom a Monolith to Microservices
  • 2.
    2Oracle Cloud |Johan Louwers | NOV 2017 © 2017 Capgemini. All rights reserved. Docker (and microservices) Moving From a Monolith to Microservices do's and don’ts concerning this presentation • Don’t expect fancy slides this time • Don’t expect Docker to be the main topic of this presentation • Don’t expect more than just a high level introduction in the given time (–big mistake- nobody gave me a time limit) • Do know I will tell a couple of “lies” to simplify things • Do have questions, however save them for the lunch break (don’t worry it is free as far as I know) • Do share this presentation afterwards online (nothing customer specific will be in the slides)
  • 3.
    3Oracle Cloud |Johan Louwers | NOV 2017 © 2017 Capgemini. All rights reserved. Docker (and microservices) Moving From a Monolith to Microservices Find out where we are first Source : IDC research
  • 4.
    4Oracle Cloud |Johan Louwers | NOV 2017 © 2017 Capgemini. All rights reserved. Docker (and microservices) Moving From a Monolith to Microservices Where are we moving towards? Source : IDC research
  • 5.
    5Oracle Cloud |Johan Louwers | NOV 2017 © 2017 Capgemini. All rights reserved. Docker (and microservices) Moving From a Monolith to Microservices Are we alone in our move? Source : IDC research
  • 6.
    6Oracle Cloud |Johan Louwers | NOV 2017 © 2017 Capgemini. All rights reserved. Docker (and microservices) Moving From a Monolith to Microservices So we are moving to microservices… what is this microservice you talk about? The term "Microservice Architecture" has sprung up over the last few years to describe a particular way of designing software applications as suites of independently deployable services. While there is no precise definition of this architectural style, there are certain common characteristics around organization around business capability, automated deployment, intelligence in the endpoints, and decentralized control of languages and data – Martin Fowler • Microservices are small • Microservices are independently deployable • Communicates via (REST) APIs • Are stateless (by itself) • Do provide one (or more) service(s) within a wider deployment • Should be able to be hosted in a (Docker) container
  • 7.
    7Oracle Cloud |Johan Louwers | NOV 2017 © 2017 Capgemini. All rights reserved. Docker (and microservices) Moving From a Monolith to Microservices How are microservices different from what we have right now?
  • 8.
    8Oracle Cloud |Johan Louwers | NOV 2017 © 2017 Capgemini. All rights reserved. Docker (and microservices) Moving From a Monolith to Microservices I kind of get this microservice thing now. What has it to do with Docker? • We want to deploy in a quick, fast and automated manner • We want to scale up and down in an automated manner • We want to prevent a skyrocket growth in servers (VMs) • We want to be able to “push” in new versions in a simple manner • We want to be able to get to a higher level of automation and CI/CD • We want to prevent patching and debugging each individual instance • We want … we want… … to be able to provide the best service Solution: position microservices in Docker containers • For newly developed services and functionality • For parts we can extract out of the monolith • For the remainders of the monolith
  • 9.
    9Oracle Cloud |Johan Louwers | NOV 2017 © 2017 Capgemini. All rights reserved. Docker (and microservices) Moving From a Monolith to Microservices That took him some time, we are on slide 9… we are finally talking about Docker A container image is a lightweight, stand-alone, executable package of a piece of software that includes everything needed to run it: code, runtime, system tools, system libraries, settings. Available for both Linux and Windows based apps, containerized software will always run the same, regardless of the environment. -- Docker.com Meaning: • A Docker container can be viewed as an executable (in some way) • You cannot login to a container and can only consume the service (yes, that is a lie) • Developers can run it locally or in a dev env and the container will act the same in upstream environments • Everything is packaged into one container, what is delivered by development will run directly
  • 10.
    10Oracle Cloud |Johan Louwers | NOV 2017 © 2017 Capgemini. All rights reserved. Docker (and microservices) Moving From a Monolith to Microservices So….. What is the difference with a VM?
  • 11.
    11Oracle Cloud |Johan Louwers | NOV 2017 © 2017 Capgemini. All rights reserved. Docker (and microservices) Moving From a Monolith to Microservices Show me an example of how that would look like in a deployment.
  • 12.
    12Oracle Cloud |Johan Louwers | NOV 2017 © 2017 Capgemini. All rights reserved. Moookeeee,….. so…. what you are saying is • We are moving away from a Monolith towards microservices • Build (as much as possible) all new functionality as a microservices • We will automate the hell out of it in a CI/CD manner • Put everything into Docker containers • Strive for full operational automation as possible • Start adopting more and more DevOps based ways of working And at the same time • Provide a more agile platform to our customer • Improve performance and scalability • Ensure they are more future ready from a tech point of view • Enable ourselves to have a much higher release rate. Docker (and microservices) Moving From a Monolith to Microservices
  • 13.
    13Oracle Cloud |Johan Louwers | NOV 2017 © 2017 Capgemini. All rights reserved. Docker (and microservices) Moving From a Monolith to Microservices Be wary of Autoroute du soleil thinking • This is not done in one go and will take a lot of time and steps • It is complicated and hard and will through a lot of new type of issues towards us • And no…… we are not there yet, we just started our journey • However, the end state is fun Are we there yet?
  • 14.
    14Oracle Cloud |Johan Louwers | NOV 2017 © 2017 Capgemini. All rights reserved. Docker (and microservices) Moving From a Monolith to Microservices Hold on!! Now I have more questions than I started with!! • Good, see you during the lunch break!!
  • 15.
    15Oracle Cloud |Johan Louwers | NOV 2017 © 2017 Capgemini. All rights reserved. Docker (and microservices) Moving From a Monolith to Microservices Contact details: • Johan Louwers - Global Chief Architect Oracle Technology • Mail : [email protected] • Twitter: @johanlouwers • Blog : johanlouwers.blogspot.com
  • 16.