Plataforma moderna per al desenvolupament i desplegament de programari

Aquesta és la primera d'una sèrie de publicacions sobre els canvis, millores i addicions de la propera actualització 4.0 de la plataforma Red Hat OpenShift que us ajudarà a preparar-vos per a la transició a la nova versió.

Plataforma moderna per al desenvolupament i desplegament de programari

Des del moment en què la nova comunitat de Kubernetes es va reunir per primera vegada a l'oficina de Google de Seattle a la tardor de 2014, va quedar clar que el projecte Kubernetes estava destinat a revolucionar la manera com es desenvolupa i es desplega el programari avui en dia. Al mateix temps, els proveïdors de serveis al núvol públic van continuar invertint activament en el desenvolupament d'infraestructures i serveis, cosa que va fer que el treball amb TI i la creació de programari fossin molt més fàcils i accessibles, i els va fer increïblement accessibles, cosa que pocs s'haurien pogut imaginar al principi de la dècada.

Per descomptat, l'anunci de cada nou servei al núvol va anar acompanyat de nombroses discussions entre experts a Twitter, i es van dur a terme debats sobre diversos temes, com ara el final de l'era del codi obert, el declivi de la TI a les instal·lacions i la inevitabilitat. d'un nou monopoli del programari al núvol, i com el nou paradigma X substituirà tots els altres paradigmes.

No cal dir que totes aquestes disputes van ser molt estúpides

La realitat és que res no desapareix, i avui podem veure un creixement exponencial dels productes finals i de la forma en què es desenvolupen, a causa de l'aparició constant de nou programari a les nostres vides. I malgrat que tot al voltant canviarà, al mateix temps, en essència, tot romandrà sense canvis. Els desenvolupadors de programari encara escriuran codi amb errors, els enginyers d'operacions i els especialistes en fiabilitat seguiran caminant amb cercapersones i rebran alertes automàtiques a Slack, els gestors seguiran operant en termes d'OpEx i CapEx, i cada vegada que es produeixi una fallada, el desenvolupador sènior ho farà. sospira tristament amb les paraules: "T'ho vaig dir"...

Oh de debò s'hauria de discutir, és quines eines podem tenir a la nostra disposició per crear millors productes de programari, i com poden millorar la seguretat i fer que el desenvolupament sigui més fàcil i fiable. A mesura que els projectes es fan més complexos, sorgeixen nous riscos, i avui la vida de les persones depèn tant del programari que els desenvolupadors simplement han d'intentar fer la seva feina millor.

Kubernetes és una d'aquestes eines. S'està treballant per combinar Red Hat OpenShift amb altres eines i serveis en una única plataforma que faria que el programari fos més fiable, més fàcil de gestionar i més segur per als usuaris.

Dit això, l'equip d'OpenShift fa una pregunta senzilla:

Com podeu fer que treballar amb Kubernetes sigui més fàcil i còmode?

La resposta és sorprenentment òbvia:

  • automatitzar aspectes complexos del desplegament al núvol o fora del núvol;
  • centrar-se en la fiabilitat mentre amaga la complexitat;
  • continuar treballant contínuament per publicar actualitzacions senzilles i segures;
  • aconseguir controlabilitat i auditabilitat;
  • esforçar-se per garantir inicialment una alta seguretat, però no a costa de la usabilitat.

La propera versió d'OpenShift hauria de tenir en compte tant l'experiència dels creadors com l'experiència d'altres desenvolupadors que estan implementant programari a gran escala a les empreses més grans del món. A més, ha de tenir en compte tota l'experiència acumulada dels ecosistemes oberts que subjacent al món modern actual. Al mateix temps, cal abandonar la vella mentalitat del desenvolupador aficionat i passar a una nova filosofia d'un futur automatitzat. Ha de superar la bretxa entre les formes antigues i les noves de desplegar programari i aprofitar al màxim tota la infraestructura disponible, tant si està allotjada pel proveïdor de núvol més gran com si s'executa en sistemes minúsculs a la vora.

Com aconseguir aquest resultat?

A Red Hat s'acostuma a fer treballs avorrits i desagraïts durant molt de temps per tal de preservar la comunitat establerta i evitar el tancament dels projectes en què participa l'empresa. La comunitat de codi obert conté un gran nombre de desenvolupadors talentosos que creen les coses més extraordinàries: entretingudes, educatives, que obrin noves oportunitats i simplement belles, però, per descomptat, ningú espera que tothom es mogui en la mateixa direcció o persegueixi objectius comuns. . Aprofitar aquesta energia i reorientar-la en la direcció correcta de vegades és necessari per desenvolupar àrees que beneficiïn els nostres usuaris, però al mateix temps hem de controlar el desenvolupament de les nostres comunitats i aprendre d'elles.

A principis del 2018, Red Hat va adquirir el projecte CoreOS, que tenia visions similars sobre el futur: més segur i fiable, creat amb principis de codi obert. L'empresa ha treballat per desenvolupar aquestes idees i implementar-les, posant en pràctica la nostra filosofia, intentant garantir que tot el programari funcioni de manera segura. Tot aquest treball es basa en Kubernetes, Linux, núvols públics, núvols privats i milers d'altres projectes que sustenten el nostre ecosistema digital modern.

La nova versió d'OpenShift 4 serà clara, automatitzada i més natural

La plataforma OpenShift funcionarà amb els millors i més fiables sistemes operatius Linux, amb suport de maquinari nu, virtualització còmoda, programació automàtica d'infraestructures i, per descomptat, contenidors (que bàsicament són només imatges de Linux).

La plataforma ha de ser segura des del principi, però encara permetre als desenvolupadors repetir fàcilment, és a dir, ser prou flexible i segura alhora que permet als administradors auditar-la i gestionar-la fàcilment.

Hauria de permetre que el programari s'executi "com a servei" i no condueixi a un creixement incontrolable de la infraestructura per als operadors.

Permetrà als desenvolupadors centrar-se a crear productes reals per als usuaris i clients. No haureu de recórrer la jungla de la configuració de maquinari i programari, i totes les complicacions accidentals seran cosa del passat.

OpenShift 4: plataforma NoOps que no requereix manteniment

В aquesta publicació va descriure aquelles tasques que van ajudar a donar forma a la visió de l'empresa per a OpenShift 4. L'objectiu de l'equip és simplificar al màxim les tasques diàries d'operació i manteniment del programari, per tal que aquests processos siguin fàcils i relaxats, tant per als especialistes implicats en la implementació com per als desenvolupadors. Però, com pots acostar-te a aquest objectiu? Com crear una plataforma per executar programari que requereixi una intervenció mínima? Què significa fins i tot NoOps en aquest context?

Si intenteu abstraure, per als desenvolupadors els conceptes de "sense servidor" o "NoOps" signifiquen eines i serveis que us permeten ocultar el component "operatiu" o minimitzar aquesta càrrega per al desenvolupador.

  • No treballeu amb sistemes, sinó amb interfícies d'aplicació (API).
  • No us molesteu en implementar programari: deixeu que el proveïdor ho faci per vosaltres.
  • No us inicieu a crear un marc gran de seguida: comenceu escrivint petites peces que actuaran com a "blocs de construcció", intenteu que aquest codi funcioni amb dades i esdeveniments, i no amb discos i bases de dades.

L'objectiu, com abans, és accelerar les iteracions en el desenvolupament de programari, oferir l'oportunitat de crear millors productes i que el desenvolupador no s'hagi de preocupar pels sistemes en què s'executa el seu programari. Un desenvolupador experimentat és ben conscient que centrar-se en els usuaris pot canviar ràpidament la imatge, de manera que no hauríeu d'esforçar-vos massa a escriure programari tret que estigueu absolutament segur que és necessari.

Per als professionals del manteniment i les operacions, la paraula "NoOps" pot semblar una mica espantosa. Però quan es comuniquen amb enginyers de camp, es fa obvi que els patrons i tècniques que utilitzen per garantir la fiabilitat i la fiabilitat (Site Reliability Engineering, SRE) tenen moltes similituds amb els patrons descrits anteriorment:

  • No gestioneu sistemes: automatitzeu els seus processos de gestió.
  • No implementeu programari: creeu una canalització per implementar-lo.
  • Eviteu agrupar tots els vostres serveis i deixeu que la fallada d'un d'ells faci fallar tot el sistema; disperseu-los per tota la vostra infraestructura mitjançant eines d'automatització i connecteu-los de maneres que es puguin supervisar i supervisar.

Els SRE saben que alguna cosa pot sortir malament i hauran de localitzar i solucionar el problema, de manera que automatitzen el treball rutinari i estableixen pressupostos d'error per endavant perquè estiguin preparats per prioritzar i prendre decisions quan sorgeixi un problema. .

Kubernetes a OpenShift és una plataforma dissenyada per resoldre dos problemes principals: en lloc d'obligar-vos a entendre les màquines virtuals o les API d'equilibri de càrrega, funciona amb abstraccions d'ordre superior: processos i serveis de desplegament. En lloc d'instal·lar agents de programari, podeu executar contenidors i, en comptes d'escriure la vostra pròpia pila de supervisió, utilitzar les eines que ja estan disponibles a la plataforma. Per tant, la salsa secreta d'OpenShift 4 no és cap secret: només és qüestió d'agafar els principis SRE i els conceptes sense servidor i portar-los a la seva conclusió lògica per ajudar els desenvolupadors i els enginyers d'operacions:

  • Automatitzar i estandarditzar la infraestructura que utilitzen les aplicacions
  • Enllaceu els processos de desplegament i desenvolupament sense restringir els mateixos desenvolupadors
  • Assegurar-se que llançar, auditar i assegurar el servei, funció, aplicació o pila sencera número XNUMX no sigui més difícil que el primer.

Però, quina diferència hi ha entre la plataforma OpenShift 4 i els seus predecessors i de l'enfocament "estàndard" per resoldre aquests problemes? Què impulsa l'escala dels equips d'implementació i operacions? A causa del fet que el rei en aquesta situació és el clúster. Tan,

  • Ens assegurem que el propòsit dels clústers sigui clar (Estimat núvol, vaig agafar aquest clúster perquè podia)
  • Existeixen màquines i sistemes operatius per servir el clúster (Va Majestat)
  • Gestioneu l'estat dels amfitrions des del clúster, minimitzeu la seva reconstrucció (deriva).
  • Per a cada element important del sistema, es necessita una mainadera (mecanisme) que supervisarà i eliminarà els problemes
  • La fallada de *cada* aspecte o element d'un sistema i els mecanismes de recuperació associats són una part normal de la vida
  • Tota la infraestructura s'ha de configurar mitjançant API.
  • Utilitzeu Kubernetes per executar Kubernetes. (Sí, sí, això no és una errada d'ortografia)
  • Les actualitzacions han de ser fàcils i sense problemes d'instal·lar. Si es necessita més d'un clic per instal·lar una actualització, és evident que estem fent alguna cosa malament.
  • La supervisió i la depuració de qualsevol component no hauria de ser un problema i, per tant, el seguiment i la generació d'informes a tota la infraestructura també hauria de ser fàcil i convenient.

Vols veure les capacitats de la plataforma en acció?

Una versió prèvia d'OpenShift 4 està disponible per als desenvolupadors. Amb un instal·lador fàcil d'utilitzar, podeu executar un clúster a AWS a sobre de Red Had CoreOS. Per utilitzar la vista prèvia, només necessiteu un compte d'AWS per subministrar la infraestructura i un conjunt de comptes per accedir a les imatges de vista prèvia.

  1. Per començar, aneu a try.openshift.com i feu clic a "Comença".
  2. Inicieu sessió al vostre compte de Red Hat (o creeu-ne un de nou) i seguiu les instruccions per configurar el vostre primer clúster.

Després d'una instal·lació correcta, consulteu els nostres tutorials Formació OpenShiftper obtenir una comprensió més profunda dels sistemes i conceptes que fan que la plataforma OpenShift 4 sigui una manera tan fàcil i còmoda d'executar Kubernetes.

Prova la nova versió d'OpenShift i comparteix la teva opinió. Estem compromesos a fer que el treball amb Kumbernetes sigui el més accessible i senzill possible: el futur de NoOps comença avui.

I ara atenció!
A la conferència DevOpsForum 2019 El 20 d'abril, un dels desenvolupadors d'OpenShift, Vadim Rutkovsky, farà una classe magistral: trencarà deu clústers i els obligarà a arreglar-los. La conferència és de pagament, però amb el codi promocional #RedHat obtens un 37% de descompte

Classe magistral de 17:15 a 18:15, i l'estand està obert tot el dia. Samarretes, barrets, adhesius: el de sempre!

Sala #2
"Aquí s'ha de canviar tot el sistema: reparem clústers k8s trencats juntament amb mecànics certificats".


Font: www.habr.com

Afegeix comentari