SlideShare uma empresa Scribd logo
1 de 47
NOW PLAYING
We. Are. .
1
DEVOPS: MI AZ, ÉS MIÉRT FONTOS EGY
ÜZEMELTETŐNEK?
Hodicska Gergely - @felhobacsi
Fejlesztési vezető
2014 Jún. 4.APP!SYSTEM 2014
NOW PLAYING
MI NEM A DEVOPS?
 Nem egy konkrét metodológia
 Nem csak egyféleképpen érhető el
 Nem egy beosztás vagy egy csapat
2014 Jún. 4.APP!SYSTEM 2014 2
NOW PLAYING
AKKOR MI IS EZ?
 “DevOps is the integration of Agile
principles with Operations practices.”
 Minden sprint végén legyen egy működő
software-ünk, ÉS a hozzá tartozó
környezet is.
2014 Jún. 4.APP!SYSTEM 2014 3
NOW PLAYING
AKKOR MI IS EZ?
 “DevOps is the ability to consistently
create and deploy reliable software to an
unreliable platform that scales
horizontally.”
2014 Jún. 4.APP!SYSTEM 2014 4
NOW PLAYING
AKKOR MI IS EZ?
 A céges erőforrások optimális
kihasználása, ami négy alappillérre épül:
kultúra, automatizálás, mérés és
megosztás.
2014 Jún. 4.APP!SYSTEM 2014 5
NOW PLAYING
AKKOR MI IS EZ?
 Kedvcsináló - egy hatékony DevOps csapat:
– 30-szor gyakoribb deployment
– 8000-szer gyorsabb ciklus idő
– 2-szer gyakoribb sikeres változtatás
– 12-szer gyorsabban hárítanak el hibákat
– 5-ször nagyobb az esély a cég sikerességének
2014 Jún. 4.APP!SYSTEM 2014 6
NOW PLAYING
AKKOR MI IS EZ?
 Szükségszerűség túléléshez és a sikerhez
 Képesség a gyors változásra
 Aki nem tud adaptálódni, meghal
2014 Jún. 4.APP!SYSTEM 2014 7
NOW PLAYING
VÁLTOZÁS
2014 Jún. 4.APP!SYSTEM 2014 8
 Borland
 Netscape
NOW PLAYING
EGY KIS EREDET
2014 Jún. 4.APP!SYSTEM 2014 9
 Agile infrastructure
 “10 Deploys A Day at Flickr”
 DevOpsDays -> #DevOps
 Lean startup
 Continues Delivery
 Cloud térhódítása
NOW PLAYING
MIÉRT ÉRDEKES EZ?
 Szakemberektől szakembereknek
 Nem egy konkrét termék, vendor.
 Tapasztalaton nyugvó mozgalom
 Decentralizált és nyitott
2014 Jún. 4.APP!SYSTEM 2014 10
NOW PLAYING
MINDEN CÉG CÉLJA
 Gyorsabb piacra kerülési idő
 Jobb minőség
– hibatűrés
– nem funkcionális követelények
 Jobb hatékonyság
– több érték az ügyfeleknek
– kevesebb hulladék
2014 Jún. 4.APP!SYSTEM 2014 11
NOW PLAYING
LEGFŐBB AKADÁLY
2014 Jún. 4.APP!SYSTEM 2014 12
 Silók: legdurvább hatékonyság gyilkos
 Munka átadása
NOW PLAYING
A DEVOPS CÉLJA
 Lerombolni ezeket a silókat
 Kollaboráció és optimalizálás beindítása a
teljes cégben
 “DevOps is not a technology problem but a
business problem”
2014 Jún. 4.APP!SYSTEM 2014 13
NOW PLAYING
SZTEREOTÍPUSOK
2014 Jún. 4.APP!SYSTEM 2014 14
NOW PLAYING
SZTEREOTÍPUSOK
2014 Jún. 4.APP!SYSTEM 2014 15
NOW PLAYING
SZTEREOTÍPUSOK
2014 Jún. 4.APP!SYSTEM 2014 16
NOW PLAYING
ELINDULÁS
 Közös céges irányelv
 Csapat vs cég
– egyedül nem nyerhetünk
 Egyén
– fejlődés
– jókedv
2014 Jún. 4.APP!SYSTEM 2014 17
NOW PLAYING
HOGYAN ÉRDEMES BELEVÁGNI?
2014 Jún. 4.APP!SYSTEM 2014 18
 életszerű
 kontextust ad
 könnyen érthető
 menedzsment buy in
NOW PLAYING
THE THREE WAYS
 összefoglalja a devops alapelveit
 first way: rendszerben gondolkodás
 2nd way: visszacsatolás megerősítése
 3rd way: folyamatos kísérletezés és
tanulás
2014 Jún. 4.APP!SYSTEM 2014 19
NOW PLAYING
THE FIRST WAY
2014 Jún. 4.APP!SYSTEM 2014 20
 munkafolyamatok
megértése
 áteresztőképesség
növelése
 a rendszer teljes,
mély megértése
NOW PLAYING
AJÁNLOTT GYAKORLAT #1
 Munka típusok megértése, vizualizálása
– üzleti projektek (HTTPS streaming)
– belső projektek (Chef automatizálás)
– rutin munkák (élesítés, szerver létrehozása)
– nem tervezett munkák (leáll a site)
2014 Jún. 4.APP!SYSTEM 2014 21
NOW PLAYING
AJÁNLOTT GYAKORLAT #2
 Környezet létrehozásának automatizálása
– környezet létrehozása a fejlesztés elején
– a kódon és a környezeten egyszerre
dolgozzunk
– a dev, stage, éles környezetek egységes
módon legyenek létrehozva
2014 Jún. 4.APP!SYSTEM 2014 22
NOW PLAYING
THE FIRST WAY - EREDMÉNYEK
 Közös repó kód és környezet számára
 Egységes dev, stage, live környezet
 Kiszámítható release folyamat
 Rövidebb ciklus idő
 Gyakoribb release
2014 Jún. 4.APP!SYSTEM 2014 23
NOW PLAYING
THE SECOND WAY
2014 Jún. 4.APP!SYSTEM 2014 24
 visszacsatolás
megerősítése,
lerövíditése
 ügyfél (külső és belső)
jobb megértése
 minőség javítása a
forrásnál (rework)
 tudás létrehozása és
beépítése
NOW PLAYING
AJÁNLOTT GYAKORLAT #1
 Keltsd fel a fejlesztőket
– Több felmérés bizonyította, hogy ha ezt
megtesszük, akkor sokkal gyorsabb a hibák
elhárítása
2014 Jún. 4.APP!SYSTEM 2014 25
NOW PLAYING
AJÁNLOTT GYAKORLAT #2
 Fejlesztők beágyazása az üzemeltetésbe
– közös hiba elhárítás (dev ügyelet)
– közös post-mortemek (5 whys, Swiss cheese
model)
– egymás oktatása (beleértve a biztonságot is)
– közös monitoring, metrikák
– hozzáférnek az éles rendszerhez
2014 Jún. 4.APP!SYSTEM 2014 26
NOW PLAYING
THE SECOND WAY - EREDMÉNYEK
 Hibák és biztonsági problémák sokkal gyorsabb
megoldása
 Ügyfelek jobb kiszolgálása
 Üzemeltetési és biztonsági szempontok
bekerülnek a fejlesztési folyamatba
 Csapatok közötti kommunikáció és együttműködés
javul, multidiszciplináris tudás
 Gyorsabb és hatékonyabb munkavégzés, csökken
a selejt
2014 Jún. 4.APP!SYSTEM 2014 27
NOW PLAYING
THE THIRD WAY
2014 Jún. 4.APP!SYSTEM 2014 28
 Folyamatos kísérletezés
(rizikó vállalása) és
tanulás a hibákból
 Gyakorlás szükséges a
mesterré váláshoz
 Szükséges a folyamatos
fejlődéshez, ismeretlen
területek felderítéséhez
NOW PLAYING
AJÁNLOTT GYAKORLAT #1
 Ha valami fáj, akkor csináljuk gyakrabban
– ha nem tesszük, akkor nem fogjuk tudni jól
kezelni
– ezáltal van lehetőségünk kevésbé fájóvá tenni
2014 Jún. 4.APP!SYSTEM 2014 29
NOW PLAYING
AJÁNLOTT GYAKORLAT #2
 Hibák injektálása
– Chaos Monkey
– így leszünk képesek
igazán hibatűrő
rendszereket
készíteni
2014 Jún. 4.APP!SYSTEM 2014 30
NOW PLAYING
AJÁNLOTT GYAKORLAT #3
 Törjük el a dolgokat élesbe kerülés előtt
– ami csak lehet, legyen a CI folyamat része
– akár például performancia tesztelés
– vagy security ellenőrzések
– statikus kód analízis eszközök
2014 Jún. 4.APP!SYSTEM 2014 31
NOW PLAYING
AJÁNLOTT GYAKORLAT #4
 Dedikált idő technical debt csökkentésre
– ez mindig keletkezik a rendszerben
– rövid távon akár hasznos is lehet
– ha nem fizetjük vissza, megfojtja az üzletet
– erősen szituáció függő: pl. idő 20%
2014 Jún. 4.APP!SYSTEM 2014 32
NOW PLAYING
KULTÚRA VÁLTOZTATÁSA
 Kicsiben kell elkezdeni, építsünk bizalmat, biztonságot
(fokozatosság, türelem)
 Early adopters (“don’t fight stupid, make more
awesome”)
 Legyenek metrikák, amik eladják a “sztorit”, tőkét
építhetünk vele
 Ünnepeljük meg a sikereket
 Használjuk ki az alkalmakat (FS, Stability)
 Conway’s Law (cég struktúra -> minőség)
2014 Jún. 4.APP!SYSTEM 2014 33
NOW PLAYING
SIKERES DEVOPS KULTÚRA FŐ JELLEMZŐI
 közös cél és ösztönzők
– lásd a sztereotípiák
 infrastruktúra mint kód
 alkalmazás mint szolgáltatás
 Dev + Ops + Többiek mint csapat
– spektrum
2014 Jún. 4.APP!SYSTEM 2014 34
NOW PLAYING
INFRASTRUKTÚRA MINT KÓD
 automatizálás minden szinten
– system thinking
– munka átadása kritikus
 commodity hardware + felhő infrastruktúra
– nem egyedi hardware-re építünk
– rugalmasabb rendszerünk lesz
– hibatűrést a rendszerkialakítás fogja garantálni
 megbízhatóság minden szinten
– design for failure, resilience
– hibák mindig is lesznek, megbízhatóság nem megvehető
2014 Jún. 4.APP!SYSTEM 2014 35
NOW PLAYING
INFRASTRUKTÚRA MINT KÓD
 infrastruktúra APIk
– API-ként kell gondolkodni
– tudnunk kell programozottan kezelni
– Chef, Puppet, OpenStack, Ganeti, Ustream Cloud
 infrastruktúra elemek mint szolgáltatás
– gondoljunk rá termékként (az appok a kliensek)
– DNS, tűzfal, loggolás, LB, deployment, skálázás
– viziónk: fejlesztők üzleti logikát készítik csak el
2014 Jún. 4.APP!SYSTEM 2014 36
NOW PLAYING
ALKALMAZÁS MINT SZOLGÁLTATÁS
 Szolgáltatás/komponens megközelítés
– könnyebb fejleszteni, deploy-olni
– kevesebb függőség, gyorsabb fejlesztés
– egyszerűbb cserélni
 Használjunk egyszerű protokollokat
– pl. bonyolult middleware protokoll helyett simán HTTP
 Verziózott APIk/komponensek
– sok komponens -> sokféle kliens
– gyorsabban lehet haladni
– néha lehet írtást szervezni (automatizálással támogatható)
2014 Jún. 4.APP!SYSTEM 2014 37
NOW PLAYING
ALKALMAZÁS MINT SZOLGÁLTATÁS
 Robosztusság, hibatűrés
– Chaos Monkey, Hystrix, graceful degradation
 Adattárolás absztrakciója
– ne konkrét megvalósítástól függjünk
– akár az SQL is nagyobb függés, mint egy cél API
 Komplexitás minél magasabb szinten
– egyszerűbb komponensek, hibakezelés hívó oldalon
 Deep instrumentation
– komplex rendszerek, enélkül vakon repülünk
– FB Scuba, Twitter Zipkin, Linkedin Kafka
2014 Jún. 4.APP!SYSTEM 2014 38
NOW PLAYING
DEV + OPS + TÖBBIEK MINT CSAPAT
 Agile
– jól illeszkedik, és kell is rugalmasság
– sprint végén működő kód ÉS ahozzá tartozó környezet is
 Közös metrikák és monitorozás
– segíti a rendszer megértését, jobb döntések meghozását
– ha látjuk a problémát inkább akarjuk kijavítani
 Incidens menedzsment
– katonai üzemmód (kommunikáció)
– stresszes -> gyakorlatozás (DDoS)
 Te írtad te üzemelteted
– fejlesztők bevonása a hibák elhárításába (Openduty)
2014 Jún. 4.APP!SYSTEM 2014 39
NOW PLAYING
DEV + OPS + TÖBBIEK MINT CSAPAT
 Szoros integráció
– együttműködés -> jobb megoldás
– szakértő csapat -> információ áramoltatás
 Continuous integration
– forrás kódból futtatható alkalmazás 1 parancs
– unit/integration/acceptance tesztek
– security teszt, teljesítmény teszt, főbb metrikák
 Continuous delivery/deployment
– előző kibővítése: deployment pipeline
– canary release, green blue deployment etc.
2014 Jún. 4.APP!SYSTEM 2014 40
NOW PLAYING
DEV + OPS + TÖBBIEK MINT CSAPAT
 Kis változtatások
– kisebb a hibalehetőség, illetve hiba esetén a hiba hatás
 Blameless kultúra
– gyorsabb probléma elhárítás
 Merjünk hibázni
– csak tanuljunk belőle
 Post mortem
– értsük meg a hibát, így legközelebb elkerülhető
– 5 whys, Swiss cheese model
 IM és robotok
– tanulhatunk egymástól, folyamatos kommunikáció
2014 Jún. 4.APP!SYSTEM 2014 41
NOW PLAYING
METRIKÁK, JOBBAN TELJESÍTÜNK-E?
 Miért jók ezek egyáltalán?
– tájékozottság, megértés
– motiváció, tökéletesítés
– védelem, tőke
 Mikor jó egy metrika?
– ha döntéseket lehet hozni az alapján
2014 Jún. 4.APP!SYSTEM 2014 42
NOW PLAYING
METRIKÁK, JOBBAN TELJESÍTÜNK-E?
 Iterációk ideje
 Technical debt
 MTTD
 MTTR
 Quality at the
source
2014 Jún. 4.APP!SYSTEM 2014 43
NOW PLAYING
METRIKÁK, JOBBAN TELJESÍTÜNK-E?
2014 Jún. 4.APP!SYSTEM 2014 44
NOW PLAYING
ÖSSZEFOGLALÓ
 Az ügyfél a MŰKÖDŐ szolgáltatásért fizet
 Nem cél/eszköz, hanem utazás/kultúra
 Lépjünk ki a kényelmi zónánkból
 Bontsuk le a silókat a szervezetben
 Folyamatos fejlődés, tökéletesítés
 Értsük meg a többi részleg igényeit
2014 Jún. 4.APP!SYSTEM 2014 45
NOW PLAYING
2014 Jún. 4.APP!SYSTEM 2014 46
?
NOW PLAYING
FUN FACTS
 Top concurrent viewer number: 1.65M
 Top concurrent connected device: 2M
 Top concurrent on one stream: >800k
 Top concurrent ingests: 9.95k (166 hours / min)
 Top concurrent transcoded channels: 4k
 Top concurrent recorded channels: 2k
 3PB recorded video
2014 Jún. 4.APP!SYSTEM 2014 47

Mais conteúdo relacionado

Semelhante a DevOps alapelvek

Tesztelés: kezdd el már az elejétől!
Tesztelés: kezdd el már az elejétől!Tesztelés: kezdd el már az elejétől!
Tesztelés: kezdd el már az elejétől!Robert Pinter
 
III. Elmélet - Az ERP rendszerek implementációja 1..pptx
III. Elmélet - Az ERP rendszerek implementációja 1..pptxIII. Elmélet - Az ERP rendszerek implementációja 1..pptx
III. Elmélet - Az ERP rendszerek implementációja 1..pptxSzabolcs Gulyás
 
XXI. századi szoftverfejlesztés
XXI. századi szoftverfejlesztésXXI. századi szoftverfejlesztés
XXI. századi szoftverfejlesztésGyörgy Balássy
 
Közösségben fejlődni versenyelőny - Az Oriana partnerség előnyei
Közösségben fejlődni versenyelőny - Az Oriana partnerség előnyeiKözösségben fejlődni versenyelőny - Az Oriana partnerség előnyei
Közösségben fejlődni versenyelőny - Az Oriana partnerség előnyeiOriana
 
AGILIS / SCRUM fejlesztés
AGILIS / SCRUM fejlesztésAGILIS / SCRUM fejlesztés
AGILIS / SCRUM fejlesztésOpen Academy
 
I. Elmélet - Általános ismertető a ERP rendszerekről.pptx
I. Elmélet -  Általános ismertető a ERP rendszerekről.pptxI. Elmélet -  Általános ismertető a ERP rendszerekről.pptx
I. Elmélet - Általános ismertető a ERP rendszerekről.pptxSzabolcs Gulyás
 
Vállalati mobilfejlesztés projektek, App!mobil 2013
Vállalati mobilfejlesztés projektek, App!mobil 2013Vállalati mobilfejlesztés projektek, App!mobil 2013
Vállalati mobilfejlesztés projektek, App!mobil 2013Édua Dobos
 
Life and Death of Apache Maven (HU)
Life and Death of Apache Maven (HU)Life and Death of Apache Maven (HU)
Life and Death of Apache Maven (HU)Tamas Cservenak
 
1. Prezi_ Szekelyudvarhely.pptx
1. Prezi_ Szekelyudvarhely.pptx1. Prezi_ Szekelyudvarhely.pptx
1. Prezi_ Szekelyudvarhely.pptxImre Hild
 
Vállalatirányítási rendszer az élelmiszeripar számára
Vállalatirányítási rendszer az élelmiszeripar számáraVállalatirányítási rendszer az élelmiszeripar számára
Vállalatirányítási rendszer az élelmiszeripar számáraTechwave Hungary Zrt.
 
Sikeres ERP rendszer bevezetés - 2018
Sikeres ERP rendszer bevezetés - 2018Sikeres ERP rendszer bevezetés - 2018
Sikeres ERP rendszer bevezetés - 2018TRL Hungary Kft.
 
A weblap tervezés alap lépései - kisvállalkozói képzés
A weblap tervezés alap lépései - kisvállalkozói képzésA weblap tervezés alap lépései - kisvállalkozói képzés
A weblap tervezés alap lépései - kisvállalkozói képzésSoftinvent
 
Prezentáció vállalkozásoknak
Prezentáció vállalkozásoknakPrezentáció vállalkozásoknak
Prezentáció vállalkozásoknakMarlo-Net Kft
 
Hogyan segítenek a felhasználók mobil appot fejleszteni? A crowdtesting röviden.
Hogyan segítenek a felhasználók mobil appot fejleszteni? A crowdtesting röviden.Hogyan segítenek a felhasználók mobil appot fejleszteni? A crowdtesting röviden.
Hogyan segítenek a felhasználók mobil appot fejleszteni? A crowdtesting röviden.Balázs Fónagy
 
Mádi Gábor: Miért kell DevOps stratégia a non-IT cégekben is?
Mádi Gábor: Miért kell DevOps stratégia a non-IT cégekben is?Mádi Gábor: Miért kell DevOps stratégia a non-IT cégekben is?
Mádi Gábor: Miért kell DevOps stratégia a non-IT cégekben is?Gábor Mádi
 

Semelhante a DevOps alapelvek (20)

Egyedi cégre szabott üzleti szoftver
Egyedi cégre szabott üzleti szoftverEgyedi cégre szabott üzleti szoftver
Egyedi cégre szabott üzleti szoftver
 
Tesztelés: kezdd el már az elejétől!
Tesztelés: kezdd el már az elejétől!Tesztelés: kezdd el már az elejétől!
Tesztelés: kezdd el már az elejétől!
 
III. Elmélet - Az ERP rendszerek implementációja 1..pptx
III. Elmélet - Az ERP rendszerek implementációja 1..pptxIII. Elmélet - Az ERP rendszerek implementációja 1..pptx
III. Elmélet - Az ERP rendszerek implementációja 1..pptx
 
XXI. századi szoftverfejlesztés
XXI. századi szoftverfejlesztésXXI. századi szoftverfejlesztés
XXI. századi szoftverfejlesztés
 
Közösségben fejlődni versenyelőny - Az Oriana partnerség előnyei
Közösségben fejlődni versenyelőny - Az Oriana partnerség előnyeiKözösségben fejlődni versenyelőny - Az Oriana partnerség előnyei
Közösségben fejlődni versenyelőny - Az Oriana partnerség előnyei
 
AGILIS / SCRUM fejlesztés
AGILIS / SCRUM fejlesztésAGILIS / SCRUM fejlesztés
AGILIS / SCRUM fejlesztés
 
Lean és agile
Lean és agileLean és agile
Lean és agile
 
I. Elmélet - Általános ismertető a ERP rendszerekről.pptx
I. Elmélet -  Általános ismertető a ERP rendszerekről.pptxI. Elmélet -  Általános ismertető a ERP rendszerekről.pptx
I. Elmélet - Általános ismertető a ERP rendszerekről.pptx
 
Vállalati mobilfejlesztés projektek, App!mobil 2013
Vállalati mobilfejlesztés projektek, App!mobil 2013Vállalati mobilfejlesztés projektek, App!mobil 2013
Vállalati mobilfejlesztés projektek, App!mobil 2013
 
Life and Death of Apache Maven (HU)
Life and Death of Apache Maven (HU)Life and Death of Apache Maven (HU)
Life and Death of Apache Maven (HU)
 
1. Prezi_ Szekelyudvarhely.pptx
1. Prezi_ Szekelyudvarhely.pptx1. Prezi_ Szekelyudvarhely.pptx
1. Prezi_ Szekelyudvarhely.pptx
 
Frontend fejlesztő
Frontend fejlesztőFrontend fejlesztő
Frontend fejlesztő
 
Vállalatirányítási rendszer az élelmiszeripar számára
Vállalatirányítási rendszer az élelmiszeripar számáraVállalatirányítási rendszer az élelmiszeripar számára
Vállalatirányítási rendszer az élelmiszeripar számára
 
Sikeres ERP rendszer bevezetés - 2018
Sikeres ERP rendszer bevezetés - 2018Sikeres ERP rendszer bevezetés - 2018
Sikeres ERP rendszer bevezetés - 2018
 
A weblap tervezés alap lépései - kisvállalkozói képzés
A weblap tervezés alap lépései - kisvállalkozói képzésA weblap tervezés alap lépései - kisvállalkozói képzés
A weblap tervezés alap lépései - kisvállalkozói képzés
 
Ceg
CegCeg
Ceg
 
Prezentáció vállalkozásoknak
Prezentáció vállalkozásoknakPrezentáció vállalkozásoknak
Prezentáció vállalkozásoknak
 
SENIOR JAVA FEJLESZTŐ
SENIOR JAVA FEJLESZTŐSENIOR JAVA FEJLESZTŐ
SENIOR JAVA FEJLESZTŐ
 
Hogyan segítenek a felhasználók mobil appot fejleszteni? A crowdtesting röviden.
Hogyan segítenek a felhasználók mobil appot fejleszteni? A crowdtesting röviden.Hogyan segítenek a felhasználók mobil appot fejleszteni? A crowdtesting röviden.
Hogyan segítenek a felhasználók mobil appot fejleszteni? A crowdtesting röviden.
 
Mádi Gábor: Miért kell DevOps stratégia a non-IT cégekben is?
Mádi Gábor: Miért kell DevOps stratégia a non-IT cégekben is?Mádi Gábor: Miért kell DevOps stratégia a non-IT cégekben is?
Mádi Gábor: Miért kell DevOps stratégia a non-IT cégekben is?
 

DevOps alapelvek

  • 1. NOW PLAYING We. Are. . 1 DEVOPS: MI AZ, ÉS MIÉRT FONTOS EGY ÜZEMELTETŐNEK? Hodicska Gergely - @felhobacsi Fejlesztési vezető 2014 Jún. 4.APP!SYSTEM 2014
  • 2. NOW PLAYING MI NEM A DEVOPS?  Nem egy konkrét metodológia  Nem csak egyféleképpen érhető el  Nem egy beosztás vagy egy csapat 2014 Jún. 4.APP!SYSTEM 2014 2
  • 3. NOW PLAYING AKKOR MI IS EZ?  “DevOps is the integration of Agile principles with Operations practices.”  Minden sprint végén legyen egy működő software-ünk, ÉS a hozzá tartozó környezet is. 2014 Jún. 4.APP!SYSTEM 2014 3
  • 4. NOW PLAYING AKKOR MI IS EZ?  “DevOps is the ability to consistently create and deploy reliable software to an unreliable platform that scales horizontally.” 2014 Jún. 4.APP!SYSTEM 2014 4
  • 5. NOW PLAYING AKKOR MI IS EZ?  A céges erőforrások optimális kihasználása, ami négy alappillérre épül: kultúra, automatizálás, mérés és megosztás. 2014 Jún. 4.APP!SYSTEM 2014 5
  • 6. NOW PLAYING AKKOR MI IS EZ?  Kedvcsináló - egy hatékony DevOps csapat: – 30-szor gyakoribb deployment – 8000-szer gyorsabb ciklus idő – 2-szer gyakoribb sikeres változtatás – 12-szer gyorsabban hárítanak el hibákat – 5-ször nagyobb az esély a cég sikerességének 2014 Jún. 4.APP!SYSTEM 2014 6
  • 7. NOW PLAYING AKKOR MI IS EZ?  Szükségszerűség túléléshez és a sikerhez  Képesség a gyors változásra  Aki nem tud adaptálódni, meghal 2014 Jún. 4.APP!SYSTEM 2014 7
  • 8. NOW PLAYING VÁLTOZÁS 2014 Jún. 4.APP!SYSTEM 2014 8  Borland  Netscape
  • 9. NOW PLAYING EGY KIS EREDET 2014 Jún. 4.APP!SYSTEM 2014 9  Agile infrastructure  “10 Deploys A Day at Flickr”  DevOpsDays -> #DevOps  Lean startup  Continues Delivery  Cloud térhódítása
  • 10. NOW PLAYING MIÉRT ÉRDEKES EZ?  Szakemberektől szakembereknek  Nem egy konkrét termék, vendor.  Tapasztalaton nyugvó mozgalom  Decentralizált és nyitott 2014 Jún. 4.APP!SYSTEM 2014 10
  • 11. NOW PLAYING MINDEN CÉG CÉLJA  Gyorsabb piacra kerülési idő  Jobb minőség – hibatűrés – nem funkcionális követelények  Jobb hatékonyság – több érték az ügyfeleknek – kevesebb hulladék 2014 Jún. 4.APP!SYSTEM 2014 11
  • 12. NOW PLAYING LEGFŐBB AKADÁLY 2014 Jún. 4.APP!SYSTEM 2014 12  Silók: legdurvább hatékonyság gyilkos  Munka átadása
  • 13. NOW PLAYING A DEVOPS CÉLJA  Lerombolni ezeket a silókat  Kollaboráció és optimalizálás beindítása a teljes cégben  “DevOps is not a technology problem but a business problem” 2014 Jún. 4.APP!SYSTEM 2014 13
  • 17. NOW PLAYING ELINDULÁS  Közös céges irányelv  Csapat vs cég – egyedül nem nyerhetünk  Egyén – fejlődés – jókedv 2014 Jún. 4.APP!SYSTEM 2014 17
  • 18. NOW PLAYING HOGYAN ÉRDEMES BELEVÁGNI? 2014 Jún. 4.APP!SYSTEM 2014 18  életszerű  kontextust ad  könnyen érthető  menedzsment buy in
  • 19. NOW PLAYING THE THREE WAYS  összefoglalja a devops alapelveit  first way: rendszerben gondolkodás  2nd way: visszacsatolás megerősítése  3rd way: folyamatos kísérletezés és tanulás 2014 Jún. 4.APP!SYSTEM 2014 19
  • 20. NOW PLAYING THE FIRST WAY 2014 Jún. 4.APP!SYSTEM 2014 20  munkafolyamatok megértése  áteresztőképesség növelése  a rendszer teljes, mély megértése
  • 21. NOW PLAYING AJÁNLOTT GYAKORLAT #1  Munka típusok megértése, vizualizálása – üzleti projektek (HTTPS streaming) – belső projektek (Chef automatizálás) – rutin munkák (élesítés, szerver létrehozása) – nem tervezett munkák (leáll a site) 2014 Jún. 4.APP!SYSTEM 2014 21
  • 22. NOW PLAYING AJÁNLOTT GYAKORLAT #2  Környezet létrehozásának automatizálása – környezet létrehozása a fejlesztés elején – a kódon és a környezeten egyszerre dolgozzunk – a dev, stage, éles környezetek egységes módon legyenek létrehozva 2014 Jún. 4.APP!SYSTEM 2014 22
  • 23. NOW PLAYING THE FIRST WAY - EREDMÉNYEK  Közös repó kód és környezet számára  Egységes dev, stage, live környezet  Kiszámítható release folyamat  Rövidebb ciklus idő  Gyakoribb release 2014 Jún. 4.APP!SYSTEM 2014 23
  • 24. NOW PLAYING THE SECOND WAY 2014 Jún. 4.APP!SYSTEM 2014 24  visszacsatolás megerősítése, lerövíditése  ügyfél (külső és belső) jobb megértése  minőség javítása a forrásnál (rework)  tudás létrehozása és beépítése
  • 25. NOW PLAYING AJÁNLOTT GYAKORLAT #1  Keltsd fel a fejlesztőket – Több felmérés bizonyította, hogy ha ezt megtesszük, akkor sokkal gyorsabb a hibák elhárítása 2014 Jún. 4.APP!SYSTEM 2014 25
  • 26. NOW PLAYING AJÁNLOTT GYAKORLAT #2  Fejlesztők beágyazása az üzemeltetésbe – közös hiba elhárítás (dev ügyelet) – közös post-mortemek (5 whys, Swiss cheese model) – egymás oktatása (beleértve a biztonságot is) – közös monitoring, metrikák – hozzáférnek az éles rendszerhez 2014 Jún. 4.APP!SYSTEM 2014 26
  • 27. NOW PLAYING THE SECOND WAY - EREDMÉNYEK  Hibák és biztonsági problémák sokkal gyorsabb megoldása  Ügyfelek jobb kiszolgálása  Üzemeltetési és biztonsági szempontok bekerülnek a fejlesztési folyamatba  Csapatok közötti kommunikáció és együttműködés javul, multidiszciplináris tudás  Gyorsabb és hatékonyabb munkavégzés, csökken a selejt 2014 Jún. 4.APP!SYSTEM 2014 27
  • 28. NOW PLAYING THE THIRD WAY 2014 Jún. 4.APP!SYSTEM 2014 28  Folyamatos kísérletezés (rizikó vállalása) és tanulás a hibákból  Gyakorlás szükséges a mesterré váláshoz  Szükséges a folyamatos fejlődéshez, ismeretlen területek felderítéséhez
  • 29. NOW PLAYING AJÁNLOTT GYAKORLAT #1  Ha valami fáj, akkor csináljuk gyakrabban – ha nem tesszük, akkor nem fogjuk tudni jól kezelni – ezáltal van lehetőségünk kevésbé fájóvá tenni 2014 Jún. 4.APP!SYSTEM 2014 29
  • 30. NOW PLAYING AJÁNLOTT GYAKORLAT #2  Hibák injektálása – Chaos Monkey – így leszünk képesek igazán hibatűrő rendszereket készíteni 2014 Jún. 4.APP!SYSTEM 2014 30
  • 31. NOW PLAYING AJÁNLOTT GYAKORLAT #3  Törjük el a dolgokat élesbe kerülés előtt – ami csak lehet, legyen a CI folyamat része – akár például performancia tesztelés – vagy security ellenőrzések – statikus kód analízis eszközök 2014 Jún. 4.APP!SYSTEM 2014 31
  • 32. NOW PLAYING AJÁNLOTT GYAKORLAT #4  Dedikált idő technical debt csökkentésre – ez mindig keletkezik a rendszerben – rövid távon akár hasznos is lehet – ha nem fizetjük vissza, megfojtja az üzletet – erősen szituáció függő: pl. idő 20% 2014 Jún. 4.APP!SYSTEM 2014 32
  • 33. NOW PLAYING KULTÚRA VÁLTOZTATÁSA  Kicsiben kell elkezdeni, építsünk bizalmat, biztonságot (fokozatosság, türelem)  Early adopters (“don’t fight stupid, make more awesome”)  Legyenek metrikák, amik eladják a “sztorit”, tőkét építhetünk vele  Ünnepeljük meg a sikereket  Használjuk ki az alkalmakat (FS, Stability)  Conway’s Law (cég struktúra -> minőség) 2014 Jún. 4.APP!SYSTEM 2014 33
  • 34. NOW PLAYING SIKERES DEVOPS KULTÚRA FŐ JELLEMZŐI  közös cél és ösztönzők – lásd a sztereotípiák  infrastruktúra mint kód  alkalmazás mint szolgáltatás  Dev + Ops + Többiek mint csapat – spektrum 2014 Jún. 4.APP!SYSTEM 2014 34
  • 35. NOW PLAYING INFRASTRUKTÚRA MINT KÓD  automatizálás minden szinten – system thinking – munka átadása kritikus  commodity hardware + felhő infrastruktúra – nem egyedi hardware-re építünk – rugalmasabb rendszerünk lesz – hibatűrést a rendszerkialakítás fogja garantálni  megbízhatóság minden szinten – design for failure, resilience – hibák mindig is lesznek, megbízhatóság nem megvehető 2014 Jún. 4.APP!SYSTEM 2014 35
  • 36. NOW PLAYING INFRASTRUKTÚRA MINT KÓD  infrastruktúra APIk – API-ként kell gondolkodni – tudnunk kell programozottan kezelni – Chef, Puppet, OpenStack, Ganeti, Ustream Cloud  infrastruktúra elemek mint szolgáltatás – gondoljunk rá termékként (az appok a kliensek) – DNS, tűzfal, loggolás, LB, deployment, skálázás – viziónk: fejlesztők üzleti logikát készítik csak el 2014 Jún. 4.APP!SYSTEM 2014 36
  • 37. NOW PLAYING ALKALMAZÁS MINT SZOLGÁLTATÁS  Szolgáltatás/komponens megközelítés – könnyebb fejleszteni, deploy-olni – kevesebb függőség, gyorsabb fejlesztés – egyszerűbb cserélni  Használjunk egyszerű protokollokat – pl. bonyolult middleware protokoll helyett simán HTTP  Verziózott APIk/komponensek – sok komponens -> sokféle kliens – gyorsabban lehet haladni – néha lehet írtást szervezni (automatizálással támogatható) 2014 Jún. 4.APP!SYSTEM 2014 37
  • 38. NOW PLAYING ALKALMAZÁS MINT SZOLGÁLTATÁS  Robosztusság, hibatűrés – Chaos Monkey, Hystrix, graceful degradation  Adattárolás absztrakciója – ne konkrét megvalósítástól függjünk – akár az SQL is nagyobb függés, mint egy cél API  Komplexitás minél magasabb szinten – egyszerűbb komponensek, hibakezelés hívó oldalon  Deep instrumentation – komplex rendszerek, enélkül vakon repülünk – FB Scuba, Twitter Zipkin, Linkedin Kafka 2014 Jún. 4.APP!SYSTEM 2014 38
  • 39. NOW PLAYING DEV + OPS + TÖBBIEK MINT CSAPAT  Agile – jól illeszkedik, és kell is rugalmasság – sprint végén működő kód ÉS ahozzá tartozó környezet is  Közös metrikák és monitorozás – segíti a rendszer megértését, jobb döntések meghozását – ha látjuk a problémát inkább akarjuk kijavítani  Incidens menedzsment – katonai üzemmód (kommunikáció) – stresszes -> gyakorlatozás (DDoS)  Te írtad te üzemelteted – fejlesztők bevonása a hibák elhárításába (Openduty) 2014 Jún. 4.APP!SYSTEM 2014 39
  • 40. NOW PLAYING DEV + OPS + TÖBBIEK MINT CSAPAT  Szoros integráció – együttműködés -> jobb megoldás – szakértő csapat -> információ áramoltatás  Continuous integration – forrás kódból futtatható alkalmazás 1 parancs – unit/integration/acceptance tesztek – security teszt, teljesítmény teszt, főbb metrikák  Continuous delivery/deployment – előző kibővítése: deployment pipeline – canary release, green blue deployment etc. 2014 Jún. 4.APP!SYSTEM 2014 40
  • 41. NOW PLAYING DEV + OPS + TÖBBIEK MINT CSAPAT  Kis változtatások – kisebb a hibalehetőség, illetve hiba esetén a hiba hatás  Blameless kultúra – gyorsabb probléma elhárítás  Merjünk hibázni – csak tanuljunk belőle  Post mortem – értsük meg a hibát, így legközelebb elkerülhető – 5 whys, Swiss cheese model  IM és robotok – tanulhatunk egymástól, folyamatos kommunikáció 2014 Jún. 4.APP!SYSTEM 2014 41
  • 42. NOW PLAYING METRIKÁK, JOBBAN TELJESÍTÜNK-E?  Miért jók ezek egyáltalán? – tájékozottság, megértés – motiváció, tökéletesítés – védelem, tőke  Mikor jó egy metrika? – ha döntéseket lehet hozni az alapján 2014 Jún. 4.APP!SYSTEM 2014 42
  • 43. NOW PLAYING METRIKÁK, JOBBAN TELJESÍTÜNK-E?  Iterációk ideje  Technical debt  MTTD  MTTR  Quality at the source 2014 Jún. 4.APP!SYSTEM 2014 43
  • 44. NOW PLAYING METRIKÁK, JOBBAN TELJESÍTÜNK-E? 2014 Jún. 4.APP!SYSTEM 2014 44
  • 45. NOW PLAYING ÖSSZEFOGLALÓ  Az ügyfél a MŰKÖDŐ szolgáltatásért fizet  Nem cél/eszköz, hanem utazás/kultúra  Lépjünk ki a kényelmi zónánkból  Bontsuk le a silókat a szervezetben  Folyamatos fejlődés, tökéletesítés  Értsük meg a többi részleg igényeit 2014 Jún. 4.APP!SYSTEM 2014 45
  • 46. NOW PLAYING 2014 Jún. 4.APP!SYSTEM 2014 46 ?
  • 47. NOW PLAYING FUN FACTS  Top concurrent viewer number: 1.65M  Top concurrent connected device: 2M  Top concurrent on one stream: >800k  Top concurrent ingests: 9.95k (166 hours / min)  Top concurrent transcoded channels: 4k  Top concurrent recorded channels: 2k  3PB recorded video 2014 Jún. 4.APP!SYSTEM 2014 47