Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

1 Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Application Release and Deployment (Alkalmazás kiadás.

Hasonló előadás


Az előadások a következő témára: "1 Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Application Release and Deployment (Alkalmazás kiadás."— Előadás másolata:

1 1 Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Application Release and Deployment (Alkalmazás kiadás és telepítés) Kövi András, Micskei Zoltán Intelligens rendszerfelügyelet

2 2 DEMO  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? Egyszerű alkalmazás telepítése

3 3 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

4 4 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

5 5 ITUP Release Management  Tervezés  Implementálás  Tesztelés  Telepítés  Ellenőrzés, lezárás  Kiértékelés

6 6 ITUP Release Management - kapcsolatok RFC indítja egy új kiadás elkészítését A Release is egy CI Release telepítését a Deployment folyamat definiálja

7 7 ITUP Deployment Management - előkészítés

8 8 ITUP Deployment Management - végrehajtás

9 9 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

10 10 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

11 11 Példa: kiadások ütemezése

12 12 Átlapolódó/rész/rokon területek  Szoftverfejlesztési folyamatok  Konfiguráció és változás kezelés  Patch kezelés  …

13 13 DEMO  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 Alkalmazásfejlesztési kitekintés

14 14 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

15 15 Egyszerű központosított telepítés folyamata FejlesztésTelepítő létrehozásaMSI testreszabásaHázirend hozzárendelésAutomatikus terítés

16 16 Egyszerű központosított telepítés folyamata FejlesztésTelepítő létrehozásaMSI testreszabásaHázirend hozzárendelésAutomatikus terítés

17 17 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 (\windows\installer)  patch és transzformációs fájlok  előkövetelmények megadása

18 18 Telepítő csomag létrehozás  Sokféle eszköz  Pl.: Visual Studio Deployment projekt

19 19 Egyszerű központosított telepítés folyamata FejlesztésTelepítő létrehozásaMSI testreszabásaHázirend hozzárendelésAutomatikus terítés

20 20 MSI testreszabása  Parancssori paraméterek  Transzformációs fájl (MST) létrehozása o Orca eszköz (Windows SDK)

21 21 Egyszerű központosított telepítés folyamata FejlesztésTelepítő létrehozásaMSI testreszabásaHázirend hozzárendelésAutomatikus terítés

22 22 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

23 23 Egyszerű központosított telepítés folyamata FejlesztésTelepítő létrehozásaMSI testreszabásaHázirend hozzárendelésAutomatikus terítés

24 24 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

25 25 DEMO  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 MSI készítés, telepítés

26 26 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

27 27 Motiváció Adottságok  Dinamikusan változó terhelés o időszakos o tervezett  Konfigurációk telepítése/ karbantartása  Hibás viselkedés automatikus észlelése Szükséges támogatás  Jól skálázható (scalable) o alkalmazások o infrastruktúra Cloud  Gép által vezérelt megvalósítás  Monitorozás

28 28 A kofigurációs rendszer főbb feladatai Konfigurációs modell Gépvezérelt konfigurálás MonitorozásBeavatkozás

29 29 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/gluhttps://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 o Megvalósítás alapja Erőforrásháló alapján o Mikor jó Viszonylag statikus konfiguráció

30 30 Célkonfiguráció alapú megoldás (röviden)  Erőforrás függőségi háló  Működé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 Web alkalmazás Apache szerver Apache konfiguráció conf fájl létezzen Adatbázis szerver Adatbázis séma felhasználó létezzen

31 31 Á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) Konfigurációs állapot Konfigurációs átmenet Kezdőállapot (Kályha)

32 32 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)

33 33 Példa szolgáltatás FSM implementáció  Web alkalmazás statikus oldalakkal és JSP*-vel * JSP = Java Server Pages Jetty = könnyűsúlyú web szerver és servlet container Download Jetty* jars to $JETTY_HOME Download web_application.war Download Jetty* jars to $JETTY_HOME Download web_application.war Create Jetty configurations java –cp $JETTY_HOME/... –jar web_application.war echo $! > application.pid java –cp $JETTY_HOME/... –jar web_application.war echo $! > application.pid

34 34 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

35 35 Groovy gyorstalpaló  Szkript nyelv a Java Virtual Machine (JVM) felett o Értelmezett és lefordított formában is használható  Java + a PowerShell 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 { arg1, arg2 -> arg1+arg2 } { arg1, arg2 -> return arg1+arg2 } o Segítségükkel változók is lehetnek függvények

36 36 Klózok találós kérdés  def valtozo = { „hello” }  Mit ír ki? o println valtozo o println valtozo()

37 37 A GLU szkript (csont)váza  Groovy nyelven o (Java is lehet)  Az állapotátmeneteket klózokban implementáljuk

38 38 DEMO  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 GLU

39 39 Miért jó ez az egész?  Automatikusan tudunk telepíteni 10, 100, 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

40 40 További információ  ITIL Release Management Quick Reference ITIL Release Management Quick Reference  MSDN: Windows Installer Deployment MSDN: Windows Installer Deployment  GLU: Deployment Automation Platform GLU: Deployment Automation Platform


Letölteni ppt "1 Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Application Release and Deployment (Alkalmazás kiadás."

Hasonló előadás


Google Hirdetések