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
§ 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
§ 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
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
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
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 § 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
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
é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
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
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
é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
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
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
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
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
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
– 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
§ 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
§ 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