25
Automating Cloud Deployments Dragos MANAC CEO Appnor MSP @manac www.appnor.com

Dragos Manac Appnor

Embed Size (px)

Citation preview

Page 1: Dragos Manac Appnor

Automating Cloud Deployments

Dragos MANACCEO Appnor [email protected]

Page 2: Dragos Manac Appnor

1 SERVER!

Page 3: Dragos Manac Appnor
Page 4: Dragos Manac Appnor
Page 5: Dragos Manac Appnor

ASEMANARI

instalarea si administrarea unui server si cantatul la acordeon

→ Presupun un nivel (mediu) de cunostinte→ Aduc un sentiment de bucurie→ Pot fi facute OK “-ish” dupa ureche

Page 6: Dragos Manac Appnor

MAI MULTE SERVERE!

Page 7: Dragos Manac Appnor
Page 8: Dragos Manac Appnor

Mai multe servere? Munca in echipa!

Page 9: Dragos Manac Appnor

LIMITARI

→ Lipsa scalabilitatii→ Organizare imposibila→ Costuri imense

Page 10: Dragos Manac Appnor

O MULTIME DE SERVERE!

Page 11: Dragos Manac Appnor

O singura solutie:

ORCHESTRARE

Page 12: Dragos Manac Appnor
Page 13: Dragos Manac Appnor
Page 14: Dragos Manac Appnor
Page 15: Dragos Manac Appnor
Page 16: Dragos Manac Appnor

SCENARIUL APPNOR

→ Infrastructura deja virtualizata→ Echipa tehnica restransa (si lenesa)→ Proiecte in derulare→ Datacenter nou → 100 servere fizice noi→ Serviciu nou de cloud IaaS

Page 17: Dragos Manac Appnor

SOLUTII

→ Nu schimbam toolurile, le scalam→ XYZ solutie proprietara de management → Analizam toolurile de orchestrare OSS

si le adaptam mediului nostru

Page 18: Dragos Manac Appnor

CERINTE

→ Provizionare automatizata de servere→ Configuratii standardizare automate→ Deployment de pachete sau cod in masa→ Monitorizare si inventar automatizat

Page 19: Dragos Manac Appnor

SOLUTII?!

Page 20: Dragos Manac Appnor

PROVIZIONAREA MASINILOR

→ Cobbler, FAI, opsi→ boot ↔ OS ready <5 min

→ 100 masini ~ 1 ora vs 1 saptamana→ zero erori!

Page 21: Dragos Manac Appnor

CONFIGURARE CENTRALIZATA

→ Salt, Chef, Puppet, Cfengine→ OS ready ↔ functional server <5 min→ zero interventie pe server!

Exemplu:

package {'ntp': name => $ntp::packageName, ensure => present, } service {'ntp': name => $ntp::serviceName, ensure => running, enable => true, require => Package['ntp'], }

Page 22: Dragos Manac Appnor

DEPLOYMENT AUTOMATIZAT

→ Fabric, func, capistrano → deployment permanent→ testare mult simplificata

→ zero erori!

Page 23: Dragos Manac Appnor

DE CE E COOL?

→ 1 sysadmin / 250 servere→ toate configurile intr-un repository GIT→ infinit mai rapid→ erori foarte rare→ usor reproductibil → mult mai sigur→ simfonie, nu acordeon!

Page 24: Dragos Manac Appnor

CE NU E COOL?

→ aversiunea sysadminilor la schimbare→ domeniu “tanar”→ skilluri de programare avansata→ solutii imperfecte sau imature→ necesita multa testare→ comunitate mica

Page 25: Dragos Manac Appnor