Концепцията за облачните услуги не е нова, но все по-голямото ѝ навлизане в корпоративния свят налага по-различен подход към традиционните методи за опериране. CloudOps моделът се оформя под въздействието на тези нови потребности на бизнеса като симбиоза между традиционните ITOps и DevOps. ITops не са достатъчно гъвкави и динамични за оперирането на сложните облачни решения, a DevOps от своя страна осигурява необходимата гъвкавост чрез автоматизация, инструменти и скалируемост.

Какво е CloludOps?

В основата на CloudOps модела лежи идеологията за 24/7 достъпни облачни услуги (continuous operation). Това означава, че автоматизацията, постоянният мониторинг и дублирането (redundancy) на системи и ресурси са неразделна част от CloudOps екипите. За разлика от DevOps модела, основният фокус е върху Ops, а не върху Dev. Това ще рече, че докато при DevOps говорим за автоматизиране на разработването, тестването и внедряването на софтуер, то тук говорим за автоматизиране на неговата поддръжка (ъпдейти, скалиране, провизиране на клиенти и т.н.). Всичко това отново се случва в близко сътрудничество с dev екипите.  От тях се заемат доказано добри практики като контрол на версиите (version control). Така се появява тенденцията за третирането на всичко като код (Everything as Code), което позволява процесите да са повторяеми и лесни за оптимизиране, а промените по средите – предвидими и обратими. Това прави възможно оперирането на продукт с 500 000 активни потребителя по същия начин като такъв с 50.

Целта на CloudOps е да осигури на бизнеса надеждни облачно-базирани решения без прекъсвания, функциониращи ефективно в дългосрочен план. Това е нелесна задача поради факта, че изискванията към софтуера се повишават, както и желанието на бизнеса за бързо доставяне на нови функционалности. Този модел набира все повече популярност в компаниите и това се дължи на факта, че тенденцията вече не е в преминаването към облачни решения, а към извличането на максимална полза от тях.

Как работим в един CloudOps екип в SAP?

Като CloudOps инженери, с колегите от моя екип трябва да сме достатъчно гъвкави, за да можем да постигнем нашият SLA. В динамичния свят на облака има доста пречки от страна на стандартизация на работа. Това, което извличаме от DevOps модела, са именно процесите и процедурите. Разбира се, не говорим за най-опростените “how to” ръководства, а за колекцията от специализирани методологически принципи, синтезирани от най-добрите практики – ITIL. Просто като модел на работа, те не биха ни помогнали особено много. Поради тази причина ние модифицираме част от ITIL практиките, за да паснат на нашия начин на работа.

Най-важните систематични подходи, които адаптираме към нашият процес на работа, са:

– Управление на инциденти (Incident management)  – Това е процес, който описва най-добрите практики и стъпки за разрешаването на проблем със система, услуга, клиентски акаунт. От гледна точка на всеки един клиент, това облачният продукт да е постоянно достъпен, е едно от най-търсените неща, и ние като CloudOps екип трябва да го подсигурим. Точно тук се включва управлението на инциденти, което ни помага да подсигурим, че крайният потребител ще има възможност винаги да използва своя SaaS/PaaS/IaaS.
– Управление на проблеми (Problem management) – Това е следващата стъпка след процеса за управление на инциденти. След всяко едно прекъсване на клиентска услуга е логично то да бъде отстранено и да се подсигури, че няма да се повтори. Тук т.нар. анализ на причината за проблема (Root Cause Analysis) влиза в употреба, за да ни помогне да намерим какво точно е предизвикало инцидента.
– Управление на капацитета (Capacity management) – Разбира се, облакът не е локалната инсталация (on-premise) за всеки клиент, в него има огромен брой виртуални системи в един център за данни (data center). Като CloudOps екип трябва да подсигурим, че винаги има свободни ресурси за нови клиенти, както и за равномерното разпределение на всички, които вече използват своята среда.
– Управление на достъпа (User & Access management) – Не всеки има достъп до системи и функционалности в една голяма облачна среда. Ако не беше така, щяхме да имаме голям проблем със сигурността. Именно за това, администрирането на облачната среда и задачата кой има достъп е важна част.
– Управление на промените (Change management) – Едно облачно решение няма как да е конкурентно способно, ако то не предоставя нови функционалности своевременно. За да бъде това възможно обаче, има доста страни, които трябва да се разгледат. Това дали инфраструктурата е способна да понесе новите изисквания, самият софтуер да бъде обновен, платформата да може да поддържа всички нови функции и т.н. Точно тук процеса за управление на промени ни помага да разпределим малкото време, с което разполагаме, за да може всичко да мине по невидим за клиентите начин.

Имайки под внимание всички тези ключови точки от работата с облака, вече е ясно, че те няма как да работят само от  9ч. до 18 ч. Още повече като се вземе под внимание и това, че клиентите може да са от цял свят, което означава различни часови зони и работно време.

Решението на проблема е семпло – 24/7. Това не са просто няколко човека на смени. Става въпрос за множество екипи с една цел: клиентът на първо място, като екипите работят в синхрон заедно с колегите от Ops и Dev екипите. Всичко това е един цикъл на прецизна работа, което ни позволява да имаме днешния облак.

Какво прави всъщност един CloudOps инженер?

CloudOps инженер не означава добре познатия на мнозина системен администратор. Наборът от умения и знания за такава позиция трябва да е обширен. Съвременният облак е изграден от три слоя: SaaS, PaaS и IaaS. Като започнем от основата, а именно инфраструктурата, тук се намират мрежата и хардуера. За оперирането на този слой се нуждаем от знания за сървъри, управлението на  виртуални машини, дискови масиви, управление на мрежи и защитни стени.

Нека преминем към самата платформа или PaaS. Това, което ни е необходимо тук, са познания по операционни системи и всеки един от компонентите, които изграждат.  Върхът на пирамидата – SaaS,е функционалността, която е най-подходяща за крайни потребители или краен продукт, който е предназначен за решаването на конкретен бизнес проблем. Оперирането на тази част от облака зависи строго от вида на продукта, но в повечето сценарии включва четене на логове, познания за поддържания софтуер и базови познания по програмиране.

Ежедневната работа на един CloudOps инженер включват задачи, характерни за DevOps модела. Такива например са доставяне на нови версии на продуктите, автоматизация на процеси и задачи и разработване на инструменти улесняващи процеса на работа. В много случаи използваният мониторинг е вътрешна разработка на самия CloudOps екип, за да изпълнява най-пълно и най-точно изискванията на приложението и бизнеса. Мониторинг софтуерът трябва да дава ясно отражение на това, което вижда клиента. За да бъде това възможно, е необходимо доста по-тясно сътрудничество с разработчиците. Друг важен позитив от елиминирането на силозите с dev екипите е това, че откриването и отстраняването на проблеми може да бъде извършено с тяхна помощ, което значително ускорява процеса. Облачните платформи предоставят голяма гъвкавост на съвременните IT отдели, което позволява значително да се намали времето за пускането на един продукт на пазара (Time to market), но това внася допълнителна динамика в работната среда на един CloudOps отдел. Това налага определена умствена нагласа (mindset) на инженерите, насочена към постоянно подобряване и промяна на съществуващите процеси. Навлизането на нови продукти за поддръжка от CloudOps екипа налага промяната на съществуващите процеси (при нужда), така че най-добре да пасват на работния поток без да пречат.

Като обобщение може да се каже, че CloudOps въплъщават най-добрите практики и процедури, които позволяват на базираните на облака платформи и приложения и данните които живеят в тях, да функционират устойчиво.


За авторите:

Страхил Дамянов, CloudOps инженер

В момента работя като CloudOps инженер в SAP. Отговаряме за голям аналитичен продукт с много клиенти по целия свят, работещ на две различни облачни платформи. Участвам в два големи проекта в рамките на екипа – Change management  и Problem management. Професионалният ми опит започна с 3-месечен стаж като VMware и Windows администратор във Vivacom, а следващите 2 години и половина работих като Linux, Unix и Storage администратор, отново в същата компания. Завършвам специалност Информационни технологии в Пловдивски университет „Паисий Хилендарски“.

 

 

 

 

Васил Бояджиев, CloudOps engineer

Текущата ми позиция е Cloud Operations Engineer към SAP. Освен задачите свързани с постоянно развиващият се Cloud Solution, който оперираме, се грижа и за един от главните процеси в екипът ни – Incident management. Притежавам опит в сферата на висшето образование и много технически познания като Virtualization, Network и други, идващ от предишната ми позиция на Technical support при “Университета по Библиотекознание и Информационни технологии” в гр. София. Висшето ми образование е на път да приключи, отново в същия университет.

 

 

Share This