dockerday - microservices by ing...• "docker is an open platform for developers and sysadmins...
TRANSCRIPT
![Page 1: DockerDay - Microservices by ING...• "Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications." - • Containers for applications](https://reader035.vdocuments.net/reader035/viewer/2022070711/5ec97f0f6e38af375d5eb1b7/html5/thumbnails/1.jpg)
DockerDay - Microservices
** Final**
Katowice, 16 December 2015
![Page 2: DockerDay - Microservices by ING...• "Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications." - • Containers for applications](https://reader035.vdocuments.net/reader035/viewer/2022070711/5ec97f0f6e38af375d5eb1b7/html5/thumbnails/2.jpg)
Dominik Sowa
Chief architect in ING Services Polska delivering PaaS, IaaS and SecaaS services. Responsible for technological innovation and development of infrastruscture+security services in ING group. An enthusiast of new technologies and the use of open source solutions in large corporations.
www.linkedin.com/in/dominiksowa
2
Who am I?
![Page 3: DockerDay - Microservices by ING...• "Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications." - • Containers for applications](https://reader035.vdocuments.net/reader035/viewer/2022070711/5ec97f0f6e38af375d5eb1b7/html5/thumbnails/3.jpg)
1. Microservices architecture2. Autoscaling in applications3. Technology platforms4. Data persistency in containers
3
Agenda
![Page 4: DockerDay - Microservices by ING...• "Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications." - • Containers for applications](https://reader035.vdocuments.net/reader035/viewer/2022070711/5ec97f0f6e38af375d5eb1b7/html5/thumbnails/4.jpg)
Microservices architecture
4
![Page 5: DockerDay - Microservices by ING...• "Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications." - • Containers for applications](https://reader035.vdocuments.net/reader035/viewer/2022070711/5ec97f0f6e38af375d5eb1b7/html5/thumbnails/5.jpg)
In short, the microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API.
These services are built around business capabilities and independently deployable by fully automated deployment machinery.
There is a bare minimum of centralized management of these services, which may be written in different programming languages and use different data storage technologies.
5
Definition by James Lewis and Martin Fowler
So
urc
e:.
htt
p:/
/ma
rtin
fow
ler.
com
Google Trends on: microservices
![Page 6: DockerDay - Microservices by ING...• "Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications." - • Containers for applications](https://reader035.vdocuments.net/reader035/viewer/2022070711/5ec97f0f6e38af375d5eb1b7/html5/thumbnails/6.jpg)
6
Monolythic Microservices
Monolythic vs microservices applications
vs
![Page 7: DockerDay - Microservices by ING...• "Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications." - • Containers for applications](https://reader035.vdocuments.net/reader035/viewer/2022070711/5ec97f0f6e38af375d5eb1b7/html5/thumbnails/7.jpg)
7
Monolythic Microservices
Monolythic vs microservices applications
vs
![Page 8: DockerDay - Microservices by ING...• "Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications." - • Containers for applications](https://reader035.vdocuments.net/reader035/viewer/2022070711/5ec97f0f6e38af375d5eb1b7/html5/thumbnails/8.jpg)
Ho
st
8
Monolythic Microservices
Monolythic vs microservices applications
App1
Ho
stDB1 DB2
Ho
st
DB1 DB2
Srv1 Srv2Srv3
Srv3
Ho
st
DB2
Srv2Srv4
Srv4
Srv4
Srv5
vs
![Page 9: DockerDay - Microservices by ING...• "Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications." - • Containers for applications](https://reader035.vdocuments.net/reader035/viewer/2022070711/5ec97f0f6e38af375d5eb1b7/html5/thumbnails/9.jpg)
9
Cloud deployment and elastic
scalability
Complex distributed systems
Fast changes, new features
Current challenges
![Page 10: DockerDay - Microservices by ING...• "Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications." - • Containers for applications](https://reader035.vdocuments.net/reader035/viewer/2022070711/5ec97f0f6e38af375d5eb1b7/html5/thumbnails/10.jpg)
Implementation - standardization
10
![Page 11: DockerDay - Microservices by ING...• "Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications." - • Containers for applications](https://reader035.vdocuments.net/reader035/viewer/2022070711/5ec97f0f6e38af375d5eb1b7/html5/thumbnails/11.jpg)
Implementation - transport
11
![Page 12: DockerDay - Microservices by ING...• "Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications." - • Containers for applications](https://reader035.vdocuments.net/reader035/viewer/2022070711/5ec97f0f6e38af375d5eb1b7/html5/thumbnails/12.jpg)
Implementation - logistics
12
![Page 13: DockerDay - Microservices by ING...• "Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications." - • Containers for applications](https://reader035.vdocuments.net/reader035/viewer/2022070711/5ec97f0f6e38af375d5eb1b7/html5/thumbnails/13.jpg)
• "Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications." - www.docker.com
• Containers for applications and its dependencies
What is ?
Infrastructure
Host Operating System
Hypervisor
GuestOS
Libs/Bins
App 1
GuestOS
Libs/Bins
App 2
GuestOS
Libs/Bins
App 3
Infrastructure
Operating System
Docker Engine
Libs/Bins
App 1
Libs/Bins
App 2
Libs/Bins
App 3
![Page 14: DockerDay - Microservices by ING...• "Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications." - • Containers for applications](https://reader035.vdocuments.net/reader035/viewer/2022070711/5ec97f0f6e38af375d5eb1b7/html5/thumbnails/14.jpg)
Docker host OS – where to start?
Docker ready OS:• CoreOS• Project Atomic (Fedora, CentOS, RHEL)• Snappy Ubuntu Core• RancherOS
Regular linux distros
![Page 15: DockerDay - Microservices by ING...• "Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications." - • Containers for applications](https://reader035.vdocuments.net/reader035/viewer/2022070711/5ec97f0f6e38af375d5eb1b7/html5/thumbnails/15.jpg)
a real container ecosystem
15
So
urc
e: h
ttp
://b
log
.oct
o.c
om
/en
/do
cke
r-re
gis
try
-fir
st-s
tep
s/
![Page 16: DockerDay - Microservices by ING...• "Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications." - • Containers for applications](https://reader035.vdocuments.net/reader035/viewer/2022070711/5ec97f0f6e38af375d5eb1b7/html5/thumbnails/16.jpg)
Autoscaling in applications
16
![Page 17: DockerDay - Microservices by ING...• "Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications." - • Containers for applications](https://reader035.vdocuments.net/reader035/viewer/2022070711/5ec97f0f6e38af375d5eb1b7/html5/thumbnails/17.jpg)
Ho
rizo
nta
l
Ap
plic
ati
on
17
Vertical vs horizontal scaling
Ho
st
Ve
rtic
al
Ho
stDB1 DB2
Ho
st
Ho
st
Ho
stH
ostDB1 DB2
App1 App1 App1 App1
![Page 18: DockerDay - Microservices by ING...• "Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications." - • Containers for applications](https://reader035.vdocuments.net/reader035/viewer/2022070711/5ec97f0f6e38af375d5eb1b7/html5/thumbnails/18.jpg)
18
Autoscaling with microservices
Ho
stDB1 DB2
Srv1 Srv2Srv3
Srv3
Ho
st
DB2
Srv2Srv4
Srv4
Srv4
Srv5
Ho
st
Srv5Srv5
Srv4
Srv5
Srv4
Ho
st
DB1 DB2
Srv1 Srv2
DB1
Srv1
Ho
st
DB2
Srv2
DB2
Srv2
Ho
st
Srv3
Srv4
Srv3
Srv5DB2
Srv2
![Page 19: DockerDay - Microservices by ING...• "Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications." - • Containers for applications](https://reader035.vdocuments.net/reader035/viewer/2022070711/5ec97f0f6e38af375d5eb1b7/html5/thumbnails/19.jpg)
Technology platforms
19
![Page 20: DockerDay - Microservices by ING...• "Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications." - • Containers for applications](https://reader035.vdocuments.net/reader035/viewer/2022070711/5ec97f0f6e38af375d5eb1b7/html5/thumbnails/20.jpg)
20
Runtime platforms
The runtime platform supports the execution of program, when deployed with the program it becomes stateless, immutable and short lived.
![Page 21: DockerDay - Microservices by ING...• "Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications." - • Containers for applications](https://reader035.vdocuments.net/reader035/viewer/2022070711/5ec97f0f6e38af375d5eb1b7/html5/thumbnails/21.jpg)
Database
ObjectStorage
Message
Security
Cache
Logging
21
Data platform
The data platform can provide state, caching, logging and event information from or to the runtime platform.
![Page 22: DockerDay - Microservices by ING...• "Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications." - • Containers for applications](https://reader035.vdocuments.net/reader035/viewer/2022070711/5ec97f0f6e38af375d5eb1b7/html5/thumbnails/22.jpg)
Data persistency in containers
22
![Page 23: DockerDay - Microservices by ING...• "Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications." - • Containers for applications](https://reader035.vdocuments.net/reader035/viewer/2022070711/5ec97f0f6e38af375d5eb1b7/html5/thumbnails/23.jpg)
Use old platform solutions
Deploy state in container
Develop private cloud services
Consume public cloud services
23
How to solve persistency in containers
GuestOS
Libs/Bins
Database
GuestOS
Libs/Bins
Message
GuestOS
Libs/Bins
Log Mgt
Local DC
DB aaS
Messsage
Log aaS
Libs/Bins
Database
Libs/Bins
Message
Libs/Bins
Log Mgt
![Page 24: DockerDay - Microservices by ING...• "Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications." - • Containers for applications](https://reader035.vdocuments.net/reader035/viewer/2022070711/5ec97f0f6e38af375d5eb1b7/html5/thumbnails/24.jpg)
Thanks
24