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 koji će vam pomoći da se pripremite za prijelaz na novu verziju.

Moderna platforma za razvoj i implementaciju softvera

Od trenutka kada se novonastala Kubernetes zajednica prvi put okupila u Googleovom uredu u Seattleu u jesen 2014., bilo je jasno da je projekt Kubernetes predodređen da revolucionira način na koji se softver danas razvija i postavlja. Istodobno, javni pružatelji usluga u oblaku nastavili su aktivno ulagati u razvoj infrastrukture i usluga, što je rad s IT-om i izradu softvera učinilo mnogo lakšim i dostupnijim te ih učinilo nevjerojatno dostupnima, što je malo tko mogao zamisliti na početku desetljeće.

Naravno, najava svake nove usluge u oblaku bila je popraćena brojnim raspravama među stručnjacima na Twitteru, a rasprave su se vodile o raznim temama – uključujući kraj ere otvorenog koda, pad on-premises 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 ti sporovi bili vrlo glupi

Realnost je takva da ništa neće nestati, a danas možemo vidjeti eksponencijalni rast krajnjih proizvoda i načina na koji se razvijaju, zbog stalnog pojavljivanja novog softvera u našim životima. I unatoč činjenici da će se sve okolo promijeniti, u isto vrijeme, u biti, sve će ostati nepromijenjeno. Programeri softvera i dalje će pisati kod s pogreškama, operativni inženjeri i stručnjaci za pouzdanost i dalje će hodati uokolo s dojavljivačima i primati automatska upozorenja u Slacku, menadžeri će i dalje raditi u smislu OpEx-a i CapEx-a, a svaki put kad se dogodi kvar, viši programer će tužno uzdahnuti uz riječi: “Rekao sam ti”...

Oh stvarno treba raspravljati, je koje alate možemo imati na raspolaganju za stvaranje boljih softverskih proizvoda i kako oni mogu poboljšati sigurnost i učiniti razvoj lakšim i pouzdanijim. Kako projekti postaju sve složeniji, pojavljuju se novi rizici, a današnji životi ljudi toliko ovise o softveru da programeri jednostavno moraju pokušati bolje obavljati svoj posao.

Kubernetes je jedan takav alat. U tijeku je rad na kombiniranju Red Hat OpenShifta s 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 rad s Kubernetesom možete učiniti lakšim i praktičnijim?

Odgovor je iznenađujuće očit:

  • automatizirati složene aspekte implementacije u oblaku ili izvan njega;
  • usredotočite se na pouzdanost dok skrivate složenost;
  • nastaviti kontinuirano raditi na izdavanju jednostavnih i sigurnih ažuriranja;
  • postići upravljivost i revizibilnost;
  • nastojati u početku osigurati visoku sigurnost, ali ne nauštrb upotrebljivosti.

Sljedeće izdanje OpenShift-a trebalo bi uzeti u obzir i iskustvo kreatora i iskustvo drugih programera koji implementiraju softver u velikim razmjerima u najvećim tvrtkama na svijetu. Osim toga, mora uzeti u obzir svo akumulirano iskustvo otvorenih ekosustava koji su u osnovi današnjeg modernog svijeta. Istovremeno, potrebno je napustiti stari mentalitet programera amatera i prijeći na novu filozofiju automatizirane budućnosti. Treba premostiti jaz između starih i novih načina implementacije softvera i u potpunosti iskoristiti svu dostupnu infrastrukturu - bilo da je hostuje najveći pružatelj usluga oblaka ili radi na malim sustavima na rubu.

Kako postići ovaj rezultat?

U Red Hatu je uobičajeno raditi dosadan i nezahvalan posao dugo vremena kako bi se očuvala uspostavljena zajednica i spriječilo zatvaranje projekata u koje je tvrtka uključena. Zajednica otvorenog koda sadrži ogroman broj talentiranih programera koji stvaraju najneobičnije stvari - zabavne, obrazovne, 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 njezino preusmjeravanje u pravom smjeru ponekad je potrebno za razvoj područja koja bi bila od koristi našim korisnicima, ali istovremeno moramo pratiti razvoj naših zajednica i učiti od njih.

Red Hat je početkom 2018. kupio projekt CoreOS koji je imao slične poglede na budućnost – sigurniji i pouzdaniji, kreiran na open-source principima. Tvrtka je radila na daljnjem razvoju ovih ideja i njihovoj implementaciji, stavljajući našu filozofiju u praksu - pokušavajući osigurati da sav softver radi sigurno. Sav ovaj posao izgrađen je na Kubernetesu, Linuxu, javnim oblacima, privatnim oblacima i tisućama drugih projekata koji podupiru naš moderni digitalni ekosustav.

Novo izdanje OpenShift 4 bit će jasno, automatizirano i prirodnije

Platforma OpenShift radit će s najboljim i najpouzdanijim operativnim sustavima Linux, s hardverskom podrškom za goli metal, praktičnom virtualizacijom, automatskim programiranjem infrastrukture i, naravno, spremnicima (koji su u biti samo slike Linuxa).

Platforma mora biti sigurna od samog početka, ali i dalje dopuštati razvojnim programerima da lako ponavljaju—to jest, biti dovoljno fleksibilna i sigurna dok još uvijek dopušta administratorima da ju lako nadziru i upravljaju njome.

Trebao bi omogućiti pokretanje softvera "kao usluge", a ne dovesti do neupravljivog rasta infrastrukture za operatere.

Programerima će omogućiti da se usredotoče na stvaranje pravih proizvoda za korisnike i kupce. Nećete morati gaziti kroz džunglu postavki hardvera i softvera, a sve slučajne komplikacije bit će prošlost.

OpenShift 4: NoOps platforma koja ne zahtijeva održavanje

В ova publikacija opisao one zadatke koji su pomogli u oblikovanju vizije tvrtke za OpenShift 4. Cilj tima je pojednostaviti svakodnevne zadatke rada i održavanja softvera što je više moguće, učiniti te procese lakima i opuštenijima - kako za stručnjake uključene u implementaciju tako i za programere. Ali kako se možete približiti ovom cilju? Kako stvoriti platformu za pokretanje softvera koja zahtijeva minimalnu intervenciju? Što NoOps uopće znači u ovom kontekstu?

Ako pokušate apstrahirati, tada za programere koncepti "bez poslužitelja" ili "NoOps" znače alate i usluge koji vam omogućuju skrivanje "operativne" komponente ili minimiziranje ovog tereta za programera.

  • Ne radite sa sustavima, već s aplikacijskim sučeljima (API).
  • Nemojte se zamarati implementacijom softvera - prepustite davatelju usluge da to učini umjesto vas.
  • Nemojte odmah uskočiti u stvaranje velikog okvira - počnite pisanjem malih dijelova koji će djelovati kao "građevni 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, omogućiti stvaranje boljih proizvoda, te da programer ne mora brinuti o sustavima na kojima se njegov softver pokreće. Iskusni programer dobro je svjestan da fokusiranje na korisnike može brzo promijeniti sliku, stoga ne biste trebali ulagati previše truda u pisanje softvera osim ako niste potpuno sigurni da je potreban.

Za stručnjake za održavanje i operacije, riječ "NoOps" može zvučati pomalo zastrašujuće. Ali kada komunicirate s terenskim inženjerima, postaje očito da obrasci i tehnike koje koriste s ciljem osiguravanja pouzdanosti i pouzdanosti (Site Reliability Engineering, SRE) imaju mnogo sličnosti s gore opisanim obrascima:

  • Nemojte upravljati sustavima – automatizirajte njihove procese upravljanja.
  • Nemojte implementirati softver - stvorite cjevovod za njegovu implementaciju.
  • Izbjegavajte spajanje svih svojih usluga zajedno i dopuštanje da kvar jedne uzrokuje kvar cijelog sustava—raspršite ih po cijeloj infrastrukturi pomoću alata za automatizaciju i povežite ih na načine koji se mogu nadzirati i pratiti.

SRE znaju da nešto može poći po zlu i da će morati pronaći i riješiti problem—tako da automatiziraju rutinski rad i unaprijed postavljaju proračune za pogreške kako bi bili spremni odrediti prioritete i donijeti odluke kada se pojavi problem.

Kubernetes u OpenShiftu je platforma dizajnirana za rješavanje dva glavna problema: umjesto da vas tjera da razumijete virtualne strojeve ili API-je za balansiranje opterećenja, radi s apstrakcijama višeg reda - procesima i uslugama implementacije. Umjesto instaliranja softverskih agenata, možete pokretati spremnike, a umjesto pisanja vlastitog nadzornog skupa, koristiti alate koji su već dostupni na platformi. Dakle, tajni umak OpenShift 4 zapravo nije nikakva tajna - samo je stvar preuzimanja SRE principa i koncepata bez poslužitelja i njihovog 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 bez ograničavanja samih programera
  • Osigurati da pokretanje, revizija i osiguranje XNUMX. usluge, značajke, aplikacije ili cijelog skupa nije ništa teže od prvog.

Ali koja je razlika između platforme OpenShift 4 i njezinih prethodnika i od "standardnog" pristupa rješavanju takvih problema? Što pokreće razmjere za implementacijske i operativne timove? Zbog činjenice da je kralj u ovoj situaciji klaster. Tako,

  • Pazimo da je svrha klastera jasna (Dragi oblake, uzeo sam ovaj klaster jer sam mogao)
  • Strojevi i operativni sustavi postoje da služe klasteru (Vaše Veličanstvo)
  • Upravljajte stanjem hostova iz klastera, smanjite njihovu ponovnu izgradnju (drift).
  • Za svaki bitan element sustava potrebna je dadilja (mehanizam) koja će pratiti i otklanjati probleme
  • Kvar *svakog* aspekta ili elementa sustava i povezanih mehanizama oporavka normalan je dio života
  • Cijela infrastruktura mora biti konfigurirana putem API-ja.
  • Koristite Kubernetes za pokretanje Kubernetesa. (Da, da, to nije greška pri upisu)
  • Ažuriranja bi se trebala lako i bez muke instalirati. Ako je za instaliranje ažuriranja potrebno više od jednog klika, onda očito nešto radimo krivo.
  • Praćenje i otklanjanje pogrešaka bilo koje komponente ne bi trebalo predstavljati problem, pa bi stoga praćenje i izvješćivanje kroz cijelu infrastrukturu također trebalo biti jednostavno i praktično.

Želite li vidjeti mogućnosti platforme na djelu?

Preview verzija OpenShift 4 postala je dostupna programerima. S instalacijskim programom koji je jednostavan za korištenje, možete pokrenuti klaster na AWS-u povrh Red Had CoreOS-a. Za korištenje pregleda potreban vam je samo AWS račun za pružanje infrastrukture i skup računa za pristup slikama za pregled.

  1. Za početak idite na try.openshift.com i kliknite na “Get Started”.
  2. Prijavite se na svoj Red Hat račun (ili kreirajte novi) i slijedite upute za postavljanje vašeg prvog klastera.

Nakon uspješne instalacije, pogledajte naše upute OpenShift obukakako biste dublje razumjeli sustave i koncepte koji platformu OpenShift 4 čine tako lakim i praktičnim načinom za pokretanje Kubernetesa.

Isprobajte novo izdanje OpenShifta i podijelite svoje mišljenje. Predani smo tome da rad s Kumbernetesom učinimo što pristupačnijim i jednostavnijim—budućnost NoOps-a počinje danas.

A sada pažnja!
Na konferenciji DevOpsForum 2019 20. travnja jedan od programera OpenShifta, Vadim Rutkovsky, održat će majstorsku klasu - razbit će deset klastera i prisiliti ih da ih poprave. Konferencija se plaća, ali uz promotivni kod #RedHat ostvarujete popust od 37%.

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

Dvorana #2
“Ovdje treba promijeniti cijeli sustav: popravljamo pokvarene klastere k8s zajedno s certificiranim mehaničarima.”


Izvor: www.habr.com

Dodajte komentar