1
Openstack felhő infrastruktúra paradigmaváltás az IT iparágban Kiss Márton Openstack Ambassador marton.kiss@gmail.com @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 2011 2012 2013 2014 jul oct jan apr jul oct jan apr jul oct jan apr jul oct jan First Release - Austin The beginning of a beautiful friendship OSUG HU (BUD) Folsom Summit (SFO) stackmeat.org project Grizzly Summit (San Diego) Openstack in Action #4 (Paris) User Group Switzerland (Geneva) IceHouse Summit (Hong Kong) Openstack Ambassador position Openstack CEE Day (Budapest) Havana Summit (Portland) Essex Summit (Boston) Openstack EMEA Day#2 (London) Usergroup Berlin (Berlin) 4
5 OPENSTACK ÁTTEKINTÉS
/// 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 állapot kiadás dátuma ICEHOUSE 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 2012-09-27 EOL ESSEX 2012-04-05 DIABLO 2011-09-22 CACTUS 2011-09-22 DEPRECATED BEXAR 2011-09-22 AUSTIN 2011-09-22 7
/// OPENSTACK PROGRAMOK /// 01 Compute [nova] 02 Object Storage [swift] 03 Image Service [glance] 04 Identity [keystone] 05 Dashboard [horizon] 06 Networking [neutron] 07 Block Storage [cinder] 08 Telemetry [ceilometer] 09 Orchestration [heat] 10 Database Service [trove] 11 Bare Metal [ironic] 12 Queue Service [marconi] 13 Data Processing [savanna] 14 Common Libraries [oslo] 15 Infrastructure 16 Documentation 17 Quality Assurance [qa] 18 Deployment [tripleo] 19 devstack [devstack] 20 Release Cycle management
/// OPENSTACK ÖKOSZISZTÉMA /// Gold members Individual members Platinum members OPENSTACK FOUNDATION Corporate Sponsors Board of Directors User committee Supporting Companies User Groups Technical committee 9
/// 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
/// CLOUD ALKALMAZÁS PÉLDA /// Application Server Pool Loadbalancer Application Server 01 Load balancer 01 (haproxy, varnish, etc.) Application Server N Database Pool block storage volume Master DB backup persistent data Object storage 13
/// CLOUD ALKALMAZÁS PÉLDA /// Application Server Pool Loadbalancer Application Server 01 Load balancer 01 (haproxy, varnish, etc.) Application Server N Application Server 01 Load balancer 02 Application Server N Database Pool block storage volume Master DB replication Slave DB block storage volume backup persistent data Object storage 14
15 CI ESZKÖZKÉSZLET
/// OPENSTACK FEJLESZTÉS /// Release / packaging Design Summit Blueprint Git repository Launchpad Bug report Gerrit / Jenkins Review Automated testing 16
/// LAUNCHPAD /// 17
/// BLUEPRINTS /// 18
/// GERRIT REVIEW /// 19
/// GERRIT REVIEW /// 20
/// KÖZÖSSÉGI ANALITIKA /// 21
22 OPENSTACK ARCHITEKTÚRA
/// ARCHITEKTÚRA ÁTTEKINTÉS /// Dashboard UI for UI for Network UI for UI for UI for Network for Stores images in Stores disk files in Compute Image Object Storage Block Storage Volumes for Auth for Auth for Auth for Auth for Auth for Auth for Identity 23
/// ARCHITEKTÚRA ÁTTEKINTÉS /// Dashboard UI for UI for Network UI for UI for UI for Compute Image Object Storage UI for Block Storage Identity 24
/// ARCHITEKTÚRA ÁTTEKINTÉS /// Dashboard Network Compute Image Object Storage Block Storage Auth for Auth for Auth for Auth for Auth for Auth for Identity 25
/// ARCHITEKTÚRA ÁTTEKINTÉS /// Dashboard Network Network for Stores images in Stores disk files in Compute Image Object Storage Volumes for Block Storage Identity 26
/// 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 name: control_exchange (type:topic) Topic Consumer key: topic.host Direct Consumer Direct Publisher Invoker (API) key: msg_id name: msg_id (type: direct) Worker (Compute) 28
29 JAVÍTÁS / FEATURE BEKÜLDÉSE
/// 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
36 DEVSTACK KÖRNYEZET
/// 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
43 ÖSSZEFOGLALÁS
/// 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