Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
DockerDay - Microservices
** Final**
Katowice, 16 December 2015
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?
1. Microservices architecture2. Autoscaling in applications3. Technology platforms4. Data persistency in containers
3
Agenda
Microservices architecture
4
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
6
Monolythic Microservices
Monolythic vs microservices applications
vs
7
Monolythic Microservices
Monolythic vs microservices applications
vs
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
9
Cloud deployment and elastic
scalability
Complex distributed systems
Fast changes, new features
Current challenges
Implementation - standardization
10
Implementation - transport
11
Implementation - logistics
12
• "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
Docker host OS – where to start?
Docker ready OS:• CoreOS• Project Atomic (Fedora, CentOS, RHEL)• Snappy Ubuntu Core• RancherOS
Regular linux distros
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/
Autoscaling in applications
16
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
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
Technology platforms
19
20
Runtime platforms
The runtime platform supports the execution of program, when deployed with the program it becomes stateless, immutable and short lived.
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.
Data persistency in containers
22
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
Thanks
24