Moderna platforma za razvoj i implementaciju softvera

Ovo je prvi u nizu postova o promjenama, poboljšanjima i dodacima u nadolazećem ažuriranju Red Hat OpenShift platforme 4.0 koje će vam pomoći da se pripremite za prelazak na novu verziju.

Moderna platforma za razvoj i implementaciju softvera

Od trenutka kada se mlada Kubernetes zajednica prvi put okupila u Googleovoj kancelariji u Sijetlu u jesen 2014. godine, bilo je jasno da je Kubernetes projekat predodređen da revolucioniše način na koji se softver razvija i primenjuje danas. Istovremeno, provajderi javnih cloud usluga nastavili su aktivno ulagati u razvoj infrastrukture i usluga, što je rad s IT-om i kreiranje softvera učinilo mnogo lakšim i dostupnijim, te ih učinilo nevjerovatno dostupnim, što je malo tko mogao zamisliti na početku decenija.

Naravno, najavu svake nove usluge u oblaku pratile su brojne diskusije među stručnjacima na Twitteru, a debate su se vodile o raznim temama – uključujući kraj ere otvorenog koda, pad lokalnog IT-a i neizbježnost novog softverskog monopola u oblaku i kako će nova paradigma X zamijeniti sve ostale paradigme.

Nepotrebno je reći da su svi ovi sporovi bili veoma glupi

Realnost je da ništa neće nestati, a danas možemo vidjeti eksponencijalni rast krajnjih proizvoda i načina na koji su oni razvijeni, zbog stalne pojave novog softvera u našim životima. I uprkos činjenici da će se sve okolo promijeniti, istovremeno će, u suštini, sve ostati nepromijenjeno. Programeri softvera će i dalje pisati kod s greškama, operativni inženjeri i stručnjaci za pouzdanost će i dalje hodati okolo sa pejdžerima i primati automatska upozorenja u Slacku, menadžeri će i dalje raditi u konceptima OpExa i CapExa, a svaki put kada dođe do kvara, stariji programer tužno će uzdahnuti uz riječi: "Rekao sam ti"...

stvarno treba diskutovati, koje alate možemo imati na raspolaganju za kreiranje boljih softverskih proizvoda i kako oni mogu poboljšati sigurnost i učiniti razvoj lakšim i pouzdanijim. Kako projekti postaju složeniji, pojavljuju se novi rizici, a danas životi ljudi toliko zavise od softvera da programeri jednostavno moraju pokušati da bolje rade svoj posao.

Kubernetes je jedan takav alat. U toku je rad na kombinovanju Red Hat OpenShift-a sa drugim alatima i uslugama u jedinstvenu platformu koja bi softver učinila pouzdanijim, lakšim za upravljanje i sigurnijim za korisnike.

Uz to, OpenShift tim postavlja jedno jednostavno pitanje:

Kako možete učiniti rad sa Kubernetes lakšim i praktičnijim?

Odgovor je iznenađujuće očigledan:

  • automatizirati složene aspekte implementacije u oblaku ili izvan oblaka;
  • fokusiranje na pouzdanost uz skrivanje složenosti;
  • nastaviti kontinuirano raditi na objavljivanju jednostavnih i sigurnih ažuriranja;
  • postići mogućnost kontrole i revizije;
  • nastojati da u početku osigurate visoku sigurnost, ali ne nauštrb upotrebljivosti.

Sljedeće izdanje OpenShift-a trebalo bi da uzme u obzir i iskustvo kreatora i iskustvo drugih programera koji implementiraju softver u velikim razmjerima u najvećim svjetskim kompanijama. Osim toga, mora uzeti u obzir svo akumulirano iskustvo otvorenih ekosistema koji su u osnovi modernog svijeta danas. Istovremeno, potrebno je napustiti stari mentalitet programera amatera i prijeći na novu filozofiju automatizirane budućnosti. Potrebno je da premosti jaz između starih i novih načina implementacije softvera i da u potpunosti iskoristi svu dostupnu infrastrukturu – bilo da je hostovana od strane najvećeg dobavljača oblaka ili radi na malim sistemima na rubu.

Kako postići ovaj rezultat?

U Red Hatu je uobičajeno dugo raditi dosadan i nezahvalan posao kako bi se očuvala uspostavljena zajednica i spriječilo zatvaranje projekata u koje je kompanija uključena. Zajednica otvorenog koda sadrži ogroman broj talentiranih programera koji stvaraju najneobičnije stvari - zabavne, edukativne, otvaraju nove mogućnosti i jednostavno lijepe, ali, naravno, nitko ne očekuje da se svi kreću u istom smjeru ili slijede zajedničke ciljeve . Iskorištavanje te energije i njeno preusmjeravanje u pravom smjeru ponekad je potrebno za razvoj područja koja bi bila od koristi našim korisnicima, ali u isto vrijeme moramo pratiti razvoj naših zajednica i učiti od njih.

Početkom 2018. Red Hat je preuzeo CoreOS projekat, koji je imao slične poglede na budućnost - sigurniji i pouzdaniji, kreiran na principima otvorenog koda. Kompanija je radila na daljem razvoju ovih ideja i njihovoj implementaciji, stavljajući našu filozofiju u praksu – pokušavajući da osigura da sav softver radi bezbedno. Sav ovaj rad je izgrađen na Kubernetesu, Linuxu, javnim oblacima, privatnim oblacima i hiljadama drugih projekata koji podupiru naš moderni digitalni ekosistem.

Novo izdanje OpenShift 4 će biti jasno, automatizovano i prirodnije

OpenShift platforma će raditi sa najboljim i najpouzdanijim Linux operativnim sistemima, sa hardverskom podrškom za goli metal, praktičnom virtuelizacijom, automatskim programiranjem infrastrukture i, naravno, kontejnerima (koji su u suštini samo Linux slike).

Platforma mora biti sigurna od samog početka, ali ipak omogućiti programerima da lako ponavljaju – to jest, da bude dovoljno fleksibilna i sigurna, dok i dalje dozvoljava administratorima da njome lako revidiraju i upravljaju.

Trebalo bi omogućiti da se softver pokreće „kao usluga“ i da ne dovodi do neupravljivog rasta infrastrukture za operatere.

To će omogućiti programerima da se fokusiraju na kreiranje stvarnih proizvoda za korisnike i kupce. Nećete morati da gazite kroz džunglu hardverskih i softverskih postavki, a sve slučajne komplikacije će biti stvar prošlosti.

OpenShift 4: NoOps platforma koja ne zahtijeva održavanje

В ovu publikaciju opisao one zadatke koji su pomogli u oblikovanju vizije kompanije za OpenShift 4. Cilj tima je pojednostaviti dnevne zadatke rada i održavanja softvera što je više moguće, kako bi ovi procesi bili laki i opušteni - kako za stručnjake uključene u implementaciju, tako i za programere. Ali kako se možete približiti ovom cilju? Kako kreirati platformu za pokretanje softvera koja zahtijeva minimalnu intervenciju? Šta NoOps uopće znači u ovom kontekstu?

Ako pokušate da apstrahujete, onda za programere koncepti "bez servera" ili "NoOps" znače alate i usluge koje vam omogućavaju da sakrijete "operativnu" komponentu ili minimizirate ovaj teret za programera.

  • Ne radite sa sistemima, već sa interfejsima aplikacija (API).
  • Ne mučite se sa implementacijom softvera - pustite provajdera da to uradi umjesto vas.
  • Nemojte odmah uskočiti u kreiranje velikog okvira – počnite pisanjem malih dijelova koji će djelovati kao "građevinski blokovi", pokušajte da ovaj kod radi s podacima i događajima, a ne s diskovima i bazama podataka.

Cilj je, kao i do sada, ubrzati iteracije u razvoju softvera, pružiti priliku za kreiranje boljih proizvoda, te da programer ne mora da brine o sistemima na kojima njegov softver radi. Iskusni programer je dobro svjestan da fokusiranje na korisnike može brzo promijeniti sliku, tako da ne biste trebali ulagati previše truda u pisanje softvera osim ako niste apsolutno sigurni da je potreban.

Za profesionalce za održavanje i rad, riječ “NoOps” može zvučati pomalo zastrašujuće. Ali kada komunicirate s terenskim inženjerima, postaje očigledno da obrasci i tehnike koje koriste za osiguranje pouzdanosti i pouzdanosti (Site Reliability Engineering, SRE) imaju mnogo sličnosti s gore opisanim obrascima:

  • Ne upravljajte sistemima - automatizujte njihove procese upravljanja.
  • Nemojte implementirati softver - kreirajte cevovod da biste ga implementirali.
  • Izbjegavajte združivanje svih vaših usluga i dopustite da neuspjeh jedne prouzrokuje otkaz cijelog sistema – raspršite ih po cijeloj infrastrukturi pomoću alata za automatizaciju i povežite ih na načine koji se mogu nadzirati i nadgledati.

SRE znaju da nešto može poći po zlu i morat će pronaći i riješiti problem—pa automatiziraju rutinski rad i unaprijed postavljaju budžete grešaka kako bi bili spremni da daju prioritete i donesu odluke kada se problem pojavi.

Kubernetes u OpenShift-u je platforma dizajnirana da riješi dva glavna problema: umjesto da vas prisiljava na razumijevanje virtuelnih mašina ili API-ja za balansiranje opterećenja, ona radi sa apstrakcijama višeg reda – procesima i uslugama implementacije. Umjesto da instalirate softverske agente, možete pokrenuti kontejnere i umjesto da pišete svoj nadzorni stack, koristite alate koji su već dostupni na platformi. Dakle, tajni sos OpenShift 4 zaista nije nikakva tajna - to je samo pitanje preuzimanja principa SRE i koncepata bez servera i dovođenja do njihovog logičnog završetka kako bi se pomoglo programerima i operativnim inženjerima:

  • Automatizirajte i standardizirajte infrastrukturu koju koriste aplikacije
  • Povežite procese implementacije i razvoja zajedno bez ograničavanja samih programera
  • Osigurati da pokretanje, revizija i osiguranje XNUMX. usluge, funkcije, aplikacije ili cijelog steka nije teže od prvog.

Ali koja je razlika između OpenShift 4 platforme i njenih prethodnika i od „standardnog“ pristupa rješavanju takvih problema? Šta pokreće skalu za implementacijske i operativne timove? Zbog činjenice da je kralj u ovoj situaciji grozd. dakle,

  • Vodimo računa da je svrha klastera jasna (Dragi oblake, pokupio sam ovaj klaster jer sam mogao)
  • Mašine i operativni sistemi postoje da služe klasteru (Vaše Veličanstvo)
  • Upravljajte stanjem hostova iz klastera, minimizirajte njihovu ponovnu izgradnju (drift).
  • Za svaki važan element sistema potrebna je dadilja (mehanizam) koja će pratiti i otklanjati probleme
  • Neuspjeh *svakog* aspekta ili elementa sistema i povezanih mehanizama oporavka normalan je dio života
  • Cijela infrastruktura mora biti konfigurirana preko API-ja.
  • Koristite Kubernetes za pokretanje Kubernetesa. (Da, da, to nije greška u kucanju)
  • Ažuriranja bi trebala biti jednostavna i bez problema za instalaciju. Ako je potrebno više od jednog klika da se instalira ažuriranje, očito je da radimo nešto pogrešno.
  • Nadgledanje i otklanjanje grešaka bilo koje komponente ne bi trebalo da predstavlja problem, pa stoga praćenje i izveštavanje u celoj infrastrukturi takođe treba da bude lako i praktično.

Želite li vidjeti mogućnosti platforme na djelu?

Pregledna verzija OpenShift 4 postala je dostupna programerima. Uz instalater koji je jednostavan za korištenje, možete pokrenuti klaster na AWS-u na vrhu Red Had CoreOS-a. Da biste koristili pregled, potreban vam je samo AWS nalog za obezbeđivanje infrastrukture i skup naloga za pristup slikama za pregled.

  1. Za početak idite na try.openshift.com i kliknite na „Početak“.
  2. Prijavite se na svoj Red Hat nalog (ili kreirajte novi) i pratite uputstva da postavite svoj prvi klaster.

Nakon uspješne instalacije, pogledajte naše tutorijale OpenShift Trainingda steknete dublje razumevanje sistema i koncepata koji OpenShift 4 platformu čine tako lakim i praktičnim načinom za pokretanje Kubernetesa.

Isprobajte novo izdanje OpenShift i podijelite svoje mišljenje. Posvećeni smo tome da rad sa Kumbernetesom učinimo što pristupačnijim i lakšim – budućnost NoOpsa počinje danas.

Sada pažnja!
Na konferenciji DevOpsForum 2019 20. aprila, jedan od OpenShift programera, Vadim Rutkovsky, održat će majstorsku klasu - razbiti će deset klastera i natjerati ih da ih poprave. Konferencija se plaća, ali uz promotivni kod #RedHat ostvarujete 37% popusta

Master class u 17:15 - 18:15, a štand je otvoren cijeli dan. Majice, kape, naljepnice - uobičajeno!

Hala #2
“Ovdje se cijeli sistem mora promijeniti: popravljamo pokvarene k8s klastere zajedno sa certificiranim mehaničarima.”


izvor: www.habr.com

Dodajte komentar