FOUNDRY ИСТОРИИ ИЗ ЖИЗНИ CLOUD by Alexander Lomov
FOUNDRYИСТОРИИ ИЗ ЖИЗНИ
CLOUD
by Alexander Lomov
https://speakerdeck.com/allomov/july-mlug
@code1n
@allomov
!
"
Hello!
R&D ENGINEERat
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
PaaSaaSRedHat OpenShift on demand
PaaSaaSaaS?
enefits
benefitsfor
Programmers
Простота деплоя
1. follow best practice 2. make cf push
http://12factor.net/
Позволяет заниматься своим любимым делом
benefitsfor
Operations Administrator
Новый уровень абстракции
Virtual Machines
Application and
Services
vs.
“over commitment”
Increasing Density
HA and Scaling Out of the box
benefitsfor
Business
Улучшение бизнес процессов
• customization • continuous delivery • blue green deployment • multi tenancy • speed up delivery • high level control over
resources • …
Стоимость
vs.
+
Privacy
HistorySome
History2007 Early beginnings, CloudTools
2008 Commercial version of CloudTools
2011 Open Source release of Cloud Foundry
2013 VMware and EMC formed PivotalPivotal 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
SELF HEALING
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
BO
SH
Manifest
BOSH Release
BOSH Release• Blobs • Jobs • Packages • Blobstorage config
BOSH RELESE BLOBS
blobs.blobssrc
BOSH RELASE JOBS
• templates• spec (dependencies, packages)
BOSH RELASE PACKAGES
• packaging script• spec (files in blobstore)
BOSH RELEASE CONFIG
blobs.ymlfinal.ymlprivate.ymldev.yml
BOSH RELEASE CONFIG
blobs.yml
BOSH RELEASE CONFIG
final.yml
BOSH RELEASE CONFIGprivate.yml
Where to start?
BOSH-LITE
Vagrant BOSH
+
Murano OpenStack Service
HOW IT WORKS
Основные компоненты
Messaging Bus
NATShttp://nats.io/
Router
UAA Login Server
Droplet Execution Agent(DEA)
Cloud Controller
DE
A
Router
NA
TS
Containers with
application instances
Cloud
Countroller
OAuth2
User Traffic
Application
Heartbeats
Application
DiscoveryH
ealthM
anager
Service
Broker
Service Management
Application
Management
ServiceUtilization
Messaging B
us
Application
Data
Service Data
CompiledApplications
Hea
lth M
anag
er
Services
12
3 4
Application LifecircleDeployment
1. Initializing deployment.2. Compilation.3. Storing blobs.4. Running application
12
3 4
Application LifecircleDeployment
Application LifecircleRunning
Hearbeats / Scaling / Service connection /Logging
Application LifecircleExtreme Situations
What if applicationfails?
Application LifecircleExtreme Situations
What if DEA fails?
Application LifecircleExtreme Situations
What if NATS fails?
Application LifecircleRunning
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