20150423 devops - heiki ja taavi
TRANSCRIPT
DevOps: Running, improving and
maintaining a site in the real world
Taavi Kõosaar & Heiki Tähis
Veebirakenduse sünd, elu ja surm - päriselus
Taavi Kõosaar ja Heiki Tähis
Millest juttu• Pilvest räägime vähe• Demosid ei tee• Kutsume arutama, oma kogemust jagama• Jagame iseenda kogemust, head ja halba
• Sünd –midagi läheb testi (laivi)• Elu – miski toode või teenus, sellel on kasutajad, sellele on ootused• Surm – juhtmed ja voolikud ühendatakse lahti (ja enne seda on vahel
olnud pikk agoonia)
Osatäitjad SUPPORT
DEV OPS
Täna siinARENDUS = DEV
ÜLALHOID = OPS
KLIENDITUGI = SUPPORT
Juhtum 1
ARENDUS
Juhtum 2
ARENDUS
ÜLALHOID
Juhtum 3
ARENDUS
ÜLALHOID
Murekohad – suur pilt• Rakendus on ülalhoiule „must kast“• Kui midagi on halvasti, siis arendajad on jälle kakat tootnud
• Arendusele on serverid kiired, kettad piiramatud, mälu lõputult• Kui midagi on halvasti, siis serverid lihtsalt aeglased, neid vähe
• Klienditugi tahaks töötavat toodet… või vähemalt ajutist lahendust tekkinud muredele• „Programmeerijad juba töötavad selle kallal, täname teatamast“
Murekohad – arenduse vaade• Arendus tahab tegeleda arendusega• Kõik muu on teisene
• Puudub teadmine• Serverid, Windowsid, võrgud, tulemüürid, hooldused, turvalisus
• Ära puutu, kuni töötab• Ükskord Jaan puutus ja siis oli kolm päeva maas…
• Meie aeg maksab, klient maksab
Murekohad – ülalhoiu vaade• Meie kulutame raha• Me ei teeni raha
• Ära puutu, kuni töötab• Ükskord Jaan puutus ja siis oli kolm päeva maas…
• Me ei tunne toodet• Me ei tea, mida vaadata. Me ei tea, mida mõõta. Me ei tea, kuidas toode käitub.
Murekohad – klienditugi • Ei tea kuhu pöörduda• Siis on muidugi hea, kui ülalhoidu ei ole, siis teab kuhu pöörduda
• Probleemid on püsti ja jäävada püsti• Lapime kiirelt, kui võimalik; lapid jäävad, lapid lappidele jäävad
• Klienditugi on probleemi omanik, kuid ilma delegeerimisõiguseta
Mina ei ole süüdi (blame-game)• See ei ole meie mure
• See peaks olema nende teha
Kas saab ka teisiti?
Teeme koos!• Ühine eesmärk, ühine vastutus• Selged vastutusalad, selged rollid
• Selgem suhtlus, sisuline suhtlus, pidev suhtlus
• Lepime kokku mida mõõta, kuidas mõõta• Võtame arvesse mõõtmiste tulemusi
• Automatiseerime kõik, mis võimalik ja mõistlik• Õigus skripti käivitada võib anda täiendavaid õiguseid
Kriitilised edutegurid• Testi• Suhtle• Mõõda/kogu telemeetriat• Kaasa• Arvesta tulemusi/saadud tagasisidet planeerimisel• Suhtle• Kaasa eksperte• Kaasa
DevOps ei ole tehnoloogia
DevOps ei ole vahend
DevOps on kultuur ja mõtteviis, mis on
toetatud vahendite ja tehnoloogiatega
Alusta kultuurist• Meie mure on meie mure
• Arenduse tulemus peab olema paigaldatav ja hooldatav
• Paigaldus ei ole midagi hirmsat
• Pärast tänast ei tule veeuputus vaid tuleb homne päev
Toeta tehnoloogiaga (testimine)• Web Load Test• Lokaalselt ja pilveteenusena• Võimaldab simuleerida erinevaid lõppkasutajaid (ühenduskiiruseid, erinevaid tegevusi jne)
• Selenium WebDriver• Nuget paketid• Võimaldab luua eraldi testprojekti, simuleerib erinevaid brausereid
Toeta tehnoloogiaga (telemeetria)• Application Insight• Võimaldab koguda rakenduse telemeetriaandmed pilveteenusesse• Analüüsida kogutud telemeetria-andmed• Saab reaalsed kasutusandmed
• SQL Server Profiler• SQL päringute süvaanalüüs
• SCOM / Microsoft Azure Operational Insights• Teeme ise, küünarnukkideni õlis
MINE PILVE!
Tänased kitsaskohad• Riistvara sisaldab kole palju tarkvara• Tarkvara eeldab uuenduste paigaldust
• Kitsa ja kvaliteetse teadmise puudus• Vähe on neid, kellel võimalik omada ja hoida palju erinevaid eksperte
• Las teevad need, kes oskavad• Kes julgeb väita, et nende ettevõttes on suurem ülalhoiu kompetents kui Microsoftis
Ülalhoid jääb• Ülalhoid jääb, kuid selle maht väheneb• Tegevused delegeeritakse ekspertidele, oma ekspert(id) jäävad
• Sünd, elu ja surm on DevOpsi puhul hägusam• Sünd, elu ja surm on pilve puhul veel hägusam
• Kuluefektiivsus määrab
Küsimusi?
Täname!