1
Openstack felhő infrastruktúra
paradigmaváltás az IT iparágban
Kiss Márton
Openstack Ambassador
[email protected]
@marton_kiss
2
/// OPENSTACK ///
„Világméretű iparági összefogás egy átjárható és nyílt infrastruktúra felhő platform kialakítására”
3
/// BEMUTATKOZÁS /// Linux és open-source fan a 90-es évek közepe óta
Digitania CTO, nemzetközi fejlesztési és üzemeltetési tapasztalat (HU, RO, CZ, PL, PK)
Openstack projekt 2010 jul
2011 oct
jan
2012 apr
First Release - Austin
jul
oct
jan
2013 apr
jul
oct
jan
2014 apr
jul
oct
Openstack in Action #4 (Paris)
User Group Switzerland (Geneva) IceHouse Summit (Hong Kong)
Openstack Ambassador position
OSUG HU (BUD) Folsom Summit (SFO)
The beginning of a beautiful friendship
stackmeat.org project Grizzly Summit (San Diego) Essex Summit (Boston)
4
jan
Openstack CEE Day (Budapest) Havana Summit (Portland)
Openstack EMEA Day#2 (London) Usergroup Berlin (Berlin)
OPENSTACK ÁTTEKINTÉS
5
/// AZ OPENSTACK TITKOS TÖRTÉNETE /// 2010 május
Open source Nebula
2010 július
Austin Design Summit
2012 szeptember
Openstack Foundation
NASA Nebula 2010 június
Openstack megalapítása a Nasa és
Rackspace felajánlásaiból
2005
Rackspace cloud
2010 március
Open source cloud
Wow. Can we meet your team of 400 developers? Sure. We got 8 developers. And not all of them full time.
6
/// OPENSTACK SZOFTVER VERZIÓK /// elnevezés
ICEHOUSE
állapot
kiadás dátuma
fejlesztés alatt
2014-04-17
HAVANA
támogatott, jelenlegi stabil ág
2013-10-17
GRIZZLY
csak biztonsági frissítések
2013-04-04
FOLSOM ESSEX
EOL
2012-04-05
DIABLO
2011-09-22
CACTUS
2011-09-22
BEXAR AUSTIN 7
2012-09-27
DEPRECATED
2011-09-22 2011-09-22
/// OPENSTACK PROGRAMOK /// 01
Compute [nova] 04
06
Identity [keystone]
14
07
10
13
20
18
Image Service [glance]
Dashboard [horizon] 08
Telemetry [ceilometer]
Database Service [trove]
11
Bare Metal [ironic]
Data Processing [savanna]
Common Libraries [oslo]
Quality Assurance [qa]
05
03
Block Storage [cinder]
Orchestration [heat]
Queue Service [marconi]
17
Object Storage [swift]
Networking [neutron] 09
12
02
15
Infrastructure
Deployment [tripleo]
Release Cycle management
16
19
Documentation
devstack [devstack]
OPENSTACK FOUNDATION
/// OPENSTACK ÖKOSZISZTÉMA /// Gold members
Individual members
Corporate Sponsors
Supporting Companies
Board of Directors
User committee
Technical committee 9
Platinum
members
User Groups
/// OPENSTACK KÖZÖSSÉGEK ///
10
/// HÁZIKEDVENC vs. IPARI MARHATENYÉSZTÉS ///
11
/// DEVOPS + CLOUD ///
Mindent automatizálunk! Szállítási idők drasztikus optimalizálása, csökkenő
költségek és növekvő minőség mellett. 12
Database Pool
Application Server Pool
Loadbalancer
/// CLOUD ALKALMAZÁS PÉLDA ///
Load balancer 01
(haproxy, varnish, etc.)
Application
Server 01
Application
Server N
Master DB block storage
volume backup persistent data
Object storage
13
Database Pool
Application Server Pool
Loadbalancer
/// CLOUD ALKALMAZÁS PÉLDA ///
Load balancer 01
Load balancer 02
(haproxy, varnish, etc.)
Application
Server 01
Application
Server N
Application
Server 01
replication
Master DB block storage
volume
Slave DB block storage
volume
backup persistent data
Object storage
14
Application
Server N
CI ESZKÖZKÉSZLET
15
/// OPENSTACK FEJLESZTÉS /// Release / packaging Design Summit Git repository
Blueprint
Launchpad
Bug report Gerrit / Jenkins
Review
16
Automated testing
/// LAUNCHPAD ///
17
/// BLUEPRINTS ///
18
/// GERRIT REVIEW ///
19
/// GERRIT REVIEW ///
20
/// KÖZÖSSÉGI ANALITIKA ///
21
OPENSTACK ARCHITEKTÚRA
22
/// ARCHITEKTÚRA ÁTTEKINTÉS ///
Dashboard Provides UI for
Provides UI for
Provides UI for
Network
Provides UI for
Provides UI for
Provides Network for
Compute
Provides Volumes for
Provides Auth for
Block Storage
Stores images in
Provides Auth for Provides Auth for
Provides Auth for
Provides Auth for
Identity
23
Stores disk files in
Image
Provides Auth for
Object Storage
/// ARCHITEKTÚRA ÁTTEKINTÉS ///
Dashboard Provides UI for
Network
Provides UI for
Provides UI for
Provides UI for
Provides UI for
Compute
Image Provides UI for
Block Storage
Identity
24
Object Storage
/// ARCHITEKTÚRA ÁTTEKINTÉS ///
Dashboard
Network
Compute
Provides Auth for
Block Storage
Image Provides Auth for Provides Auth for
Provides Auth for
Provides Auth for
Identity
25
Object Storage
Provides Auth for
/// ARCHITEKTÚRA ÁTTEKINTÉS ///
Dashboard
Network Provides Network for
Compute
Stores images in
Provides Volumes for
Block Storage
Identity
26
Image
Stores disk files in
Object Storage
/// COMPUTE (NOVA) FELÉPÍTÉSE /// nova-api
(OS, EC2, ADMIN) nova-console nova-compute
libvirt, XenAPI, HyperV, etc.
QUEUE hypervisor
Nova Database
nova-consoleauth nova-scheduler 27
/// OPENSTACK RPC HÍVÁSOK /// rpc.cast - async invocation
rpc.call - synchronous operation Topic
Consumer Topic
Publisher
key: topic
Topic
Consumer
name: control_exchange
(type:topic) key: topic.host
Direct
Publisher
Direct
Consumer key: msg_id Invoker (API)
28
name: msg_id
(type: direct) Worker (Compute)
JAVÍTÁS / FEATURE BEKÜLDÉSE
29
/// PATCH BEKÜLDÉS - ÁTTEKINTÉS ///
30
/// PATCH BEKÜLDÉS - ESZKÖZÖK ///
- git
- git review
(apt-get install git-review)
- vi :)
- esetleg némi python
31
/// PATCH BEKÜLDÉS - ELSŐ LÉPÉSEK ///
- launchpad fiók
- Openstack Individual tagság
- CLA / CCLA aláírása
- Gerrit feliratkozás
- SSH kulcs feltöltése gerritbe
32
/// PATCH BEKÜLDÉS /// 1. klónozás fejlesztői gépre
git clone git://git.openstack.org/openstack/nova.git
2. git remote linkek beállítása (.gitreview alapján)
cd nova; git review -s
Nova .gitreview fájl:
[gerrit]
host=review.openstack.org
port=29418
project=openstack/nova.git
33
/// PATCH BEKÜLDÉS /// 3. fejlesztői ág létrehozása
git checkout -b TOPIC-BRANCH
4. commit összeállítása
git add NEW or MODIFIED FILES
git diff HEAD —check
git commit -m
5. feladás gerritnek
git review
34
/// PATCH FOLYTATÁSA /// 1. klónozás fejlesztői gépre
git clone git://git.openstack.org/openstack/nova.git
2. remote patch letöltése
git -d 77621
4. commit összeállítása
git add NEW or MODIFIED FILES
git diff HEAD —check
git commit —amend
5. feladás gerritnek
git review
35
DEVSTACK KÖRNYEZET
36
/// DEVSTACK ÁTTEKINTÉS /// Devstack is a documented shell script to build complete Openstack development environments.
!
Project homepage:
http://devstack.org
37
/// DEVSTACK TELEPÍTÉS ELŐFELTÉTELEK /// Required software stacks:
- Git
- Virtualbox
- Vagrant (opcionális)
Host environment:
- 64bit CPU with virtualisation support
- memory: 8GB (4GB allocated to devstack vm)
- disk space: 5GB at least
38
/// DEVSTACK TELEPÍTÉS LÉPÉSEI /// Clone git repository: ! $ mkdir vagrant-devstack $ cd vagrant-devstack
! $ git clone https://github.com/dizz/vagrant-devstack.git . Cloning into 'vagrant-devstack'... remote: Reusing existing pack: 101, done. remote: Total 101 (delta 0), reused 0 (delta 0) Receiving objects: 100% (101/101), 14.44 KiB | 0 bytes/s, done. Resolving deltas: 100% (47/47), done. Checking connectivity... done
39
/// DEVSTACK TELEPÍTÉS LÉPÉSEI /// Update default vm settings: ! # optionaly upgrade vm memory size to 4GB $ sed -i.orig 's/1280/4096/' Vagrantfile
40
/// DEVSTACK TELEPÍTÉS LÉPÉSEI /// Launch deployment: ! $ vagrant up Bringing machine 'devstack' up with 'virtualbox' provider... [devstack] Importing base box 'precise64'... [devstack] Matching MAC address for NAT networking... [devstack] Setting the name of the VM... …
41
/// DEVSTACK DASHBOARD /// Reach Openstack dashboard via http:// devstack.local or http://10.1.2.44 in case of missing hostmaster plugin. …
42
ÖSSZEFOGLALÁS
43
/// BAREMETAL MEGOLDÁSOK /// Openstack +
Baremetal deployment
44
/// MIÉRT VAN SZÜKSÉGEM IAAS FELHŐRE? /// Üzemeltetés
- skálázódó erőforrások (akár publikus felhőbe)
- tervezhető életciklus
- minőségbiztosítás devops modellel
- vendor lock-in elkerülése
Fejlesztés
- agile módszerek támogatása
- tesztelési / code-review folyamatok
- önkiszolgáló
- szállítási idő napokról percekre csökken
Szervezeti
oldalról
- folyamatok és szabályozások támogatása
- skálázódás biztosítása (devops)
45
/// MIÉRT VAN SZÜKSÉGEM IAAS FELHŐRE? ///
„Az infrastruktúra felhő csak egy eleme az iparágban zajló paradigmaváltásnak, de nélküle nincsen hatékony, rugalmas üzemeltetés és fejlesztés”
46
/// OPENSTACK CEE DAY #2 /// 2014, május vége (TBA)
Regionális, egy napos Openstack rendezvény
http://openstackceeday.com
47
/// OPENSTACK CONFERENCE & SUMMIT /// Atlanta, 2014 May
! ! ! ! !
Utazási támogatás program:
https://wiki.openstack.org/wiki/Travel_Support_Program
48