automatikus infrastruktúra menedzsment és alkalmazástelepítés

29
1 Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Automatikus infrastruktúra menedzsment és alkalmazástelepítés Szatmári Zoltán Intelligens rendszerfelügyelet

Upload: breanna-hampson

Post on 03-Jan-2016

35 views

Category:

Documents


1 download

DESCRIPTION

Intelligens rendszerfelügyelet. Automatikus infrastruktúra menedzsment és alkalmazástelepítés. Szatmári Zoltán. Egyszerű alkalmazás telepítése. Telepítés kézzel „ Release unit” Másolás utáni egyéb beállítások: pl. registry Telepítő script Telepítés automatizálása - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Automatikus infrastruktúra menedzsment és alkalmazástelepítés

1Budapesti Műszaki és Gazdaságtudományi EgyetemMéréstechnika és Információs Rendszerek Tanszék

Automatikus infrastruktúra menedzsment és alkalmazástelepítés

Szatmári Zoltán

Intelligens rendszerfelügyelet

Page 2: Automatikus infrastruktúra menedzsment és alkalmazástelepítés

2

DEMO

Telepítés kézzelo „Release unit”o Másolás utáni egyéb beállítások: pl. registry

Telepítő scripto Telepítés automatizálásao Á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ítetteo Most pontosan mi is van fent?o Milyen infrastruktúrával tudok számolni?

Egyszerű alkalmazás telepítése

Page 3: Automatikus infrastruktúra menedzsment és alkalmazástelepítés

3

Tartalom

Automatikus konfigurációkezeléso Környezetfüggő konfigurációo Dinamikus konfigurációk

Page 4: Automatikus infrastruktúra menedzsment és alkalmazástelepítés

4

Motiváció Nagyméretű infrastruktúra menedzsmentje

o Központosított megoldás Hasonló konfigurációs igények, ismétlődő

feladatoko Sablon alapú technológia

Automatikus alkalmazástelepítéso Felügyelő és beavatkozó komponensek

Dinamikus infrastruktúra menedzsmento Automatikus igény szerinti alkalmazás telepítés

Page 5: Automatikus infrastruktúra menedzsment és alkalmazástelepítés

5

Konfigurációmenedzsment eszköz Lehetővé teszi

o Konfigurációs beállítások deklaratív megadásáto Igény esetén a konfiguráció elvégzését

Legtöbbször tartalmaz valamilyen CMDB megoldást

Technológiáko CFEngineo Puppeto Chefo stb.

Page 6: Automatikus infrastruktúra menedzsment és alkalmazástelepítés

6

Chef – főzzünk egy infrastruktúrát Infrastruktúra automatizációs megoldás

Deklaratív konfigurációleírás támogatásao Azt mondjuk, mit szeretnénk, nem azt, hogyano Cookbooks, recipes

Központi infrastruktúra adatbáziso Attribútumok, futási listák (run list)

Page 7: Automatikus infrastruktúra menedzsment és alkalmazástelepítés

7

Chef architektúra

Kliens

Konfigurációmenedzsment szerver

Menedzselt csomópontok

Ágens: chef-client

Kliens:Böngésző vagy

Knife eszköz

Page 8: Automatikus infrastruktúra menedzsment és alkalmazástelepítés

8

DEMO

Szükséges erőforrásokoWebszerver (Apache), PHP, stb.oWebes alkalmazáso Konfigurációs beállítások

1 gép esetén kézzel, 10 vagy 100 esetén már automatizáltan

Webes alkalmazás telepítése

Page 9: Automatikus infrastruktúra menedzsment és alkalmazástelepítés

9

Deklaratív konfigurációmegadás Recept (recipe)

o Erőforrások deklaratív megadásao Ruby nyelv

Szakácskönyv (cookbook)o Recepteko Attribútumoko Sablonoko Stb.

Page 10: Automatikus infrastruktúra menedzsment és alkalmazástelepítés

10

Deklaratív konfigurációmegadás Szerep (role)

o Receptek felsorolása Csomópont (node)

o Szerepeko Recepteko Attribútumok

Page 11: Automatikus infrastruktúra menedzsment és alkalmazástelepítés

11

Receptekpackage "apache2"package "apache2-mpm-prefork"

a2enmod "ldap" do file "ldap.load" notifies :reload, "service[apache2]"end

service "apache2" do supports :status => true, :restart =>

true, :reload => true action :enableend

Page 12: Automatikus infrastruktúra menedzsment és alkalmazástelepítés

12

Fontosabb erőforrások Csomag Felhasználó Csoport Cronjob SVN repository Mount IPConfig

Page 13: Automatikus infrastruktúra menedzsment és alkalmazástelepítés

13

Fontosabb erőforrások Fájlok

o Cookbookban definiálto Távoli URL-en elérhető

Könyvtárako Cookbookban definiált

Page 14: Automatikus infrastruktúra menedzsment és alkalmazástelepítés

14

Fontosabb erőforrások Sablonok

o Paraméterezhető fájloko Különböző típusú paraméterek• Egész érték• String érték• Objektum

# ports.conf by chef<% @ports.each do |l| -%>Listen <%= l %><% end -%>

Page 15: Automatikus infrastruktúra menedzsment és alkalmazástelepítés

15

Fontosabb erőforrásoktemplate "/etc/apache2/ports.conf" do source "apache2/ports.conf.erb" mode 644 owner "root" group "root" variables( :ports => node[:apache2][:ports] ) notifies :reload, "service[apache2]"end

Page 16: Automatikus infrastruktúra menedzsment és alkalmazástelepítés

16

Változók Mitől lesz ez testre szabható?

Változók definiálásao Cookbook szinteno Role szinteno Node szinten

Page 17: Automatikus infrastruktúra menedzsment és alkalmazástelepítés

17

DEMO

Attribútum beállításao Role-tól függőeno Node-tól függően

Pl.:o HTTP port beállításao Alkalmazás paraméterének beállítása

Webes rendszer testreszabott beállítása

Page 18: Automatikus infrastruktúra menedzsment és alkalmazástelepítés

18

Chef search Mitől lesz környezetfüggő a konfiguráció?

Konfiguráció adatbázisban információk vannak a hosztokrólo IP címo Hoszt neveo Lefuttatott recepteko OS típus, verzióo Stb.

Page 19: Automatikus infrastruktúra menedzsment és alkalmazástelepítés

19

Chef search CMDB információk felhasználása

o Receptekbeno Sablonokban

Pl.:

hosts = search(:node, "recipes:irfapp") .map { |n| webhost_data(n) }

Page 20: Automatikus infrastruktúra menedzsment és alkalmazástelepítés

20

DEMO

Egyszerű HTTP proxy (HAProxy)o Telepítéso Konfigurálás• Működő webszerverek felsorolása

Webes terheléselosztó beállítása

Page 21: Automatikus infrastruktúra menedzsment és alkalmazástelepítés

21

Modern, skálázható alkalmazások Cloud környezet Igény szerinti rendszerkonfiguráció

o Pl.: Terhelés függő webszerver mennyiségo VM gyorsan igényelhető és eldobható

Alkalmazásnak is támogatnia kello Állapotmentes komponenseko Laza csatolásoMinden komponens kívülről konfigurálható

Lásd félév második felében: Virtualizáció és Cloud

Page 22: Automatikus infrastruktúra menedzsment és alkalmazástelepítés

22

Állapotgép alapú megközelítés Visszafele is működik?

o El tudom távolítani a telepített erőforrásokat?o Le tudom állítani a szolgáltatásokat?

Mi történik, ha valami futás közben változik?o Hiba lép fel?o Túlterhelés következik be?

Page 23: Automatikus infrastruktúra menedzsment és alkalmazástelepítés

23

MotivációAdottságok

Dinamikusan változó terheléso időszakoso 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ásoko infrastruktúra

• Cloud

Gép által vezérelt megvalósítás

Monitorozás

Page 24: Automatikus infrastruktúra menedzsment és alkalmazástelepítés

24

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ásao Eszköz példa

• Puppet http://www.puppetlabs.com/o Megvalósítás alapja

• Erőforrásháló alapjáno Mikor jó

• Viszonylag statikus konfiguráció

Page 25: Automatikus infrastruktúra menedzsment és alkalmazástelepítés

25

A kofigurációs rendszer főbb feladatai

Konfigurációs modell

Gépvezérelt konfigurálás

Monitorozás

Beavatkozás

Page 26: Automatikus infrastruktúra menedzsment és alkalmazástelepítés

26

Állapotgép alapú megoldás – GLU Konfigurációs állapotgép

= egy véges állapotgép (Finite State Machine)

Konfigurációs állapotKonfigurációs

átmenetKezdőállapot

(Kályha)

Page 27: Automatikus infrastruktúra menedzsment és alkalmazástelepítés

27

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)

Page 28: Automatikus infrastruktúra menedzsment és alkalmazástelepítés

28

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)

o Chef• Amazoon EC2• Stb.