FOUNDRY
ИСТОРИИ ИЗ ЖИЗНИ
CLOUD
by Alexander Lomov
https://speakerdeck.com/allomov/july-mlug
@code1n
@allomov
!
"
Hello!
R&D ENGINEER
at
http://blog.altoros.com/
Human Keyboard
https://www.youtube.com/watch?v=RuUFnog29M4
*Jordan Sissel on PuppetConf '12
way
git push
content management
tools
vs.
Some
Theory
Пирамида потребностей
разработчиков
Что такое PaaS
PaaSaaS
RedHat OpenShift on demand
PaaSaaSaaS
?
enefits
benefits
for
Programmers
Простота деплоя
1. follow best practice
2. make cf push
http://12factor.net/
Позволяет
заниматься своим
любимым делом
benefits
for
Operations Administrator
Новый уровень
абстракции
Virtual
Machines
Application
and
Services
vs.
“over commitment”
Increasing
Density
HA and Scaling
Out of the box
benefits
for
Business
Улучшение
бизнес процессов
• customization
• continuous delivery
• blue green deployment
• multi tenancy
• speed up delivery
• high level control over
resources
• …
Стоимость
vs.
+
Privacy
History
Some
History
2007 Early beginnings, CloudTools
2008 Commercial version of CloudTools
2011 Open Source release of Cloud Foundry
2013 VMware and EMC formed Pivotal
Pivotal introduced enterprise version of CF
2014 Cloud Foundry Foundation was announced
Cloud Foundry Foundation
Cloud Foundry Foundation
Cloud Foundry Foundation
Cloud Foundry Foundation
HOW TO
DEPLOY
Orchestration
Tools?
Terraform
BO H
WHY?
IT IS
LAZY
IT IS
LAZY
SELFHEALING
ROLLING
UPDATES
REPRODUCIBLE
ENVIRONMENTS
REPRODUCIBLE
ENVIRONMENTS
BOSH
http://blog.altoros.com/how-to-add-bosh-support-to-a-custom-cloud-part-2-external-bosh-cpis.html
BOSHManifest
BOSH Release
BOSH Release
• Blobs
• Jobs
• Packages
• Blobstorage config
BOSH RELESE
BLOBS
blobs
.blobs
src
BOSH RELASE
JOBS
• templates
• spec (dependencies, packages)
BOSH RELASE
PACKAGES
• packaging script
• spec (files in blobstore)
BOSH RELEASE
CONFIG
blobs.yml
final.yml
private.yml
dev.yml
BOSH RELEASE
CONFIG
blobs.yml
BOSH RELEASE
CONFIG
final.yml
BOSH RELEASE
CONFIG
private.yml
Where to start?
BOSH-LITE
Vagrant BOSH
+
Murano OpenStack Service
HOW IT
WORKS
Основные компоненты
Messaging Bus
NATS
http://nats.io/
Router
UAA
Login Server
Droplet Execution Agent

(DEA)
Cloud Controller
DEA
Router
NATS
C
o
n
ta
in
e
rs
w
ith
a
p
p
lic
a
tio
n
in
s
ta
n
c
e
s
Cloud
Countroller
User Traffic
A
p
p
lic
a
tio
n
H
e
a
rtb
e
a
ts
Application
Discovery
Health
Manager
Service
Broker
S
e
rv
ic
e
M
a
n
a
g
e
m
e
n
t
A
p
p
lic
a
tio
n
M
a
n
a
g
e
m
e
n
t
S
e
rv
ic
e
U
tiliz
a
tio
n Messaging
Bus
Application
Data
S
e
rv
ic
e
D
a
ta
o
m
p
ile
d
ic
a
tio
n
s
HealthManager
Services
1
2
3 4
Application Lifecircle
Deployment
1. Initializing deployment.
2. Compilation.
3. Storing blobs.
4. Running application
1
2
3 4
Application Lifecircle
Deployment
Application Lifecircle
Running
Hearbeats / Scaling /
Service connection /
Logging
Application Lifecircle
Extreme Situations
What if application
fails?
Application Lifecircle
Extreme Situations
What if DEA fails?
Application Lifecircle
Extreme Situations
What if NATS fails?
Application Lifecircle
Running
Some Features
• Auto-scaling
• Zero-time deployments
Create Your Own Components
https://github.com/mgarciap/cf-auto-scaling
Learning from
Cloud Foundry
• different languages and technologies
• micro services: how to avoid tight coupling,
poor separations of concerns
https://www.youtube.com/watch?v=1OkmVTFhfLY
• distributed computing always challenging:
CAP Theorem, FLP impossibility
http://the-paper-trail.org/
Cloud
Foundry
АЛЬТЕРНАТИВЫ
http://www.altoros.com/openshift_and_cloud_foundry_paas.html
Форки
Questions
BOSH
http://blog.altoros.com/how-to-add-bosh-support-to-a-custom-cloud-part-2-external-bosh-cpis.html

Alexander Lomov - Cloud Foundry и BOSH: истории из жизни