SlideShare a Scribd company logo
1 of 49
Fuel – czyli jak stworzyć
własną chmurę w ciągu
godziny

PyCon PL, 2013
Łukasz Oleś <loles@mirantis.com>

®
®

http://www.everystockphoto.com/photo.php?imageId=2964735&searchId=27dee4501f5da0e12be7ef16eb743e56&npos=60
PaaS
SaaS
IaaS

NaaS
http://vector-magz.com/symbols/camera-vector-item-1/
G

D

A
T

http://vector-magz.com/objects/cell-phone-clipart-item-3/
http://vector-magz.com/nature/cloud-clipart-item-5/
®

http://www.everystockphoto.com/photo.php?imageId=2964735&searchId=27dee4501f5da0e12be7ef16eb743e56&npos=60
®

http://www.openstack.org/
https://github.com/openstack
Horizon

Swift

Glance

Nova

Keystone

Cinder

Neutron
HAProxy

Controller

Controller

Controller

Galera(mysql)
Corosync/pacemaker

Swift
5-10 węzłów

Swift

Compute

Cinder

1000 węzłów

Compute

1-2 węzły

Cinder
HAProxy

7
2

Controller

Controller

Controller

Galera(mysql)
Corosync/pacemaker

Swift
5-10 węzłów

Swift

Compute

Cinder

1000 węzłów

Compute

1-2 węzły

Cinder
HAProxy

Controller

Controller

43

7
2

Controller

Galera(mysql)
Corosync/pacemaker

Swift
5-10 węzłów

Swift

Compute

Cinder

1000 węzłów

Compute

1-2 węzły

Cinder
HAProxy

Controller

Controller

43

7
2

Controller

Galera(mysql)
Corosync/pacemaker

Swift
Swift

1000 węzłów

Compute

Cinder

9

5-10 węzłów

Compute

1-2 węzły

7

Cinder
HAProxy

Controller

Controller

43

7
2

Controller

Galera(mysql)
Corosync/pacemaker

Swift
Swift

1000 węzłów

Compute

Cinder

9

43
7

5-10 węzłów

Compute

1-2 węzły

7

Cinder
HAProxy

Controller

Controller

43

7
2

Controller

Galera(mysql)
Corosync/pacemaker

Swift

3
4

1000 węzłów

Compute

Cinder

2

Swift

10

43
7

5-10 węzłów

Compute

1-2 węzły

2

Cinder
HAProxy

Controller

Controller

43

7
2

Controller

43000
Galera(mysql)

Corosync/pacemaker

Swift

3
4

1000 węzłów

Compute

Cinder

2

Swift

10

43
7

5-10 węzłów

Compute

1-2 węzły

2

Cinder
®

http://www.everystockphoto.com/photo.php?imageId=2964735&searchId=27dee4501f5da0e12be7ef16eb743e56&npos=60
HAProxy

Controller

Controller

43

7
2

Controller

43000
Galera(mysql)

Corosync/pacemaker

Swift

3
4

1000 węzłów

Compute

Cinder

2

Swift

10

43
7

5-10 węzłów

Compute

1-2 węzły

2

Cinder
®
®

http://www.everystockphoto.com/photo.php?imageId=2964735&searchId=27dee4501f5da0e12be7ef16eb743e56&npos=60
®
®
®
®

puppetmaster

slave

slave

slave
Przykładowy manifest 1
https://forge.puppetlabs.com/puppetlabs/ntp

'Debian': {
$config
= '/etc/ntp.conf'
$package_name = [ 'ntp' ]
$service_name = 'ntp'
$servers
=[
'0.debian.pool.ntp.org iburst',
'1.debian.pool.ntp.org iburst',
'2.debian.pool.ntp.org iburst',
'3.debian.pool.ntp.org iburst',
]
}

®
Przykładowy manifest 2
https://forge.puppetlabs.com/puppetlabs/ntp

file { $config:
ensure => file,
owner => 0,
group => 0,
mode => '0644',
content => template($config_template),
}

®
Przykładowy szablon
https://forge.puppetlabs.com/puppetlabs/ntp

<% [@servers].flatten.each do |server| -%>
server <%= server %>
<% end -%>

®
®

puppetmaster

slave

slave

slave
®

PXE, DHCP, TFTP
®

DHCP request

DHCP request

Slave

DHCP request
DHCP
server

TFTP server
IP

Slave

®
DHCP
server

TFTP
server

Slave

®
DHCP
server

TFTP
server
img

Slave

®
DHCP
server

TFTP
server

DNS
server

http://www.cobblerd.org/
https://github.com/cobbler/cobbler

®
HAProxy

Controller

Controller

Controller

Galera(mysql)
Corosync/pacemaker

Swift
5-10 węzłów

Swift

Compute

Cinder

1000 węzłów

Compute

1-2 węzły

Cinder
®
®

https://fuel.mirantis.com/
https://github.com/stackforge/fuel-web
®
DHCP
server

TFTP
server
img

Slave

Fuel server IP:
10.20.0.2

®
DHCP
server

TFTP
server

Slave

Fuel

POST /api/nodes

®
®
®
http://jquery.com/
http://backbonejs.org/
http://getbootstrap.com/2.3.2/
http://lodash.com/

http://webpy.org/
http://www.sqlalchemy.org/
http://kombu.readthedocs.org/en/latest/
http://nose.readthedocs.org/en/latest/
http://www.voidspace.org.uk/python/mock/

®
DEMO
PL
Pytania
®

®

?

Łukasz Oleś <loles@mirantis.com>
@lukas_oles
Dzię kuję
®

Łukasz Oleś <loles@mirantis.com>
@lukas_oles
Fuel - czyli jak stworzyć chmurę w ciągu godziny

More Related Content

Similar to Fuel - czyli jak stworzyć chmurę w ciągu godziny

Data cleansing and prep with synapse data flows
Data cleansing and prep with synapse data flowsData cleansing and prep with synapse data flows
Data cleansing and prep with synapse data flowsMark Kromer
 
Data cleansing and data prep with synapse data flows
Data cleansing and data prep with synapse data flowsData cleansing and data prep with synapse data flows
Data cleansing and data prep with synapse data flowsMark Kromer
 
WebSocket - May 2011
WebSocket - May 2011WebSocket - May 2011
WebSocket - May 2011takanao ENODH
 
Storing metrics at scale with Gnocchi
Storing metrics at scale with GnocchiStoring metrics at scale with Gnocchi
Storing metrics at scale with GnocchiGordon Chung
 
WSO2 Platform Introduction - Why,What and How
WSO2 Platform Introduction - Why,What and How WSO2 Platform Introduction - Why,What and How
WSO2 Platform Introduction - Why,What and How WSO2
 
OpenStack Boston meetup 12 4-2014
OpenStack Boston meetup 12 4-2014OpenStack Boston meetup 12 4-2014
OpenStack Boston meetup 12 4-2014Jennifer Galvin
 
CloudStack 101 CCCEU13
CloudStack 101 CCCEU13CloudStack 101 CCCEU13
CloudStack 101 CCCEU13ShapeBlue
 
Windows Azure News - October 2013
Windows Azure News - October 2013Windows Azure News - October 2013
Windows Azure News - October 2013paulbouwer
 
OpenStack and serverless - long shot or sure thing
OpenStack and serverless - long shot or sure thingOpenStack and serverless - long shot or sure thing
OpenStack and serverless - long shot or sure thingCloudify Community
 
Martin Hujer: PHP ve Windows Azure cloudu
Martin Hujer: PHP ve Windows Azure clouduMartin Hujer: PHP ve Windows Azure cloudu
Martin Hujer: PHP ve Windows Azure clouduWebExpo
 
使用Visual Studio 2013 進行敏捷開發
使用Visual Studio 2013 進行敏捷開發使用Visual Studio 2013 進行敏捷開發
使用Visual Studio 2013 進行敏捷開發Study4TW
 
The Web Becomes Graceful
The Web Becomes GracefulThe Web Becomes Graceful
The Web Becomes Gracefulcolorhook
 
High Performance Webdesign
High Performance WebdesignHigh Performance Webdesign
High Performance Webdesign拓樹 谷
 
#NSD15 - Attaques DDoS Internet et comment les arrêter
#NSD15 - Attaques DDoS Internet et comment les arrêter#NSD15 - Attaques DDoS Internet et comment les arrêter
#NSD15 - Attaques DDoS Internet et comment les arrêterNetSecure Day
 
Molecular Shape Searching on GPUs: A Brave New World
Molecular Shape Searching on GPUs: A Brave New WorldMolecular Shape Searching on GPUs: A Brave New World
Molecular Shape Searching on GPUs: A Brave New WorldCan Ozdoruk
 
Week 4 lecture material cc (1)
Week 4 lecture material cc (1)Week 4 lecture material cc (1)
Week 4 lecture material cc (1)Ankit Gupta
 
The bare minimum that you should know about web application security testing ...
The bare minimum that you should know about web application security testing ...The bare minimum that you should know about web application security testing ...
The bare minimum that you should know about web application security testing ...Ken DeSouza
 
Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?
Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?
Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?Andy Davies
 
WSO2 Platform Introduction : Why, What and How
WSO2 Platform Introduction : Why, What and How WSO2 Platform Introduction : Why, What and How
WSO2 Platform Introduction : Why, What and How WSO2
 

Similar to Fuel - czyli jak stworzyć chmurę w ciągu godziny (20)

Data cleansing and prep with synapse data flows
Data cleansing and prep with synapse data flowsData cleansing and prep with synapse data flows
Data cleansing and prep with synapse data flows
 
Data cleansing and data prep with synapse data flows
Data cleansing and data prep with synapse data flowsData cleansing and data prep with synapse data flows
Data cleansing and data prep with synapse data flows
 
Open stack
Open stackOpen stack
Open stack
 
WebSocket - May 2011
WebSocket - May 2011WebSocket - May 2011
WebSocket - May 2011
 
Storing metrics at scale with Gnocchi
Storing metrics at scale with GnocchiStoring metrics at scale with Gnocchi
Storing metrics at scale with Gnocchi
 
WSO2 Platform Introduction - Why,What and How
WSO2 Platform Introduction - Why,What and How WSO2 Platform Introduction - Why,What and How
WSO2 Platform Introduction - Why,What and How
 
OpenStack Boston meetup 12 4-2014
OpenStack Boston meetup 12 4-2014OpenStack Boston meetup 12 4-2014
OpenStack Boston meetup 12 4-2014
 
CloudStack 101 CCCEU13
CloudStack 101 CCCEU13CloudStack 101 CCCEU13
CloudStack 101 CCCEU13
 
Windows Azure News - October 2013
Windows Azure News - October 2013Windows Azure News - October 2013
Windows Azure News - October 2013
 
OpenStack and serverless - long shot or sure thing
OpenStack and serverless - long shot or sure thingOpenStack and serverless - long shot or sure thing
OpenStack and serverless - long shot or sure thing
 
Martin Hujer: PHP ve Windows Azure cloudu
Martin Hujer: PHP ve Windows Azure clouduMartin Hujer: PHP ve Windows Azure cloudu
Martin Hujer: PHP ve Windows Azure cloudu
 
使用Visual Studio 2013 進行敏捷開發
使用Visual Studio 2013 進行敏捷開發使用Visual Studio 2013 進行敏捷開發
使用Visual Studio 2013 進行敏捷開發
 
The Web Becomes Graceful
The Web Becomes GracefulThe Web Becomes Graceful
The Web Becomes Graceful
 
High Performance Webdesign
High Performance WebdesignHigh Performance Webdesign
High Performance Webdesign
 
#NSD15 - Attaques DDoS Internet et comment les arrêter
#NSD15 - Attaques DDoS Internet et comment les arrêter#NSD15 - Attaques DDoS Internet et comment les arrêter
#NSD15 - Attaques DDoS Internet et comment les arrêter
 
Molecular Shape Searching on GPUs: A Brave New World
Molecular Shape Searching on GPUs: A Brave New WorldMolecular Shape Searching on GPUs: A Brave New World
Molecular Shape Searching on GPUs: A Brave New World
 
Week 4 lecture material cc (1)
Week 4 lecture material cc (1)Week 4 lecture material cc (1)
Week 4 lecture material cc (1)
 
The bare minimum that you should know about web application security testing ...
The bare minimum that you should know about web application security testing ...The bare minimum that you should know about web application security testing ...
The bare minimum that you should know about web application security testing ...
 
Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?
Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?
Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?
 
WSO2 Platform Introduction : Why, What and How
WSO2 Platform Introduction : Why, What and How WSO2 Platform Introduction : Why, What and How
WSO2 Platform Introduction : Why, What and How
 

Fuel - czyli jak stworzyć chmurę w ciągu godziny

Editor's Notes

  1. {"38":"Trzeba to spiąć wszystko razem → python\nFuel\n","27":"Przykładowy manifest\n","16":"I więcej\n","5":"„Wszyscy mówimy chmuuura”\n","44":"Netboot pxe\n","33":"Netboot pxe\n","22":"Takiego Boba\nNEXT: Można zapytać\n","11":"Architektura:\nKontroler: horizon, nova, glance, quantum\n","39":"Netboot pxe\n","28":"Przykładowy szablon\n","17":"43k plikow\n","6":"Backup –&gt; do cmhury google\nTwitter → chmura\nDropbox –&gt; tez do chmury → Amazon\n","34":"Netboot pxe\n","23":"Można, zapytać...\nAle jest nadzieja, kilka elementów\n","12":"27 plików konfiguracyjnych\n","1":"1\n2 Budapeszt, Amsterdam, Hong kong, ja Szczyrk\n3\n4\n","40":"Tftp przesyla jeszcze adres serwera\n","29":"Działanie:\nSlave: skąd się wziął, jak się zainstalował?\nSlave: Gdzie jest puppetmaster\nMaster: co im wysłać?\npierwsze pytanie, skąd się wziął slave\nKolega który recznie przeinstalowuje windowsa.NEXT-&gt; tak to można zrobić\n","18":"I bob ma się tym zająć?\n","7":"Bob ma zbudować chmurę z Openstacka\n","46":"Netboot pxe\n","35":"Cobbler\n- zarzadza wszystkim\nNEXT:\nMamy węzły\nWiemy jak je skonfigurować\nWiemy co chcemy osiągnąć -&gt;\n","24":"Puppet\nZacznę od wad → ruby\n- bez wdawania się w szczegóły\n","13":"43 procesy\n","2":"Oto Bob - mirantis\nBob dostał zadanie → zbudować chmurę\n1000 serwerów\n","41":"Netboot pxe\n","30":"Netboot pxe\nBob podpiął serwer do sieci.\n","19":"Tym?\n","8":"Open – opensource → licencja Apache 2.0\nCzwartek o 20: „I see OpenStack in your future!!”\nLinki!!!\nNEXT: To tylko nazwa głównego projektu\nWiele części\n","36":"Wczesniejsze pytanie:\nSkąd puppet master wie który węzeł jak ma skonfigurować?\nNEXT → Python!\n","25":"Opis architektury\nSlave&apos;y odpytuja mastera\n","14":"9 plikow konfiguracyjnych\n7 procesówj\n","3":"Co to jest chmura?\nSkupisko pary wodnyj\nNEXT: techniczna definicja\n","42":"Netboot pxe\n","31":"Netboot pxe\n","20":"What the fuck?\nProsta droga do...\n","9":"Podstawowe elementy:\n- Horizon – web u → django, centrum sterowaniai\n- nova – zarzadzanie VM\n- neutron/quantum siec\n- keystone – uzytkownicy i prawa\n- swift obiekty → konkurencja dla dropboxa\nCinder → block storage\nGlance –&gt; image storage → uzywa swifta\nNEXT: to tylko projektty → \\\nrozrysowanie zaleznosci → trudniej\n","37":"Trzeba to spiąć wszystko razem → python\nRejestracja - nailgun\n","26":"Przykładowy CONFIG\n","15":"Jeszcze więcejj\n","4":"Co to jest chmura?\nBrak definicji\nRóżne rodzaje\nPubliczne - prywatne\nMy → iaas\nNEXT: użyjmy chmury\n","43":"Netboot pxe\n","32":"Netboot pxe\n","21":"Bob szybko zamieni się w:\n","10":"Kazdy projekt → Kilka procesow\nWiele serwerów\n-&gt;Komunikacja bezpośrednio z bazą\n-&gt;Rabbitmq\nTylko Zależność między procesami\n"}