Intelligens rendszerfelgyelet Application Release and Deployment Alkalmazs kiads
- Slides: 37
Intelligens rendszerfelügyelet Application Release and Deployment (Alkalmazás kiadás és telepítés) Kövi András, Micskei Zoltán Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék 1
DEMO Egyszerű alkalmazás telepítése § Telepítés kézzel o „Release unit” o Másolás utáni egyéb beállítások: pl. registry § Telepítő srcipt o Telepítés automatizálása o Általános és gép/felhasználó-specifikus beállítások szétválasztása § Felügyelet? ? o Hova, mikor, ki, miért telepítette o Most pontosan mi is van fent? 2
Tartalom § Release and deployment – fogalmak, folyamat § Technológiák: o Nagyvállalati környezet példa • Windows: MSI készítés, AD szoftverterítés o Web, Cloud példa • Linux: Automatikus életciklus-kezelés, skálázás 3
Release and Deployment mgmt § Release mgmt: elfogadott változások elkészítése és elfogadott kiadások készítése belőlük § Deployment mgmt: kiadások telepítése 4
ITUP Release Management Tervezés Implementálás Tesztelés Telepítés Ellenőrzés, lezárás § Kiértékelés § § § 5
ITIL / ITUP folyamatok Az eddigiekhez hasonlóan a céljuk: § Keret szolgáltatása § Felelősségek hozzárendelése o szerepek definiálása § Fogalmak definiálása 9
ITIL Release mgmt fogalmak § Release: HW, SW, dokumentáció és folyamatok gyűjteménye, ami együtt egy RFC-t implementál § Release azonosító: név/szám konvenció § Release típusa: teljes / delta § Build környezet: eszközök, eljárások § Fejlesztői / teszt / UAT / éles rendszerek § Definitive Software Library (DSL): logikai tárhely az engedélyezett összes szoftverrel § Baseline: adott időpontban valaminek az állapota (as is / to be) § Back-out plan: ha a telepítés nem sikerül 10
Példa: kiadások ütemezése 11
Átlapolódó/rész/rokon területek § Szoftverfejlesztési folyamatok § Konfiguráció és változás kezelés § Patch kezelés §… 12
DEMO Alkalmazásfejlesztési kitekintés § src/test/dist szétválasztása § dokumentáció a forráskód-kezelőben § Release elnevezési konvenció (automatikus build számozás? ) § Release unit: bináris, konfig, dll-ek § Konfigurációs fájlok: fejlesztői/éles verzió, debug/release verzió § Build szerver, Continous Integration 13
Tartalom § Release and deployment – fogalmak, folyamat § Technológiák: o Nagyvállalati környezet példa • Windows: MSI készítés, AD szoftverterítés o Web, Cloud példa • Linux: Automatikus életciklus-kezelés, skálázás 14
Egyszerű központosított telepítés folyamata Fejlesztés Telepítő létrehozása MSI testreszabása Házirend hozzárendelés Automatikus terítés 15
Egyszerű központosított telepítés folyamata Fejlesztés Telepítő létrehozása MSI testreszabása Házirend hozzárendelés Automatikus terítés 16
Alaptechnológia: Windows Installer § telepítési csomagok (MSI fájl) o relációs adattáblák és fájlok § verziózás, nyelvi verziók § Acquisition, Execution, Rollback § frissítés, javítás (windowsinstaller) § patch és transzformációs fájlok § előkövetelmények megadása 17
Telepítő csomag létrehozás § Sokféle eszköz § Pl. : Visual Studio Deployment projekt 18
Egyszerű központosított telepítés folyamata Fejlesztés Telepítő létrehozása MSI testreszabása Házirend hozzárendelés Automatikus terítés 19
MSI testreszabása § Parancssori paraméterek § Transzformációs fájl (MST) létrehozása o Orca eszköz (Windows SDK) 20
Egyszerű központosított telepítés folyamata Fejlesztés Telepítő létrehozása MSI testreszabása Házirend hozzárendelés Automatikus terítés 21
AD csoportházirend § Szoftver telepítés o számítógép / felhasználó o Assigned / Published o Hálózati elérés megadása 22
Egyszerű központosított telepítés folyamata Fejlesztés Telepítő létrehozása MSI testreszabása Házirend hozzárendelés Automatikus terítés 23
Automatikus terítés § Számítógéphez rendelt telepítések o Gép elindulásakor o Felhasználó be se tud lépni a végéig § Felhasználóhoz rendelt telepítések o Belépéskor 24
DEMO MSI készítés, telepítés § Visual Studio: o Deployment projekt o MSI tulajdonságok, registry beállítások, fájlok. . § Orca: o Testreszabás, MST fájl létrehozása § Active Directory csoportházirend o Szofver telepítés beállítása 25
Tartalom § Release and deployment – fogalmak, folyamat § Technológiák: o Nagyvállalati környezet példa • Windows: MSI készítés, AD szoftverterítés o Web, Cloud példa • Linux: Automatikus életciklus-kezelés, skálázás 26
Motiváció Adottságok § Dinamikusan változó terhelés Szükséges támogatás § Jól skálázható (scalable) o alkalmazások o infrastruktúra o időszakos o tervezett • Cloud § Konfigurációk telepítése/ karbantartása § Gép által vezérelt megvalósítás § Hibás viselkedés automatikus észlelése § Monitorozás 27
A kofigurációs rendszer főbb feladatai Konfigurációs modell Gépvezérelt konfigurálás Beavatkozás Monitorozás 28
Megközelítések § Állapotgép alapú megközelítés o Eszköz példa • GLU (az előadáson ezzel foglalkozunk) https: //github. com/linkedin/glu o Megvalósítás alapja • A szolgáltatások konfigurációjának állapotgépként való leírása o Mikor jó • Statikus és dinamikus konfigurációra is • Statikusnál jelentős lehet az overhead § Célkonfiguráció deklarálása és állapot fenntartása o Eszköz példa • Puppet http: //www. puppetlabs. com/ o Megvalósítás alapja • Erőforrásháló alapján o Mikor jó • Viszonylag statikus konfiguráció 29
Célkonfiguráció alapú megoldás (röviden) § Erőforrás függőségi háló § Működés Web alkalmazás o Erőforrás definíciókat megpróbáljuk kielégíteni o Függőségek mentén haladunk § Monitorozás o Rendszeres időközönként végignézzük a hálót o Korrigálunk, ha kell Apache szerver Adatbázis szerver Apache konfiguráció Adatbázis séma conf fájl létezzen 30 felhasználó létezzen
Állapotgép alapú megoldás – GLU § Deklaratív megközelítés o Azt mondjuk, mit szeretnénk, nem azt, hogyan § Konfigurációs állapotgép = egy véges állapotgép (Finite State Machine) Kezdőállapot (Kályha) Konfigurációs átmenet 31 Konfigurációs állapot
Véges állapotgép § § 1 token van a rendszerben Nem keletkeznek és nem is tűnnek el tokenek A token jelöli ki az aktuális állapotot (Digitből ismerősnek kell lennie) Kezdőállapot (Kályha) 32
Példa szolgáltatás FSM implementáció § Web alkalmazás statikus oldalakkal és JSP*-vel Download Jetty* jars to $JETTY_HOME Download web_application. war Create Jetty configurations java –cp $JETTY_HOME/. . . –jar web_application. war echo $! > application. pid * JSP = Java Server Pages Jetty = könnyűsúlyú web szerver és servlet container 33
A GLU architektúrája § A futtató platform csomópontok (node, execution environment) § GLU ágens o Minden csomóponton o Ez interpretálja és futtatja a szolgáltatások állapotgépeit § Szolgáltatások állapotgépei o GLU scriptként implementálva o Groovy nyelven (vagy Java-ban) § Vezérlés o A GLU ágensnek kiadott parancsokkal 34
Groovy gyorstalpaló § Szkript nyelv a Java Virtual Machine (JVM) felett o Értelmezett és lefordított formában is használható § Java + a Power. Shell nyelvéhez hasonló képességek o def amap = [„key”: ”value”, „irf”: ”good stuff”] o def alist = [1, 2, „hello”, null] § Klóz (closure) o Lambda típusú függvény • Név nélküli o Példa: Összeadás • { arg 1, arg 2 -> arg 1+arg 2 } • { arg 1, arg 2 -> return arg 1+arg 2 } o Segítségükkel változók is lehetnek függvények 35
Klózok találós kérdés § def valtozo = { „hello” } § Mit ír ki? o println valtozo() 36
A GLU szkript (csont)váza § Groovy nyelven o (Java is lehet) § Az állapotátmeneteket klózokban implementáljuk 37
DEMO GLU § Hello World GLU script o GLU Command Line Interface (CLI) használata o Script állapot lekérdezése § Egyszerű Java servletes Web alkalmazás § GLU Web Console o Alkalmazások telepítése o Alkalmazások monitorozása o Tear down 38
Miért jó ez az egész? § Automatikusan tudunk telepíteni 10, 1000… gépet § Ha ügyesen írjuk meg a szkripteket, akkor szinte autonóm rendszert kapunk § Hol használják? o GLU • linked-in (szakmai Facebook) • Outbrain (személyre szabott tartalom keresés/javaslás) o Puppet • look up the Web 39
További információ § ITIL Release Management Quick Reference § MSDN: Windows Installer Deployment § GLU: Deployment Automation Platform 40
- Kiads
- Interpersonal intelligence?
- Tack för att ni lyssnade bild
- Kulturel intelligens
- Sustained release definition
- Nocoderm
- Extended release vs sustained release
- Android deployment diagram
- Csci2040
- Development vs operations
- Sales organization structure
- Power bi governance and deployment
- Component and deployment diagram
- Intune project plan
- Metode sales force structure
- Contoh komponen diagram
- Power bi governance services
- Pressure and release model
- Release manager responsibilities
- Pressure and release model
- Experimental study of hydrogen release and ignition from
- Deployment descriptor
- Wordpress deployment automation
- Common modeling techniques of deployment diagram
- Tronco building system
- Deployment cycle of emotions
- Startool ioo
- Siem rfp template
- Greenfield vs brownfield deployment
- Quality function deployment diagram
- Who conceptualized quality function deployment?
- Horizontal deployment in quality
- What is policy deployment
- Lab 14-9: work with pki
- Contoh component diagram
- Adva cpe
- Imvu continuous deployment
- Deployment diagram vs component diagram