Moderní platforma pro vývoj a nasazení softwaru

Toto je první ze série příspěvků o změnách, vylepšeních a doplňcích v nadcházející aktualizaci platformy Red Hat OpenShift 4.0, která vám pomůže připravit se na přechod na novou verzi.

Moderní platforma pro vývoj a nasazení softwaru

Od chvíle, kdy se začínající komunita Kubernetes poprvé shromáždila v kanceláři Google v Seattlu na podzim roku 2014, byl projekt Kubernetes předurčen k tomu, aby způsobil revoluci ve způsobu, jakým se dnes vyvíjí a nasazuje software. Poskytovatelé veřejných cloudových služeb přitom nadále aktivně investovali do rozvoje infrastruktury a služeb, což práci s IT a tvorbu softwaru výrazně usnadnilo a zpřístupnilo a učinilo je neuvěřitelně cenově dostupnými, což si na začátku roku málokdo dokázal představit. desetiletí.

Oznámení každé nové cloudové služby samozřejmě provázely četné diskuse mezi odborníky na Twitteru a debaty se vedly na nejrůznější témata – včetně konce éry open source, úpadku on-premise IT a nevyhnutelnosti nového softwarového monopolu v cloudu a jak nové paradigma X nahradí všechna ostatní paradigmata.

Netřeba dodávat, že všechny tyto spory byly velmi hloupé

Realita je taková, že nic nezmizí a dnes můžeme pozorovat exponenciální růst koncových produktů a způsobu jejich vývoje v důsledku neustálého objevování nového softwaru v našich životech. A přesto, že se vše kolem změní, zároveň v podstatě vše zůstane beze změny. Softwaroví vývojáři budou stále psát kód s chybami, provozní inženýři a specialisté na spolehlivost budou stále chodit s pagery a přijímat automatická upozornění ve Slacku, manažeři budou stále pracovat v konceptech OpEx a CapEx a pokaždé, když dojde k selhání, starší vývojář smutně povzdechne se slovy: „Říkal jsem ti to“...

opravdu by se mělo diskutovat, jsou nástroje, které můžeme mít k dispozici k vytváření lepších softwarových produktů a jak mohou zlepšit zabezpečení a usnadnit a usnadnit vývoj. S tím, jak se projekty stávají složitějšími, vznikají nová rizika a životy lidí jsou dnes natolik závislé na softwaru, že se vývojáři prostě musí snažit dělat svou práci lépe.

Kubernetes je jedním z takových nástrojů. Pracuje se na spojení Red Hat OpenShift s dalšími nástroji a službami do jediné platformy, která by učinila software spolehlivějším, snadněji spravovatelným a bezpečnějším pro uživatele.

Na základě toho si tým OpenShift klade jednu jednoduchou otázku:

Jak si můžete usnadnit a zpříjemnit práci s Kubernetes?

Odpověď je překvapivě jasná:

  • automatizovat složité aspekty nasazení v cloudu nebo mimo cloud;
  • zaměřit se na spolehlivost a zároveň skrýt složitost;
  • pokračovat v neustálé práci na vydávání jednoduchých a bezpečných aktualizací;
  • dosáhnout ovladatelnosti a auditovatelnosti;
  • snažit se zpočátku zajistit vysokou bezpečnost, ale ne na úkor použitelnosti.

Příští vydání OpenShift by mělo zohlednit jak zkušenosti tvůrců, tak zkušenosti ostatních vývojářů, kteří implementují software ve velkém v největších společnostech na světě. Kromě toho musí vzít v úvahu všechny nashromážděné zkušenosti z otevřených ekosystémů, které jsou základem dnešního moderního světa. Zároveň je nutné opustit starou mentalitu amatérského vývojáře a přejít k nové filozofii automatizované budoucnosti. Potřebuje překlenout propast mezi starými a novými způsoby nasazování softwaru a plně využít veškerou dostupnou infrastrukturu – ať už je hostována největším poskytovatelem cloudu, nebo běží na malých systémech na okraji.

Jak tohoto výsledku dosáhnout?

V Red Hatu je zvykem dělat nudnou a nevděčnou práci po dlouhou dobu, aby se zachovala zavedená komunita a zabránilo se uzavírání projektů, na kterých se společnost podílí. Open-source komunita obsahuje obrovské množství talentovaných vývojářů, kteří vytvářejí ty nejneobyčejnější věci – zábavné, vzdělávací, otevírající nové příležitosti a prostě krásné, ale samozřejmě nikdo neočekává, že se všichni účastníci budou ubírat stejným směrem nebo usilovat o společné cíle. Využití této energie a její přesměrování správným směrem je někdy nutné k rozvoji oblastí, které by byly přínosem pro naše uživatele, ale zároveň musíme sledovat vývoj našich komunit a učit se od nich.

Na začátku roku 2018 Red Hat získal projekt CoreOS, který měl podobné názory na budoucnost – bezpečnější a spolehlivější, vytvořený na open-source principech. Společnost pracovala na dalším rozvoji těchto myšlenek a jejich implementaci a uvedla do praxe naši filozofii – snaží se zajistit, aby veškerý software fungoval bezpečně. Celá tato práce je postavena na Kubernetes, Linuxu, veřejných cloudech, soukromých cloudech a tisících dalších projektů, které jsou základem našeho moderního digitálního ekosystému.

Nová verze OpenShift 4 bude přehledná, automatizovaná a přirozenější

Platforma OpenShift bude fungovat s těmi nejlepšími a nejspolehlivějšími operačními systémy Linux, s hardwarovou podporou na bázi kovu, pohodlnou virtualizací, automatickým programováním infrastruktury a samozřejmě kontejnery (což jsou v podstatě jen linuxové obrazy).

Platforma musí být zabezpečená od samého začátku, ale stále musí vývojářům umožňovat snadnou iteraci – to znamená být dostatečně flexibilní a zabezpečená a přitom správcům umožnit snadno ji auditovat a spravovat.

Mělo by umožnit provozování softwaru „jako službu“ a nemělo by to vést k nekontrolovatelnému růstu infrastruktury pro operátory.

Umožní vývojářům soustředit se na vytváření skutečných produktů pro uživatele a zákazníky. Nebudete se muset brodit džunglí nastavení hardwaru a softwaru a všechny náhodné komplikace budou minulostí.

OpenShift 4: Platforma NoOps, která nevyžaduje údržbu

В této publikace popsal ty úkoly, které pomohly utvářet vizi společnosti pro OpenShift 4. Cílem týmu je co nejvíce zjednodušit každodenní úkoly spojené s provozem a údržbou softwaru, aby tyto procesy byly snadné a uvolněné – jak pro specialisty zapojené do implementace, tak pro vývojáře. Jak se ale k tomuto cíli přiblížit? Jak vytvořit platformu pro běh softwaru, který vyžaduje minimální zásahy? Co v tomto kontextu vůbec znamená NoOps?

Pokud se pokusíte abstrahovat, pak pro vývojáře pojmy „bez serveru“ nebo „NoOps“ znamenají nástroje a služby, které vám umožní skrýt „provozní“ komponentu nebo minimalizovat tuto zátěž pro vývojáře.

  • Nepracujte se systémy, ale s aplikačními rozhraními (API).
  • Neobtěžujte se implementací softwaru – nechte poskytovatele, aby to udělal za vás.
  • Nepouštějte se hned do vytváření velkého rámce – začněte psaním malých částí, které budou fungovat jako „stavební kameny“, snažte se, aby tento kód fungoval s daty a událostmi, a ne s disky a databázemi.

Cílem je stejně jako dříve urychlit iterace ve vývoji softwaru, poskytnout možnost vytvářet lepší produkty a vývojář se nemusí starat o systémy, na kterých jeho software běží. Zkušený vývojář si dobře uvědomuje, že zaměření na uživatele může rychle změnit obrázek, takže byste neměli vynakládat příliš mnoho úsilí na psaní softwaru, pokud si nejste absolutně jisti, že je to potřeba.

Pro odborníky na údržbu a provoz může slovo „NoOps“ znít trochu děsivě. Ale při komunikaci s terénními inženýry je zřejmé, že vzory a techniky, které používají, zaměřené na zajištění spolehlivosti a spolehlivosti (Site Reliability Engineering, SRE) mají mnoho podobností s výše popsanými vzory:

  • Nespravujte systémy – automatizujte jejich procesy správy.
  • Neimplementujte software – vytvořte kanál pro jeho nasazení.
  • Vyhněte se sdružování všech služeb dohromady a nedopusťte, aby selhání jedné způsobilo selhání celého systému – rozmístěte je po celé infrastruktuře pomocí automatizačních nástrojů a propojte je způsoby, které lze monitorovat a monitorovat.

SRE vědí, že se něco může pokazit a budou muset problém vystopovat a opravit – takže automatizují rutinní práci a předem nastavují rozpočty na chyby, aby byli připraveni stanovit priority a rozhodovat, když nastane problém.

Kubernetes v OpenShift je platforma navržená tak, aby řešila dva hlavní problémy: místo toho, aby vás nutila rozumět virtuálním strojům nebo rozhraní API pro vyrovnávání zatížení, pracuje s abstrakcemi vyššího řádu – procesy nasazení a služby. Místo instalace softwarových agentů můžete spouštět kontejnery a místo psaní vlastního monitorovacího zásobníku používat nástroje, které jsou již v platformě k dispozici. Tajná omáčka OpenShift 4 tedy opravdu není žádným tajemstvím – jde jen o to vzít principy SRE a koncepty bez serveru a dovést je k jejich logickému závěru, aby pomohly vývojářům a provozním inženýrům:

  • Automatizujte a standardizujte infrastrukturu, kterou aplikace používají
  • Propojte procesy nasazení a vývoje, aniž byste omezovali samotné vývojáře
  • Zajistit, aby spuštění, auditování a zabezpečení XNUMX. služby, funkce, aplikace nebo celého zásobníku nebylo o nic obtížnější než první.

Jaký je však rozdíl mezi platformou OpenShift 4 a jejími předchůdci a od „standardního“ přístupu k řešení takových problémů? Co řídí rozsah implementačních a provozních týmů? Vzhledem k tomu, že králem v této situaci je cluster. Tak,

  • Ujistíme se, že účel shluků je jasný (Vážený mrak, zvedl jsem tento shluk, protože jsem mohl)
  • Existují stroje a operační systémy, které slouží klastru (Vaše Veličenstvo)
  • Spravujte stav hostitelů z clusteru, minimalizujte jejich přestavbu (drift).
  • Pro každý důležitý prvek systému je potřeba chůva (mechanismus), která bude problémy sledovat a odstraňovat
  • Selhání *každého* aspektu nebo prvku systému a souvisejících mechanismů obnovy jsou normální součástí života
  • Celá infrastruktura musí být konfigurována přes API.
  • Ke spuštění Kubernetes použijte Kubernetes. (Ano, ano, to není překlep)
  • Instalace aktualizací by měla být snadná a bezproblémová. Pokud instalace aktualizace vyžaduje více než jedno kliknutí, pak evidentně děláme něco špatně.
  • Monitorování a ladění jakékoli komponenty by nemělo být problém, a proto by mělo být snadné a pohodlné i sledování a hlášení napříč celou infrastrukturou.

Chcete vidět možnosti platformy v akci?

Předběžná verze OpenShift 4 je k dispozici vývojářům. Pomocí snadno použitelného instalačního programu můžete provozovat cluster na AWS nad Red Had CoreOS. Chcete-li použít náhled, potřebujete pouze účet AWS pro poskytování infrastruktury a sadu účtů pro přístup k náhledovým obrázkům.

  1. Chcete-li začít, přejděte na stránku try.openshift.com a klikněte na „Začít“.
  2. Přihlaste se ke svému účtu Red Hat (nebo si vytvořte nový) a podle pokynů nastavte svůj první cluster.

Po úspěšné instalaci si prohlédněte naše návody Trénink OpenShiftabyste hlouběji porozuměli systémům a konceptům, díky nimž je platforma OpenShift 4 tak snadným a pohodlným způsobem spouštění Kubernetes.

Vyzkoušejte novou verzi OpenShift a podělte se o svůj názor. Zavázali jsme se, že práce s Kumbernetes bude co nejpřístupnější a bez námahy – budoucnost NoOps začíná dnes.

A nyní pozornost!
Na konferenci DevOpsForum 2019 20. dubna uspořádá jeden z vývojářů OpenShift, Vadim Rutkovsky, master class – rozbije deset clusterů a donutí je opravit. Konference je placená, ale s propagačním kódem #RedHat získáte slevu 37 %.

Master class v 17:15 - 18:15 a stánek je otevřen celý den. Trička, čepice, samolepky - obvyklé!

Hala #2
„Zde je potřeba změnit celý systém: opravujeme rozbité clustery k8s společně s certifikovanými mechaniky.“


Zdroj: www.habr.com

Přidat komentář