
See post on Habr â an interview with Anton Weiss, co-owner of the technology consulting firm Otomato Software, who has over 15 years of experience in high technology. He is an expert in technical instruction, initiator and co-author of Israel's first DevOps certification course. Anton participates in international conferences and is known as an excellent speaker.
We'll discuss the following topics:
The difference between Russia and Israel
Oleg: Please tell me who you are and what you do.
Anton: Mina olen Anton, sĂŒndinud Peterburis, kuid kolisin 15-aastaselt Iisraeli ja olen sellest ajast seal elanud. Viimased kakskĂŒmmend aastat olen Iisraelis tegelenud IT-ga erinevates vormides. Nendest kahekĂŒmnest aastast olen viimased kĂŒmme spetsialiseerunud kĂ”ikidele tarkvaratoimetamisega seotud tegevustele: integreerimist, seda, mida varem nimetati konfiguratsioonihalduseks, ja seda, mida nĂŒĂŒd nimetatakse DevOps-iks. Olen töötanud suurtes ettevĂ”tetes â rahvusvahelistes korporatsioonides nagu AT&T, BMC. Olen töötanud ka idufirmades. Viimased neli aastat omangi oma konsultatsioonifirmat, nimega Otomato Software, kus aitame organisatsioonidel optimeerida protsesse ja tutvuda uute tööriistadega: seega tegeleme nii tehnilise poole kui ka kĂ”ik muu ĂŒmberringi.
Oleg: Kas töö puhul on Venemaa ja Iisraeli vahel erinevusi?
Anton: Venemaa klientidega ma peaaegu ei töötanud. KĂ”ik, mis mind Venemaaga kolme aasta jooksul sidunud on, on konverentsid. Ja mĂ”nes Venemaa ettevĂ”ttes tegime midagi sarnast auditi pĂ”himĂ”ttel: tulime, vaatasime, selgitasime, vĂ€lja töötasime mĂ”ned soovitused ja lahkusime. See tĂ€hendab, et igapĂ€evast tööd praktiliselt polnud, seega on mul raske tĂ€pselt öelda, millega see erineb. Arvan, et igal pool on midagi. NĂ€iteks on Iisraelis meil selliseid suuri organisatsioone, kus inimesed on juba 15 aastat tööl, ja kĂ”ik liigub vĂ€ga aeglaselt. Kuigi nad pĂŒĂŒavad seal teha mingit transformatsiooni, parandada protsesse: nad rÀÀgivad, rÀÀgivad, aga... Meil on ĂŒks klient, kellega kaks aastat tagasi panime kĂ”ik paika ja tegime kĂ”ikid otsused, töötasime vĂ€lja kĂ”ik programmid, ja mingil hetkel see kĂ”ik seiskus, me lahkusime sealt. Just paar pĂ€eva tagasi kohtusin sealsete juhtidega, kellega töötasime, ja kĂŒsin:
â Kuidas lĂ€heb?
â Noh, nii. Raske, â ĂŒtlevad, â teeme, praegu hakkab midagi toimuma.
Kaks aastat hiljem. On poliitika, on mĂ”jupiirkonnad. On inimesi, kes ei soovi neid mĂ”jupiirkondi vabastada, seetĂ”ttu on sellises olukorras vĂ€ga keeruline midagi muuta. Samas, tööriistade valik liigub kuidagi edasi. Teisest kĂŒljest, Iisraelis on idufirmad, kus kĂ”ik muutub vĂ€ga kiiresti, uue tööriistade loomine on lihtne, ja nad on kĂ”ik juba pilvepĂ”hised ja tĂ€ielikult pilves. See, muide, vĂ”ib olla ĂŒks silmapaistvamaid erinevusi Venemaa ja Iisraeli vahel. Iisraelis on avaliku pilvega palju lihtsam. Sellest, mida ma olen nĂ€inud. Venemaal, nĂ€iteks, tundub, et kĂ”ik, peale idufirmade, leiavad avaliku pilvega liiklemise vĂ€ga keeruliseks, kuid Iisraelis on see siiski kergem. TĂ€naseks on juba olemas mingi arusaam isegi pankade ja kindlustusseltside seas, et vĂ€hemalt osa oma asju saab viia avalikku pilve. Ja siin ei karda kedagi lepingud Google'i ja Amazoni ees. Sellest, mida ma olen kuulnud Venemaa konverentsidel, on seal siiski see kĂ”ik veel keerulisem, isegi just sanktsioonide ja mingite Ă”iguskĂŒsimuste osas.
Erinevus idufirmade ja hiiglaste vahel
Oleg: MÔistsin. Muide, kus on sul töötada huvitavam ja meeldivam: idufirmades vÔi suurtes organisatsioonides?
Anton: Muidugi on meeldivam idufirmades, sest suurtes organisatsioonides... no, tĂ”eliselt on tĂ”esti raske midagi edasi viia. Loomulikult on neil omad eelised. Kui vaadata suuri organisatsioone, siis neil on nĂ€iteks tuntavasti rohkem seda, mida nimetatakse mitmekesisuseks. Suured ettevĂ”tted, kuna neile on vaja palju inimesi vĂ”i kuna tegemist on mingi organisatsioonikultuuriga, mis on aastaid kujunenud, on valmis palkama erinevaid inimesi. Siin Iisraelis, nĂ€iteks idufirmades, ei leia sa peaaegu kunagi araabe, neid on peaaegu mitte. Suurtes organisatsioonides on see palju lihtsam. Kuid idufirmad kasvavad enamasti mingist kultuurilisest taustast, kus enamik osalejatest on neid nn valgeid mehi. Seal on kultuur, et tuleb korralikult pingutada ja soovitatavalt töötada 10â12 tundi pĂ€evas, ja seda on ka vĂ€he. Tundub, et meie selja taga on Moskva (ehk siis Tel-Aviv), taganeda ei ole kuhugi, ja seepĂ€rast peame siin ja praegu verega pingutama.
Oleg: Kuidas on lÀhenemine DevOpsile erinev vÀikestes ja suurtes ettevÔtetes? Kui nÀiteks oled kahest inimesest koosnev meeskond, vÔid sa CI/CD-d mitte seadistada ja artefakte kopeerida SCP kaudu.
Anton: Ăhelt poolt jah. Kuid teiselt poolt, CI/CD seadistamine ei tĂ€henda automaatset continuous delivery-d. Siiski on kahe inimesega ettevĂ”ttes mĂ”ne pipeline'i seadistamine vĂ€ga lihtne. Kui varem pidi selle kallal vaeva nĂ€gema, siis tĂ€na on sul palju pilveteenuseid. Kirjutasid YAML-i â ja edasi! Asjad on lihtsamad. Tegelikult esindavad vĂ€ljakutsuvaid olukordi kasvavad idufirmad. Need, kes on ĂŒletanud 20 inimese piiri, ja siis hakkavad nad kogema muresid skaleerimisega, sest protsessid puuduvad. Varem töötas kĂ”ik kuidagi, aga siis algab see segadus ja ei ole selge, kuidas sĂ€ilitada endist dĂŒnaamilisust ja samal ajal juhtida protsesse ning otsustada, kes hakkab sellega tegelema.
Ja siis hakkavad kĂ”ik asjad, nagu "meil on DevOps meeskond, mis vastutab DevOps'i eest," me teame, kuhu see enamasti viib. Tekib pudelikael ja jĂ€rk-jĂ€rgult kasvavad nad suurematesse firmadesse. Suurtes ettevĂ”tetes on hoopis teine probleem, neil on juba mitte lihtsalt pudelikael, vaid tohutu vĂ€rav, mis avatakse korra pĂ€evas, ja kogu ĂŒlejÀÀnud aeg koguneb sinna suur hulk prahti. Ja nad mĂ”tlevad: "Kuidas meil nĂŒĂŒd sellest vĂ€ravast teha palju vĂ€ikseid vĂ€ravaid, mida oleks palju lihtsam avada?" TeisisĂ”nu, tĂ€iesti erinevad probleemid. Startupide probleem on see, et "meid imetakse sisse funnelisse, kuidas me pinnale pÀÀseme?" aga suurtes ettevĂ”tetes â nad on juba funnelis, nad on juba allilmades, nĂŒĂŒd mĂ”tlevad nad, kuidas sealt tagasi ĂŒles pÀÀseda.
Kompleksuse kasvutrend ja kuidas sellega toime tulla
Oleg: Lisaks tehnilisele poolele: kui sul on vÀhe inimesi, lihtsad tehnoloogiad, pead sa teadma mingit pÔhilist Linuxit ja kÔik. Aga minimaalsete skaleeringute juures pead sa Ôppima mingit Kubernetes't ja see tundub probleemina.
Anton: Ja see on kindlasti probleem. Meil oli konverents just kaks pĂ€eva tagasi ja oli vĂ€ga selgelt tunda, et peaaegu kĂ”ik, kes seal midagi rÀÀkisid, mainisid ĂŒhte sĂ”na: "kompleksus". See on tĂ€napĂ€eval tĂ”eliselt mÀÀrav sĂ”na kogu DevOps diskursuses.
Oleg: Kuidas oli aga aasta tagasi?
Anton: PĂŒĂŒdes kĂ”ike kiiresti ja dĂŒnaamiliselt teha, et saavutada kurikuulus paindlikkus, oleme endale keerukust juurde lisanud. TĂ”eliselt palju vĂ€ikeseid torustikke, mis eraldi töötavad suurepĂ€raselt, aga siis pĂŒĂŒame neist kokku panna mingit ĂŒhte maailmapilti ja seal see keerukus tegelikult tekib. Sest me ehitame nĂŒĂŒd kĂ”igist nendest vĂ€ikestest torustikest ĂŒhe protsessi, et kogu ettevĂ”te töötaks tĂ”eliselt hĂ€sti.
Oleg: Ja mis on vastus? Kuidas selle keerukusega toime tulla?
Anton: Aga vastuseid pole, need tekivad protsessi kĂ€igus. Minu ettekanne kĂ€sitles just ĂŒhe sellise lahenduse teemat. Suures osas, kuhu see kĂ”ik viib? Ma olin kunagi nakatunud sĂŒsteemse mĂ”tlemisega, DevOps'is mainitakse seda palju. Hakkasin sellest huvituma, lugesin Peter Senge, Russell Ackoffi, Donella Meadowsi raamatuid â inimesi, kes tĂ”id sĂŒsteemse mĂ”tlemise teema pĂ€evakorrale ja esitasid selle pĂ”hipostulaadid. Ăks peamisi prisme, lĂ€bi mille sĂŒsteemne mĂ”tlemine maailma vaatab, on tagasiside silmused. Selle keerukusega seoses tekivad nĂŒĂŒd need tagasiside silmused, st keerukus muutub vĂ€ga ja vĂ€ga kĂ”rgeks, ja me hakkame otsima tööriistu, et seda keerukust vĂ€hemalt natukene ohjata. Ma ei rÀÀgi vĂ€hendamisest â pigem ohjeldamisest, et see meid ei paiskaks.
Keskne lahendused tulevad esile, tead, isegi Kubernetes on midagi sellist. Sul on keskne juhtimispink, mis, kui sa seda haldad, kontrollib kogu keerukust nende teenuste ĂŒmber, mis töötavad. Teenusemoos, see sama service mesh, on sama tĂŒĂŒpi lahendus. Me rÀÀgime: "Meil on hunnik teenuseid, vaja on, et nad saaksid omavahel suhelda, kuna nad istuvad arusaamatutes kohtades ja pole ĂŒldse kindel, kas nad saavad vastuseid vĂ”i mitte, ja nad ise ei saa hakkama. Seega teeme nii, et keskmisse lisame mingi universaalse intelligentsi, mis ĂŒtleb neile, kellega saab rÀÀkida, kellega ei saa rÀÀkida, ja kaitseb neid, kui keegi juhuslikult vastab neile ebaviisakalt." Ja sellega on palju kĂŒsimusi. Ăhelt poolt on see mingisugune vajadus, kuna organisatsioonid ei suuda hakkama saada. Oleme viimase paariga aastal aidanud mitmeid organisatsioone astuda uude julgesse Cloud Native maailma, eriti kui see on seotud ettevĂ”tte kasvamise ja laiendamisega, ning inimesed lihtsalt kaotavad suuna. KĂ”igi nende keskel asub vĂ€ike meeskond nn DevOps'e, kellel tuleb kirjutada tuhandeid ridu YAML-i, et kuidagi selle kĂ”igega toime tulla, ja kĂ”ik lihtsalt praguneb liistude alt.
Cloud Native
Oleg: Kas sa saaksid veidi selgitada, mis on Cloud Native? See on muutunud mingiks buzzwordiks, praegu kirjutatakse seda igale seinale. Kuidas sina seda nÀed?
Anton: PĂ”himĂ”tteliselt algas kĂ”ik sellest, et hakkasime kasutama âplatvormina teenustâ lĂ€henemist, see tĂ€hendab, et meil tuli kĂ€ivitada palju rohkem tarkvara ja palju rohkem veebiteenuseid, kui kunagi varem. Me mĂ”istsime, et ei saa enam iga teenust eraldi kohelda kui meie lemmikloomade, kelle nime me teame ja kelle eest me elu jooksul hoolitseme â meil tuleb nendega tegeleda nagu mingisuguse karja, mitte individuaalselt. Selle jaoks vajame ĂŒhtset platvormi, kuhu saame selle koodi paigutada, ja platvorm peab olema piisavalt intelligentne, et seda hallata. Lihtsalt öeldes, see on automaatne jootmine, automaatne jootmine ja söötmine teenuste jaoks.
Selle lĂ€henemise pioneerid olid Heroku. Nad ĂŒtlesid, et et need teenused saaksid meie infrastruktuuride kasutamiseks, peavad nad olema ka 'lehma'. See tĂ€hendab, et neil peavad olema teatud omadused. Nii sĂŒndis 12-faktori rakendus, mis peaks omama vĂ”imalikult vĂ€he pĂŒsivat olekut. Selline rakendus peab olema kokku pandud mingi konveieri abil, kus kontrollitakse selle ĂŒhilduvust platvormiga. See peab olema vastupidav â teadma, et kui miski lĂ€heb valesti, ei pea kohe kukkuma. Teiselt poolt, mingil moel toetuma platvormile. ĂhesĂ”naga, mingi hĂŒbriid. Pead mĂ”istma, et sa ei ole ĂŒksi, et on platvorm ja tuleb austada selle piiranguid. Suures plaanis algas kĂ”ik sealt.
Kuid mingil pĂ”hjusel ei Ă”igustanud see lĂ€henemine "platvorm teenusena" ennast ja lubatud buumi ei toimunud. Jah, Heroku oli, seejĂ€rel jĂ€rgnesid kohe kĂ”ik suured tegijad, kes tĂ”id vĂ€lja analooge: Google App Engine, Amazonil â Elastic Beanstalk. Olen palju töötanud ettevĂ”tetega, mis alustasid selle lĂ€henemisega. Kuid hetkel, kui teed midagi, mis veidi ĂŒletab platvormi lubatud piire, muutub see kohutavaks peavaluks. Sest hakkad kokku pĂ”rkama seintega, mis on igal pool. Ja nagu inimestele omane, kui nad kokku pĂ”rkavad seintega, hakkavad nad otsima viisi, kuidas seina lĂ€bi lĂ”hkuda.
Kaasaegne Cloud Native on sellest sĂŒndinud: kuidas jĂ€tkuvalt pilves joosta, kasutada erinevaid platvormi teenuseid ja samas tagada hĂ€mmastav paindlikkus kĂ”iges, mis toimub. Me pidevalt tasakaalustame paindlikkuse ja lihtsuse vahel. Paindlikkus toob endaga kaasa keerukuse, samas kui lihtsustamine ja selge platvormi loomine toovad alati kaasa piiranguid. Cloud Native on ilmselt tasakaalu leidmine pilve platvormi piirangute ja paindlikkuse vahel, mida pakub pilv automaatse skaleerimisega, ning sellel kĂ”igel on hind.
Oleg: TÔenÀoliselt peab organisatsioon ise kuidagi Ôppima kÔik selle protsessiga elama.
Anton: Loomulikult! KĂ”ik see mĂ”jutab meid. Mikroteenused kuuluvad samuti siia. PĂ”himĂ”tteliselt tĂ€hendab see, et meil on vĂ€ikesed teenused ja rakendused, mis on hajutatud ĂŒle pilve ja vĂ”ivad olla igal ajal kus iganes, ning neid vĂ”ib olla tĂ€na 10 koopiat ja homme 1500. See on osa Cloud Native'ist. Me ei ole piiratud andmekeskuse fĂŒĂŒsiliste piiretega. PĂ”himĂ”tteliselt on kogu maailm minu pilv â see on tĂ€iesti uimastav nĂ€gemus, suurepĂ€rane ambitsioon, kuid sellel on hind, ja see hind on keerukus. See hind on see, et pĂ”himĂ”tteliselt ei suuda keegi mĂ”ista, mis juhtub, kui meie rakendus kasvab Ă€kki 10 instantsilt 1500-le. Keegi ei suuda seda ette kujutada ning hakkavad ilmnema kĂ”ik skaleerituse artefaktid. Me ei saa, kui inimesed ja operaatorid, selle jaoks midagi teha, vĂ€lja arvatud reageerida toimuvasse kaosesse. Nii hakkame mĂ”tlema: "Kuidas ehitada oma rakendust ja infrastruktuuri nii, et kui need artefaktid ilmnevad, saaks neid kĂ”igepealt ette nĂ€ha ja teiseks nendega kuidagi hakkama saada, et jĂ€tkata funktsioneerimist?"
Tehniliste ja mitte-tehniliste oskuste ĂŒhendamine
Oleg: Kas sul on ettekandeid tehniliste asjade kohta, nÀiteks, ja on ettekandeid juhtimise ja kÔikide muu kohta. Kas sa oled rohkem tehnilise suunitlusega inimene, vÔi juhid, vÔi on sul see kuidagi teisiti?
Anton: Ma isegi hakkasin mingil hetkel kirjutama postitust sellest, aga pole veel lĂ”petanud. Mingil mÀÀral tunnen ma end isiklikult rebituna nende kahe asja vahel, sest ĂŒhtepidi meeldib mulle mĂ”ista, kuidas asjad toimivad, ja meeldib nendega tegeleda. Kui Ă”nnestub lahendada mĂ”ni tehniline probleem, annab see lihtsalt sellise erakordse rahulduse, mis toob kaasa dopamiini tĂ”usu: "Oh, lahe, ma saan, ma lahendasin". Ja on raske sellest loobuda, see on raske jĂ€tta. Ja kuna see on olemas, jĂ€tkan ma tehniliste asjadega tegelemist. Uued tehnoloogiad sĂŒtitavad mind: on Ă€ge midagi avastada, midagi aru saada. Seega juhtub, et kuna need teadmised on olemas, soovivad inimesed neid osta, ja ma jĂ€tkan nende mĂŒĂŒmist.
Teisena, ma mĂ”istan, et see on lihtsalt vĂ€ike osa suurest pildist; olen piisavalt kaua töötanud tööstuses ja ei saa mitte nĂ€ha, et tehnoloogia on lihtsalt osa suurest sĂŒsteemist, ĂŒks komponente. Olen juhtinud meeskondi ja tean, kui oluline on arvestada tehnoloogia ja tööriistade seost nendega, kes neid kasutavad. LĂ”ppude lĂ”puks eksisteerivad infotehnoloogia ja tegelikult iga tehnoloogia selleks, et neid kasutaksid inimesed. Tehnoloogia loomine ilma mĂ”tlemapanemata sellele, kes seda kasutab, on tĂ€iesti mĂ”ttetu. Tehnoloogia iseenesest ei ole huvitav, kui ei mĂ”elda selle rakendusele, ja rakendus on alati seotud inimestega, kes sellest mingil moel kasu saavad. SeepĂ€rast huvitab mind kĂ”ik, mis seondub tehnoloogiaga. Tunnen, et sellest tuleb rÀÀkida; ma mĂ”istan, et ilma selleta kaotavad asjad tĂ”eliselt tĂ€henduse. Kuni selleni, et mĂ”nikord on mul hea meel lihtsalt istuda ja paar pĂ€eva vĂ”i isegi nĂ€dalat millegi kallal nĂ€ppida. VĂ”in kiinduda mingisse probleemisse, mida ma ei suuda lahendada, ja kui leian lahenduse, tunnen tohutut rahuldust. Kuid siis tĂ”stan pea klaviatuurilt, vaatan ringi ja mĂ”istan, et kĂ”ikjal toimub midagi, mida ma ei saa ignoreerida. Siis muutuvad kood ja Linuxis nokitsemine tĂ€iesti ebahuvitavaks, ebaoluliseks, ja tahan hakata probleeme lahendama teisel tasemel, inimtasemel.
Kuidas DevOpsis kiiresti selgeks saada
Oleg: Kuule, kas saad soovitada midagi neile, kes tegelevad inseneritöö ja DevOpsi praktikate Ă”ppimisega samal ajal? Kuidas kĂ”ik see endasse mahutada ja millises jĂ€rjekorras? Ătleme nii, kuidas oma karjÀÀri plaanida, et lĂŒhikese ajaga edukamaks saada?
Anton: Ahh⊠Well, there are no universal tips, again from my experience. For quite a long time, probably the first ten years of my career, I was dissatisfied with my position. I focused on what I didnât like, searching for it, thinking about what I would find more interesting to do. But in the end, I did nothing about it. The main advice is⊠When do I think my career took off? It was when I started talking about things that genuinely interested me. The field of technical knowledge, not just technical, the entire sphere of information technology is very broad; you can be a technician: a developer, a tester, an integrator, a system administrator â all these are different roles, and everyone can find their niche there. Donât want to be a complete techie but are interested in both technical and business aspects? Engage in product management or project management. There are plenty of niches, find one that intrigues you.
Praegu rÀÀgitakse palju "T"-kujulistest professionaalidest. Tuleb mĂ”ista, kus on sinu T jalga, valida ĂŒks, alustada sĂŒvenemist sellesse kohta. Kaevates avastad hĂ€mmastavad sĂŒgavused. Kuid kaevata vĂ”ib igal pool. Olen tĂ€iesti teadlik, et on palju alasid, kuhu ma sĂŒgavale ei kaevanud, kuna proovisin vaadata ja sain aru, et see pole minu jaoks. Aga seal, kus sind huvitab kaevamine â kaevake edasi, ja siin on vĂ€ga oluline sellest rÀÀkida. Ehk jĂ€lle, ma mĂ”istan, et see pole kĂ”igile. Kuid ka siin on kĂ”igil erinevad vĂ€ljendusvĂ”imalused: kellelegi sobib vĂ”ib-olla blogide kirjutamine, kui sa ei oska kirjutada ilusaid ja lĂ”busaid blogisid â kirjuta lihtsalt tehnilisi blogisid, avalda Gisti GitHubis. Kui lahendasid mingi probleemi â avalda.
Ăldiselt toimub tĂ€na karjÀÀriline areng peamiselt teadmiste jagamise kaudu. Pole ime, et DevOps-is on teadmiste vahetamine selline oluline vÀÀrtus. KĂ”ik, kes selles osalevad, saavad sellest kasu, ja sina ise saad samuti alati kasu, kui jagad oma teadmisi. IgaĂŒks, kes on avatud lĂ€htekoodiga oma koodi jaganud, teab hĂ€sti, kui oluline on koodi korrigeerida ja kui erinevalt tuleb mĂ”elda, kui annad selle kellelegi teisele, ning mĂ”istad, et keegi teine kasutab seda. Siia mĂ€ngu astuvad need sotsiaaltehnilised aspektid, millest ma rÀÀkisin. Sa hakkad mĂ”tlema, et see pole lihtsalt kood, vaid kood, mida teine inimene loeb, vĂ”ib-olla tahab ta seda muuta, ja tal tuleb mĂ”ista, mida see kood teeb. Ja kui need suhted tekivad, hakkad juba oma peas teisi inimesi kaasama. Inimese karjÀÀr areneb vaid teistega suhtlemise kaudu. Ăldiselt, mis on karjÀÀr? KarjÀÀr tĂ€hendab, et muutun kasulikuks suuremale hulgale inimestele, olen kasulik ja vajalik. Sa teenid teadmisi, mis on suuremale hulgale inimestele vajalikud ja kasulikud. Selleks tuleb mĂ”ista, mida need inimesed tahavad ja mida nad vajavad. Nii lihtsalt ongi. KĂ”ik asjad viivad alati inimeseni.
Oleg: Kujutage ette, et me oleme toredad ja tegeleme DevOpsiga, erinevate uute praktikatega ja muu sellisega. Kuid on inimesi, kes tunnevad ja austavad seda, ja on neid, kes ĂŒtlevad, et ei tunne. Kujutage ette, et töötate suures ettevĂ”ttes, kus sellest seniâŠ ĂŒtleme ettevaatlikult, ei teata vĂ€ga palju ja ei austata ka. Kas on mingeid vĂ”imalusi, kuidas hakata neid ideid ellu viima? Kui te pole juht. On selge, et kui olete juht, vĂ”ite lihtsalt öelda: âHakkame rakendama hommeâ. Aga mis saab siis, kui te olete tavaline inimene ja soovite paremaks muutuda?
Anton: Esiteks ei ole see tingimata efektiivne, kui ĂŒtlete nagu juht: âHakkame rakendama hommeâ. Inimesed hakkavad vĂ”ib-olla midagi tegema, kuid see ei tĂ€henda, et teadlikkus selle kohta, miks see rakendatakse, tekib iseenesest. Ja ĂŒkskĂ”ik millised muudatused ei meeldi kellelegi, eriti kui neile öeldakse: âSa pead muutumaâ.
Oleg: Ja mida siis teha?
Anton: Kujuta nĂŒĂŒd, ma olen selles kohas olnud ja tegelenud selliste protsesside rakendamisega, tegelikult alustades allpool, olles lihtsalt meeskonna liige, ja seejĂ€rel, olles juba tiimijuht. Ainus lĂ€henemine, mis toimib, on narkokaubanduse lĂ€henemine. See on see, mida ma nimetan "teenustele orienteeritud koostööks", see tĂ€hendab teadlikkusele pĂ”hinevat koostööd, et mĂ”ista, mida sa pakud. Suuremas plaanis tead, et sul on sinu ĂŒmber inimesi, keda vĂ”id pidada oma klientideks. Me teeme midagi, keegi teine kasutab sellest kasu. KĂ”ige lihtsamas stsenaariumis, millest Agile kunagi rÀÀkis: ma olen arendaja, mul on klient, ja seetĂ”ttu pean ma aru saama, mida mu klient tahab, et efektiivselt tarkvara arendada.
Suures ettevĂ”ttes on mul sageli puudulik otsene suhtlemine kliendiga, kasutajaga. Kuid minu ĂŒmber on teised inimesed. NĂ€iteks, kui ma kirjutan teegi â teised inimesed integreerivad seda, kui ma arendan mingit tagaplaati â mul on eesliini arendajad, kes peavad selle kallal töötama, ja kui ma kirjutan koodi â mul on testijad, kes kas kirjutavad mulle teste vĂ”i ma jagan neile versioone, et neil oleks mida testida. Suures plaanis tuleks mĂ”elda, et "ma olen teenusepakkuja, kellest on kliendid. KĂ”ige paremini töötab kĂ”ik, kui ma teen oma kliendid rahulolevaks. Kui mu kliendid on rahul, siis olen ka mina rahul. Ma teen endale esmalt nime, teen head suhtlemist ja saan positiivset tagasisidet." Ja tagasivaatavalt narkodiileri lĂ€henemisele, ma tahan, et need kliendid tuleksid jĂ€lle minu juurde, et saada sama asja.
See, if I believe a certain approach is correct, for example, continuous integration with tests⊠There are programmers who find it difficult to test their work today. We need to ensure they donât have to think too much about it, making these checks as simple as possible for them. Today, this seems quite trivial, but it wasnât trivial at all ten years ago: at that time, when I pushed my code, everything would automatically build and deploy somewhere, and I would only receive a message if there was an error. Meanwhile, I could peacefully go have a coffee without worrying about compiling on my own computer or having all the necessary tools because that's also a headache. So, by reducing the amount of headache, people get hooked on it. We all see this: as soon as you have a well-functioning pipeline, those who use it quickly canât imagine life without it. If I want to make a change, a process needs to be created that fosters a certain emotional dependence among people.
Oleg: HĂ€sti. Paljud inimesed lootavad, et tuleb mingi kuningas, suur juht vĂ”i keegi, kes ĂŒtleb neile, kuidas elada, ja pĂ€rast seda liiguvad kĂ”ik kindlasti uude julgusse maailma DevOpsiga vĂ”i millegagi muuga. Kas selline kuningas on vajalik?
Anton: Ei, kuningas, kes ĂŒtleb, kuidas elada, ei ole kindlasti vajalik. Juht, kes on valmis kuulama oma töötajaid, neile usaldama ja toetama neid nii, et nad saaksid oma tööd teha nĂ”nda, nagu neile tundub kĂ”ige mugavam ja Ă”igem? Jah, selline inimene on vajalik, sest vastasel juhul on see lihtsalt konflikt. Ja vaenulikkus alluvate ja nende ĂŒlemuse vahel ei lĂ”ppe kunagi hĂ€sti. Tulemuseks on, et kellelegi lĂ€heb see kindlasti halvasti, kas ĂŒlemusele vĂ”i alluvatele.
Kuid probleem on selles, et inimestele on vÀga raske rÀÀkida, mida nad peaksid tegema ja mida nad ei peaks tegema. LÔppkokkuvÔttes teevad nad seda, kuhu neid viib nende kultuuriline taust, ego vÔi hetkeemotsionaalne seisund.
KÔige kasulikumaid praktikaid ja tehnoloogiaid DevOpsi maailmast.
Oleg: Tegelikult on praegu jutuks palju erinevaid praktikaid: on lÀhenemisviise Google'ilt, Netflixilt ja erinevatelt konverentside esinejatelt. Milliseid praktikaid pead sina kÔige kasulikumateks?
Anton: Enamikul organisatsioonidest, sĂ”ltumata sellest, kas nad on suured vĂ”i vĂ€ikesed (eriti kannatavad selle all start-up'id), on probleemiks see, et neil puudub protsesside jĂ€lgimine â arusaam sellest, kuidas me tegelikult töötame, kuidas me tarkvara tarnime ja kus asjad umbe jÀÀvad. Tavaliselt pakun vĂ€lja harjutuse, mis tuleneb efektiivse juhtimise lĂ€henemisest, lean management'ist â see nimetatakse vÀÀrtuse voogude kaardistamiseks. See nĂ”uab teatavat valmisolekut, et koguda ĂŒhte ruumi organisatsiooni peamised mĂ€ngijad, kĂ”ik, kes mingil moel osalevad tarnimisprotsessis: need, kes mÀÀratlevad vajalikud muudatused, tooted, projektijuhid, arendajad, testijad, sĂŒsteemiadministraatorid, isegi mĂŒĂŒjad, kes töötavad klientidega. Koguda nad kĂ”ik kokku ja mĂ”ista, kuidas tarkvara muutus toimub, millist teed see tavaliselt lĂ€bib.
See, it seems quite trivial: what's going on? Someone has devised it â someone has coded it, we have a pipeline, it ran â it was rolled out. Yes, we know that our build takes a lot of time, yes, we will resolve that. We know that programmers cannot compile on their machines right now because they have Java, it requires a lot of memory, we know that too, and we'll sort it out. And I often visit organizations, and they say:
â We need to automate this, address that.
â Are you sure this is where we should start? How do you know this?
â Well, we don't know for sure, but we feel that there's a problem there.
On , which states that addressing an issue anywhere that isn't a constraint does not solve anything; it only complicates the problem. What many people lack is an understanding of where things get stuck and how they flow.
Sometimes you just gather different people, and one person says:
â At this point, the release is going for approval.
And another says:
â No, it's not like that for us; we are not moving forward. Here we are waiting for the environment for load testing.
VĂ”i nĂ€iteks, testijad ĂŒtlevad:
â Just siin me tavaliselt teeme kĂ”ik kĂ€sitsi.
Ja programmeerijad ĂŒtlevad neile:
â Aga meil on selle jaoks automatiseeritud protsess. Miks te seda ei kasuta?
Ja testijad ĂŒtlevad:
â Me ei teadnud, et see olemas on.
Iga meeskond nĂ€eb ainult oma osa ja keegi ei nĂ€e kogu pilti â see mĂ”jutab tihti meie vĂ”imet tĂ”husalt tarkvara vĂ€lja anda palju rohkem kui tööriista olemasolu vĂ”i puudumine. Selliseid asju. Tuleb alustada protsesside kaardistamisest. Selge, et kui ettevĂ”ttes ei ole hetkel mingit CI/CD â see on juba minevik. Selge, et seda tuleb ka luua. Aga tasub kĂ”igepealt vastata kĂŒsimusele, kui palju sellesse investeerida, milliseid probleeme see lahendab. Selleks on samuti vaja inimesi, kes mĂ”istavad, kuidas seda Ă”igesti teha.
Oleg: Tehnilisest vaatenurgast, millistele tehnoloogiatele tasub tÀhelepanu pöörata? Selge, et lihtsast CI/CD-st ei tasu enam rÀÀkida. Millised Àgedad uued tehnoloogiad vÔiksid huvi pakkuda?
Anton: Esiteks, on kĂ”igile tĂ€iesti selge, et konteinerid on vĂ”itnud. SeetĂ”ttu, kui keegi veel konteineritega ei tegele, peaks kindlasti vaatama ja seda vĂ”imalikult kiiresti tegema, sest suund on sellele poole. Suured ettevĂ”tted mĂ”istavad, et nende tarkvara tĂ€iendamine konteineritesse on hĂ€davajalik. Ja platvormide tasemel on Kubernetes vĂ”itnud: pole vahet, kas see on pilves vĂ”i mitte â me viime klientidele Kubernetes'iga lahenduse. NĂŒĂŒd on ka VMware teada andnud, et neil tuleb Kubernetes otse hĂŒperviisoril. KĂ”ik on selge, Google on vĂ”itnud. Mis ei ole kellelegi ĂŒllatus.
Oleg: Google on vÔitnud?
Anton: Kuid kui me vaatame paar aastat tagasi, ei olnud veel selge, kas valida Swarm vĂ”i Kubernetes, ja kas Docker tapetakse. Dockerit tapeti, see on tĂ€iesti selge. KĂ”ik liitusid, ka Microsoft ja Amazon aitasid â "tule, tapame Dockerit koos!" Nad tapsid Dockeri! Aga suures plaanis oli Docker ise sĂŒĂŒdi. Nad lootsid, et tulevad, teevad kĂ”ikjale revolutsiooni, ei soovi kellelegi mĂŒĂŒa ja alistavad kĂ”ik korraga, sealhulgas Google'i, Microsofti ja Amazoni? Nende vĂ”imalused selleks olid vĂ€ga vĂ€ikesed. NĂ€ib, et nad ei leidnud kedagi, kellega sĂ”braks saada. Kui sa ei sĂ”brune kellegagi, siis lĂ”puks keelatakse sind. Nii ka lĂ€ks.
Nii et. SeetĂ”ttu tuleb konteineritele tĂ€helepanu pöörata. Kontrollerid ja orkestreerimine muutuvad jĂ€rjest enam tavaliseks. Praegu on konverentsidel juba ettekanded, nagu nĂ€iteks âKunagi ei ole liiga hilja alustada Kubernetesega, isegi kui olete pensionilâ. Seega on see vajalik. Ja nĂŒĂŒd hakkab Kubernetes ĂŒmber toimuma palju huvitavat. Ăks Kubernetes'e pĂ”nevamaid omadusi on tĂ”eliselt universaalse API loomine, mis vĂ”imaldab meil kirjeldada kĂ”ike, mis meie infrastruktuuris toimub. Viimase aasta jooksul oleme nĂ€inud katseid selle API ĂŒmber luua mitmeid asju. Teenusete filter on ĂŒks selline katse, peaaegu kĂ”ik praegu olemasolevad teenusete filtrite rakendused vĂ€idavad mingil mÀÀral: âLaieneme API-ga, lisame intelligentsust, kirjelduse objektidest vĂ€ljaspool Kubernetes'e, kuid loeme objekte Kubernetes'est ja seelĂ€bi teame, mida tehaâ.
Teine selline nĂ€ide on see, mis toimub praegu Continuous Delivery Foundationiga, mis loodi umbes poolteist aastat tagasi, ja selle taga on taas Google, CloudBees, GitLab. Google'i projekt Tekton keskendub ideele luua universaalne API, et kirjeldada continuous delivery protsessi. Suures plaanis pĂŒĂŒavad nad jagada selle kĂ”ik kindlateks objektideks, mis peavad olema continuous integration / continuous delivery sĂŒsteemis, ja selle kaudu luua vĂ”imalus neid Salvestada Kubernetesesse, et vĂ”iks olla erinevaid komponente, mis oskavad neid mÀÀratlemisi lugeda ja otsustada, mida nendega teha. Teenuse sihtmĂ€rkide osas toimuvad samad asjad, millest ma rÀÀkisin. Microsoft pĂŒĂŒab praegu luua spetsiifikatsiooni, mida teenuse sihtpunkt peaks tegema, tuntud kui SMI Spec. Ideega, et iga teenuse sihtpunkti rakendus suudab tĂ€ita kĂ”ike, mis sellel spetsiifikatsioonis on kirjutatud, pluss midagi veel.
SeetĂ”ttu on Kubernetes vĂ”itnud. Hetkel, mil sa muutud innovatsioonide platvormiks, on vĂ€ga keeruline sind kĂ”rvale heita, sest selle peale on juba kasvanud, ning nĂŒĂŒd, kui Kubernetes kĂ”rvaldada, tuleb koos beebiga vĂ€lja visata ka vesi.
Millistele ettek ۧÙŰŁÙ jaolged sen otto da powinien speĆniaÄ
Oleg: Millistele ettekannetele sa ise lÀhed, mis tundub sulle huvitav?
Anton: Esiteks, kui on mingi uus tehnoloogiline nipp vĂ”i vidin, mida ma pole veel jĂ”udnud ise uurida, ja on esineja, kes oskab seda arusaadavalt seletada, siis ma arvan, et see on absoluutne eelis, sest selle asemel, et praegu lugeda, kaevata ja vĂ”imalik, et raskustega aru saada, saad tulla ja poole tunni jooksul kuulata, kuidas keegi sulle nĂ€itab ja rÀÀgib. Taaskord, selleks on vajalik teatud oskus ja soov osata tehnoloogiat selgitada. Ja ma mĂ”istan, et see ei tule iseenesest, selle nimel tuleb tööd teha. See on mulle ka palju aega vĂ”tnud. Muide, see, et ma tegeleb tehnilise Ă”petamisega, on mulle selles vĂ€ga aidanud. Kui sul on ees klass ja pead inimestele midagi selgitama, ja sa mĂ”istad, et ĂŒkskĂ”ik kuidas sa seletad, nad ei saa aru â siis saad aru, et probleem on tĂ”enĂ€oliselt selles, kuidas sa seletad, mitte selles, et inimesed ei mĂ”ista.
Oleg: Mis see tehniline Ôpetamine on? Mida sa teed?
Anton: Olen umbes 7-8 aastat Ă”petanud puhtalt tehnilisi aineid. KĂ”ik algas sellest, et Ă”petasin selliseid asju nagu Maven ja shell scripting aasta aega. Kuna olen Jenkinsiga vĂ€ga sĂŒvitsi tegelenud ja seda hĂ€sti tundnud, Ă”petasin inimestele Jenkinsiga töötamist ja haldamist. Viimastel aastatel olen tegelenud kĂ”ikide teemadega, mis on seotud cloud native'inguga: Kubernetes, konteinerid ja kĂ”ik, mis sellega seondub. Varsti lĂ€hen Londonisse, et viia lĂ€bi meistriklass Istio teemal. See ei ole minu peamine tegevus, aga iga kuu-kaks korraldan ma meistriklassid.
Oleg: Kas sa lÀhed peamiselt ettekande, teema vÔi inimese pÀrast?
Anton: Kui ma tean, et esineja on hea, siis lĂ€hen sinna lihtsalt selleks, et Ă”ppida teistel inimestelt, kuidas hĂ€sti rÀÀkida. Ăppimine on alati oluline. Kui on teema, aga ma ei tunne esinejat, siis lĂ€hen vaatama, kuid see on nagu stand-up: vaatan esimesed 10-15 minutit, kui ei haaku â lahkun. On ka esinejaid, kellele ma tĂ”eliselt lĂ€hen igal juhul, sest nad rÀÀgivad alati huvitavalt. Isegi asjadest, mida sa tead, oskavad nad nĂ€idata oma vaatenurgast, mis pöörab kogu kĂŒsimuse tĂ€iesti uuele tasandile. Viimasel ajal meeldib mulle⊠Esiteks Simon Wardley â konsultant, kellel on oma meetod kaartide joonistamiseks. Ta seletab kaartide abil, kuidas ettevĂ”tted saavad oma strateegiat Ă”igesti ĂŒles ehitada. Ta on kunagi olnud mĂ”ne portfelli CTO ja CEO, ja rÀÀgib sellest palju, samuti tehnoloogiast. Ta, muide, toetab pidevalt serverivaba (serverless) lĂ€henemist ja ĂŒtleb, et neil, kes seda tĂ€na ei tee, on suured probleemid.
Oleg: See on see tĂŒĂŒp, kellel on ? ĐĐœ Đ”Ń ĐČ ĐČОЎД ĐżĐŸŃŃĐŸĐČ ŃЎДлал. Ebatavaline formaat.
Anton: Ta rÀÀgib tĂ”eliselt huvitavalt. Tema loengud viimase 2-3 aasta jooksul on mulle enim meelde jÀÀnud. NĂ€iteks John Willis, kes kĂ€is eelmisel aastal DevOopsil â just sellepĂ€rast, et ta . Temaga on teatud probleem, sest ta rÀÀgib vĂ€ga palju Ameerika reaalsusest, asjadest, mis ei ole vahel kuidagi rakendatavad ei Venemaa ega Israelis. Nendel on praegu mingi sĂ”da mingite muudatuste kinnitamise komiteede vastu, millest nad pidevalt rÀÀgivad. Tundub, et see on asi, mis eksisteerib Ameerika ettevĂ”tetes, seal on selline protsess IT muudatuste lĂ€biviimiseks ja kinnitamiseks, kus tuleb lĂ€bi minna mingitest komiteedest.
Oleg: Aga meil sellist asja ei ole â ma ei saa isegi aru, millest sa praegu rÀÀgid.
Anton: Mina ka ei saa eriti aru, Israelis ei ole ka sellist asja. Aga seal nad sellest rÀÀgivad. Kui kuulata neid mehi, nagu DORA, kes , rÀÀgivad nad sellest samuti palju. Ătleme, et ma rÀÀgin sellest, et inimesed rÀÀgivad mingist probleemist, mis on ainult nende juures, ja see ei huvita sind ĂŒldse.
Oleg: Sa oled kĂ€inud eelmisel DevOpsil, milliseid ettekandeid peaks seal vaatama ja ĂŒle vaatama?
Anton: Vaata . Natuke huvitab teema â peaks minema.
Oleg: Seal on mingi Anton Weiss, ma arvan. TÔenÀoliselt tasub teda vaadata.
Anton: Ei, selle peale ei mine, sest see on igav đ
Oleg: Noh, aitĂ€h palju. See oli Ă€ge! NĂ€en, et oled juba esitluse jĂ€rgmisele konverentsile esitanud, nii et â kohtume jĂ€rgmisel DevOpsil!
Konverents toimub 29-30 aprillil, seekord â Moskvas. Konverentsi sisu oleme kirjeldanud Habr's reklaamis . Programm on aktiivselt koostamisel (konverentsini on veel palju kuuk), aga esimesed esinejad on juba . Seal saab ka .
Allikas: habr.com
