Мастерлерді қабылдаудағы негізгі қиындықтар: 2 бөлім - шешімдер

Осы екі бөлімнен тұратын блог сериясының бірінші бөлігінде (мен) мен ұйымдардың DevOps-ті қабылдау кезінде кездесетін 8 негізгі қиындықтарына назар аудардым. Енді бірнеше шешімдерді қарастырайық.

Өзгеріс басында қиын, ортасында ең қиын және соңында жақсы. - Робин С. Шарма

1. DevOps қағидаттарына сәйкес мәдениет функциясын жасау

DevOps көшбасшылары мен агенттері үшін DevOps мәдениеті қандай болатындығы және оның құндылық ағымын тездететіні туралы ұйымдағы топтар мен адамдарға үнемі ақпарат беру жолдарын табу керек. Міне, мен бірнеше рет жұмыс істедім:

Оқу және тәжірибенің қоғамдастықтары

DevOps персоналы DevOps қабылдау үшін ішкі тренинг немесе кіріспе презентациясын ұйымдастыра алады және DevOps мәдениетін ашады. Осылайша олар ұйымның барлық адамдарымен бетпе-бет алға жылжуға және кездесуге мүмкіндік береді. Электрондық поштаны немесе бейнеконференцияларды пайдалану арқылы бетпе-бет жұмыс істеуге артықшылық беріледі, өйткені адамдар сенімді осылайша тезірек дамытады, сондықтан қарым-қатынас орнату үшін кем дегенде біреуімен кездесуді мақсат етіп, командалар таратылса, роуд-шоу жүргізу ұсынылады.

DevOps білім базасы және жиі қойылатын сұрақтар

DevOps командалары білімдер базасын немесе жиі қойылатын сұрақтарды (FAQ) құрып, ұйымның барлық адамдарымен бөлісе алады, сондықтан барлығы DevOps-қа қатысты ақпаратты қайдан қажет екенін біледі. Ақпараттың көрнекілігі және оған қол жетімділік, оны өздігінен іздеуге және оқуға, тіпті өз үлесін қосуға итермелейді. Мұндай ақпаратты Atlassian Confluence немесе Microsoft Teams сияқты бірлескен платформаларда сақтауға болады.

Westrum ұйымының мәдени тәжірибелерін қолдану

Westrum ұйымының мәдениетін тәжірибе негізінде генеративті мәдениетте кездесетін тәжірибелерге шоғырландырумен Веструм иерархиялық мәдениеттің алты бөлігіне қарап деректер ағындары мен сенімділікті өсіретін генеративті мәдениетті құру үшін қолдана аламыз;

Мұнда сіз Генеративті мәдениетті қалай құра аласыз;

2.Өзгерістерге қарсы тұру

Басшылар адамдар өзгерістерге қарсы болады деп күтуі керек. ДевОпсолог Филиппа Хейлдің айтуынша, мүдделі тараптарды картаға түсіру құралдары туралы мақаласында ол өзгеріске қатысты белгілі бір топтағы адамдардың көңіл-күйі мен эмоциясын қалай шешуге болатынын талқылаған, содан кейін DevOps бастамаларына жақындау үшін әр түрлі стратегияны қолдануға болады. 6 «мінез-құлық профилі» бар және біз олармен қалай жұмыс істей аламыз;

Өңделмеген

Көрермендер

Сыншылар

Сыншылар

Көңіл көтерушілер

Адвокаттар (чемпиондар / сарапшылар)

Жоғарыда айтылғандарға сүйене отырып, байланысқа қатысты барлық қатынас тәсілдерін көре аламыз және DevOps-ті қабылдау туралы хабардар боламыз. Біз барлық топтармен тығыз жұмыс жасап, оларға көрініп, қажет болған кезде көмек беруіміз керек.

3. DevOps көрінісіне анықтық беру

DevOps CALMS шеңберін енгізу DevOps жол картасы мен мақсаттарын анықтауға көмектеседі. CALMS - бұл ұйым ішіндегі даму мен операцияларды (DevOps), функцияларды және жүйелерді біріктірудің тұжырымдамалық негізі.

DevOps көшбасшылары DevOps эволюциясының нақты жетілдіру кезеңдерімен нақты жол картасын жасауы керек. Олар оны бөлісіп, оны ұйым ішіндегі барлық адамдарға көрсетуі керек;

4.Топтық бірлестік құру

Ақпараттық технологияларды дамыту және пайдалану бойынша топтар бірлесіп жұмыс істеуді үйренуі керек. Бұл кросс-функционалды топтарды, соның ішінде әзірлеушілер мен оптарды да құруды білдіруі мүмкін, бірақ бұл көптеген ұйымдарда жұмыс істемейді. Бұл көбінесе ұйымдық өзгеріске тым қатты әсер етеді, немесе оған адамдар жетіспейді. Дәстүрлі технологиялар бөлімінің қондырғылары, мысалы, қауіпсіздік пен желінің айналасындағы АТ-операцияларға терең тақырыптық сараптаманы қосады, сондықтан адамдарға осы түрді дамытуда немесе өнім топтарында қалай бөлуге болатындығын көру қиын.

IT-операциялар бойынша топтармен үнемі кездесулер өткізуге не көмектеседі? Егер дамытушы топтар ептілік тәжірибесінің бір бөлігі ретінде күнделікті сабақтар жүргізсе, онда АТ-операцияларын қатысуға шақыру кедергілерді жоюға көмектеседі. Оларды спринтті жоспарлауға шақыру, бұл функционалды емес талаптардың спринтте қарастырылуын қамтамасыз етеді, осылайша құнды жеткізу процесін оңтайландырады.

Slack немесе Microsoft Teams тәрізді топтар арасындағы байланыс құралдары бірлесіп жұмыс істеуге мүмкіндік беріп, шынымен де көмектеседі. «Дабыл / Хабарландыру» чат тобы немесе арнасы да дұрыс басқарылуы керек, сондықтан мәселелер дұрыс шешіліп, мәселені / қатені шешу үшін дұрыс әрекеттерді қолдана отырып, тез өсуі мүмкін.

Міне, сіз ұйымда бірлесіп жұмыс істей алатын және пайдалануға болатын кейбір ынтымақтастық құралдары;

5.Стандарттау орталары

Қоршаған орта дегеніміз - кодтан құбыр арқылы нақты өнімге айналдырғыңыз келетін ресурстардың немесе мақсатты орындардың жиынтығы. Қоршаған ортаға виртуалды машиналар (VM), деректер базасының серверлері, үшінші тарап қызметтері және т.б. кіруі мүмкін. Төменде қоршаған ортаны пайдалану кезеңімен, пайдаланушымен / адаммен және қоршаған ортаны сақтауға жауапты адаммен мысал келтірілген;

Жақсы анықталған ортаның артықшылықтары мыналарды қамтиды;

  1. Орналастыру жазбалары / тарихы - Құбырдың іске қосылуының барлық мәліметтері оның ресурстарына арналған CI / CD құралдарында жазылады.
  2. Бақылау мүмкіндігі - бұл кодтың өзгеруін (орындалуын) немесе мүмкіндіктерді / қателерді түзетуді (жұмыс элементтерін) қоршаған ортаға жеткен-келмегенін бақылауға мүмкіндік береді.
  3. Рұқсат / Басқару - қай пайдаланушыға рұқсат етілгенін және қай мақсатты ортаны қолдануға болатындығын көрсете отырып, қауіпсіз орта.

Автоматтандыру ортасын қамтамасыз ету үздіксіз жеткізу процесінде сәттіліктің маңызды факторы болып табылады. Әзірлеушілер тобы жаңа қоршаған ортаны қорғауды сұрай ала ма және сіздің ортаңыз қосымша ретінде қолдану арқылы қамтамасыз етіле ме? Қолдану ортасын 3 негізгі бағытқа бөлуге болады:

1. Инфрақұрылым

2. Конфигурация

3. Тәуелділіктер

Инфрақұрылым - бұл қосымшаның немесе қызметтің орналастырылатын орны және қосымша белгілі бір конфигурация қажеттіліктерін орындайтын орын. Сонымен қатар, тәуелділіктер қосымшамен қалай интеграциялануы керек. Қазіргі уақытта инфрақұрылым сценариймен қамтамасыз етілуі мүмкін немесе оны «код ретінде инфрақұрылым» немесе қысқаша IaC деп атайды. IaC бүгінгі күні қоршаған ортаны қорғаудың барлық процесін автоматтандыру үшін қол жетімді құралдардың кең спектрі арқылы қол жетімді болды.

Конфигурация қолдану ортасының келесі маңызды аспектісі болып табылады. Конфигурация қосымшаның берілген инфрақұрылымдағы қалай құрылатындығын және инфрақұрылымның негізгі қосымшаны қалай байланыстыратынын да ескертеді.

Тәуелділіктер - бұл қосымшаларға байланысты кітапханалардан бастап қызметтерге немесе басқа қосымшаларға байланысты әртүрлі модульдер немесе жүйелер.

Қоршаған ортаны автоматтандыруды келесідей түрде қолданудың артықшылығы;

  • DevOps командаларына абстракцияның жоғары деңгейінде жұмыс істеуге мүмкіндік беру арқылы күрделіліктің төмендеуі.
  • Қолданбаларды орналастыруға динамикалық түрде жауап беру арқылы тұрақтылықты жоғарылату.
  • Бағдарламалық жасақтаманың хостинг ортасынан конфигурацияны басқаруды азайту арқылы икемділікті арттыру.

Біз нарықта жоғарыда аталған барлық 3 бағыт бойынша автоматтандырылған қамтамасыз етуді қолдана алатын ашық көзі бар ма, кәсіпорын бола ма, көптеген құралдар бар;

6. DevOps құралдарын құрастыру және оны өзіне-өзі қызмет ету

DevOps қабылдау мақсаттары мен процестері анықталғаннан кейін, біз процестерді қанағаттандыру үшін қажетті құралдарды анықтай аламыз. Ұйымның жұмысына сәйкес келетін құралдар туралы шешім қабылдау үшін АТ және жұмыс жасайтын топтардың бірлесіп жұмыс жасайтынына көз жеткізіңіз. Кез-келген жаңа құралмен жұмыс істейтін жұмысшыларды оқыту керек. Бұл құралдардың қауіпсіздік талаптарына сай болуын және қолда бар ресурстар мен қызметтермен жақсы біріктірілгендігін қамтамасыз ету үшін де қажет.

** Жоғарыда келтірілген бөлімдер үшін нарықта қол жетімді бірнеше құралдар тізімін атаңыз.

7. Шығаруды тездетуді басқару

Біз қоршаған ортаны дұрыс анықтағаннан кейін, DevOps басшылары тиісті босату құбырын жасауы керек, ол бізге орналастыру үшін автогиггер қажет болған кезде, орналастыруды алдын-ала бекіту қақпасы қажет болған кезде және QA / тестілеу сатысы қажет болған кезде қажет. Төмендегі суретте автокөлік және қолмен орналастырумен бірге негізгі шығару құбыры көрсетілген;

Тиісті шығару құбыры, құрылыс, интеграция, тестілеу, жеткізілім және басқа процестерді автоматтандыру қажет болған жағдайда, бұл әр шығарылымдағы адамның іс-әрекетін, сондай-ақ басқару мен үйлестіруді азайтады.

Дамуды жеделдету бәсекелестік артықшылыққа айналғандықтан, DevOps тобы үздіксіз интеграцияны және үздіксіз таратуды (CI / CD) қосуға тырысты. CI / CD әзірлеушілерге және АТ операцияларына бағдарламалық жасақтаманы әзірлеу мен тестілеу процесінде үлкен қиындықтарды жеңуге көмектеседі. Бірнеше жылдар бойы бағдарламалық жасақтама өндірісі миллиардтаған смартфондар мен басқа да мобильді тұтынушы құрылғылар мен платформалардан туындайтын сұранысты сақтап қалу үшін үлкен ресурстар бар кәсіпорын деңгейінен кішігірім даму топтарына көшті. Төменде CI / CD құбырларының мысалы бар.

Біздің жағдайда біз құралдар жиынтығын қолдануды жөн санаймыз, өйткені бұл біздің күрделі қажеттіліктеріміз үшін ең жақсы шешім болатын сияқты. Кәсіпорын өнімдерін жасайтын командалардың көпшілігі осындай негіздеуді қолданудан пайда көреді. Біздің құрал-саймандар жиынтығымыз:

  1. Atlassian JIRA - бұл өнімнің артта қалуы, Sprint жоспарлау және шығарылым туралы есеп және команданың әр спринтте қаншалықты жақсы жұмыс істейтіндігі.
  2. Github - үлестірілген нұсқаларды басқару жүйесі (DVCS), мұнда әзірлеушілер бір-бірімен байланысып, өнімнің сипаттамалық кодын жақсарту және өзгерістер мен код нұсқаларында көріну үшін жұмыс істейді. Кез келген өзгертулерді басқа әзірлеушілер немесе Code Reviewer қарап шығуы керек, олар кодты неғұрлым таза және қателік / қателерді аз шығарды.
  3. Azure DevOps - бұл біздің CI / CD құбырларын құрастыру үшін қолданатын құрал және сонымен қатар DevOps инженері, әзірлеушісі, шығарылым менеджері және QA тобы арасындағы көбірек жұмыс істейтін орын. Бұл сонымен қатар өнімді сапалы жеткізу үшін интеграция орын алатын орын, сондықтан өндіріс ортасына кірмес бұрын қауіпсіздік талдауы мен QA тестілеуі өткізіледі.
  4. Datadog - бұл бақылау құралы, Datadog көмегімен сіз өзіңіздің серверлеріңізді, бұлттарыңызды, өлшемдеріңізді, бағдарламаларыңыз бен тобыңызды бірге бақылай аласыз. Бұл сіздің қоршаған ортаңызға және өнімдеріңізге арналған барлық түрдегі мониторлар үшін бір терезе сияқты.

Тиімді CI / CD құбыры нарыққа шығатын уақытты едәуір жақсарта алады және бағдарламалық қамтамасыз етудің сапасы мен тұрақтылығы сақталмайды.

8. Автоматтандырылған тестілеу

DevOps автоматтандыруды алға тартады және адамның араласуын қажет етпейтін күнделікті тапсырмаларды мүмкіндігінше көп автоматтандыруды мақсат етеді. QO сарапшыларын DevOps команда құрамына қосу командаға ең жақсы тәсілді немесе тестілеу құралдарын автоматтандыруға болатындығын шешуге көмектеседі. Автоматика құралдары, әдетте, қолданбалы немесе жүйелік қателіктерді тексеруге қатысты болған кезде жұмыс істейді, бірақ QA тестілеуі ыңғайлылық пен шығарылым дайындығын тексерудің анағұрлым жақсы жұмысын жасайды.

Автоматтандырылған үздіксіз тестілеуді CI / CD құбырына біріктіру үшін құрастыру, сынауды автоматтандыру және CI / CD қондырғыларымен біріктіру оңай, сізде бұрыннан қолданылған және кең API API қолдауы бар қосымшаның тестілеуі қажет. Автоматтандырылған үздіксіз тестілеуді қолданудың пайдасы келесідей:

Тұрақтылық. Бұл сізге сапа және қауіпсіздік деректемелерін дәйекті қолдануға көмектеседі. Егер сіз қолмен қауіпсіздік сынағын жазып, оны автоматтандырсаңыз, бұл сіз кез-келген құрылыста қолдануға болатын қауіпсіздік талабына айналады.

Жылдамдық. Автоматтандырылған үздіксіз тестілеудің көмегімен масштабталатын құралдардың көмегімен әзірлеушілер SDLC-де нақты уақытта мәселелерді таба алады және реттей алады. Бұл қосымшаның дамуын тездетеді және қолмен тексеруге қатысты қателіктердің алдын алады.

Масштаб. Қолмен тестілеуді кеңейту үшін сізге көбірек қолмен тексерушілер қажет. Автоматтандырылған тестілеу көлемін кеңейту үшін сізге қосымша бағдарламалар мен сынақтарды жасау қажет.

Қорытынды

DevOps Adoption - бұл ұйымның сәулеті мен мақсаттарын талдаудан басталатын сапар. DevOps Adoption бағдарламасындағы осы жалпы мәселелерді шешу трансформацияны біршама жұмсартады. Уақыт өте келе, ұйымның кез келген тобы немесе адамы DevOps өзгерістеріне үйреніп, үздіксіз оқу процестеріне бейімделеді. Әзірлеу, пайдалану және менеджмент бойынша топтар бірлесіп жұмыс істеуді үйренген соң, олар автоматты түрде бір-біріне көмектеседі және DevOps Adoption мақсатын мұрағаттау үшін тығыз ынтымақтастық жасайды.