DevOps инструменти, които всеки трябва да научи през 2020 г

Започнете да използвате най-добрите DevOps инструменти днес!

DevOps инструменти, които всеки трябва да научи през 2020 г
Революцията на DevOps най-накрая превзе света и инструментите на DevOps станаха невероятно популярни. Според услугата Google Trends, броят на заявките за „инструменти DevOps“ непрекъснато нараства и тази тенденция продължава.

Методологията на DevOps обхваща целия жизнен цикъл на разработка на софтуер, така че професионалистите могат да избират от различни инструменти. Но, както знаете, никой инструмент не може да стане универсален инструмент за всички. Някои решения обаче предлагат толкова широк набор от функции, че могат да се справят с почти всяка задача.

Нека разделим инструментите DevOps на категории и да ги сравним с аналози:

  • инструменти за разработка и изграждане
  • инструменти за автоматизация на тестове
  • инструменти за организиране на внедряването
  • Инструменти за изпълнение
  • инструменти за сътрудничество.

Успешна и обмислена реализация DevOps практик включва инструменти от всичките пет групи, изброени по-горе. Анализирайте текущия набор от инструменти във вашия проект, за да не пропуснете важен елемент от CI/CD тръбопровода.

Инструменти за разработка и изграждане

DevOps инструменти, които всеки трябва да научи през 2020 г
Това е основата на CI/CD конвейерния стек. Всичко започва точно тук! Най-добрите инструменти в тази категория могат да управляват множество потоци от събития и да се интегрират лесно с други продукти.

На този етап от жизнения цикъл на разработката има три групи инструменти:

  • система за контрол на версиите (SCM)
  • непрекъсната интеграция (CI)
  • Управление на данни

GIT имаше положителен опит през 2020 г., така че вашият SCM инструмент трябва да има безпроблемна поддръжка за GIT. За CI предпоставка е способността да се изпълняват и изпълняват компилации в изолирана контейнерна среда. Що се отнася до управлението на данни, това изисква възможността да се правят промени в схемата на базата данни и да се поддържа базата данни според версията на приложението.

SCM + CI инструмент #1

Победител: GitLab и GitLab-CI

DevOps инструменти, които всеки трябва да научи през 2020 г
Най-добрият инструмент от цикъла DevOps за 2020 г. без съмнение е GitLab и той определено ще продължи да води иновациите в близко бъдеще.

Основната функция на GitLab е да осигури удобно управление на Git хранилище. Уеб интерфейсът е интуитивен и лесен за използване. GitLab предоставя всичко необходимо в безплатна версия и се предлага като SaaS и on-prem (използвайки вашите собствени ресурси за хостване на софтуер).

Никой друг SCM инструмент не е използвал непрекъсната интеграция (CI) директно във вашето хранилище и GitLab прави това от дълго време. За да използвате GitLab-CI, трябва да добавите файл .gitlab-ci.yml към корена на вашия изходен код и всички промени в проекта ще задействат действия въз основа на точно това, което сте посочили. GitLab и GitLab-CI са заслужено признати за лидери в областта на непрекъснатата интеграция (CI-as-code).

Основни предимства

  • Надеждност - Продуктът е на пазара от 2013 г.; стабилен; добре поддържан.
  • Отворен код – безплатната версия на GitLab не ограничава основната функционалност, от която се нуждаят екипите за разработка. Платените пакети услуги предоставят допълнителни полезни функции за компании с различни размери и нужди.
  • Engrained CI – Никой друг инструмент на пазара не е изградил непрекъсната интеграция директно в SCM като GitLab-CI. Използването на Docker гарантира безпроблемни изолирани компилации, а вградените отчети улесняват отстраняването на грешки. Ние не изискваме сложна интеграция и управление на множество инструменти едновременно.
  • Неограничени интеграции - GitLab осигурява лесна интеграция на всички DevOps инструменти, от които се нуждаете. Това гарантира, че екипите за разработка и поддръжка имат един източник на информация за тяхното приложение във всяка среда.

конкуренти

Участва в битката, но не победи

Има и други популярни инструменти в тази категория, но те не са толкова добри, колкото GitLab. И ето защо:

GitHub — Това е отлична система за контрол на версиите SaaS за малки компании и ранни етапи на разработка. За големите компании, за които е важно да поддържат IP адреси в собствената си мрежа, единственото решение от GitHub беше виртуалната машина .OVA без поддръжка за системи с висока наличност. Това затруднява поддръжката на място; освен това .OVA е подходящ само за средни предприятия, в противен случай сървърът просто ще се срине при по-голямо натоварване. Липсата на GitHub Actions (доскоро и все още не в on-prem версия) или CI-as-code означава, че трябва да изберете отделен CI инструмент и след това да управлявате тази интеграция. И накрая, GitHub е много по-скъп от всяка версия на GitLab.

Дженкинс — Въпреки че Дженкинс се счита за стандарт сред инструментите за непрекъсната интеграция по подразбиране, винаги са му липсвали възможности за контрол на версиите. Оказва се, че използвате Jenkins плюс някакъв SCM инструмент. Твърде трудно е, когато GitLab може да прави и двете. Посредственият UX дизайн не е подходящ за модерно уеб приложение и оставя много да се желае.

BitBucket/Бамбук — Трябва да го призная за автоматичен губещ: защо два инструмента, когато GitLab прави всичко напълно независимо. BitBucket Cloud поддържа функционалността GitLab-CI / GitHub Action, но никоя компания, по-голяма от стартираща компания, не може лесно да я внедри. Вграденият BitBucket сървър дори не поддържа BitBucket тръбопроводи!

#1 Инструмент за управление на данни

Победител: FlywayDB

DevOps инструменти, които всеки трябва да научи през 2020 г
При разработката на уеб приложения на автоматизацията на бази данни обикновено не се придава значение. Идеята за внедряване на промени в схемата на базата данни за нови версии на приложението идва късно. Промените в схемата често водят до добавяне и преименуване на колони или таблици. Ако версията на приложението не съответства на версията на схемата, приложението може да се срине. Освен това, управлението на промените в базата данни при актуализиране на приложение може да бъде предизвикателство, тъй като има две различни системи. FlyWayDB решава всички тези проблеми.

Основни предимства

  • Версии на бази данни - Flyway ви позволява да създавате версии на база данни, да проследявате миграции на база данни и лесно да прехвърляте или връщате промените в схемата без допълнителен инструмент за това.
  • Двоичен или вграден - Можем да изберем да стартираме Flyway като част от приложението или като двоичен изпълним файл. Flyway проверява съвместимостта на версиите при стартиране и стартира подходящите миграции, поддържайки синхронизирани версиите на базата данни и приложението. Чрез изпълнение на командата cmd line ad-hoc ние предоставяме гъвкавост на съществуващите бази данни, без да изграждаме отново цялото приложение.

конкуренти

Участва в битката, но не победи

В тази област няма много инструменти. Нека да разгледаме някои от тях:

LiquiBase — Liquibase прилича на FlywayDB. Бих искал да го настроя върху Flyway, ако имах някой в ​​моя екип с повече опит с Liquibase.

Флокър - Може да работи само за приложения в контейнери. За да управлявате успешно контейнеризирани бази данни, всичко трябва да бъде планирано перфектно. Препоръчвам да използвате RDS (Relational Database Service) за бази данни и не съветвам да съхранявате важна информация в контейнер.

Инструменти за автоматизация на тестове

DevOps инструменти, които всеки трябва да научи през 2020 г
Нека започнем нашето обсъждане на инструментите за автоматизация на тестове, като ги класифицираме въз основа на тестовата пирамида.

Тестовата пирамида (тестове) има 4 нива:

  • Единични тестове – Това е основата на целия процес на автоматизирано тестване. Трябва да има повече единици тестове в сравнение с други видове тестове. Разработчиците пишат и изпълняват модулни тестове, за да гарантират, че част от дадено приложение (известна като „единица“) отговаря на неговия дизайн и се държи според очакванията.
  • Тестове на компоненти − Основната цел на тестването на компоненти е да се провери входно/изходното поведение на тестовия обект. Трябва да гарантираме, че функционалността на тестовия обект е внедрена правилно според спецификацията.
  • Интеграционни тестове - Вид тестване, при което отделните софтуерни модули се комбинират и тестват като група.
  • Тестове от край до край - Тази стъпка е обяснима сама по себе си. Ние наблюдаваме цялото приложение и се уверяваме, че функционира според плана.

Тъй като модулните тестове и тестването на компоненти се извършват само от разработчици и често са специфични за езика за програмиране, ние няма да оценяваме тези инструменти за домейна DevOps.

#1 инструмент за тестване на интеграция

Победител: краставица

DevOps инструменти, които всеки трябва да научи през 2020 г
Cucumber съчетава спецификации и тестова документация в един жив документ. Спецификациите са винаги актуални, тъй като се тестват автоматично от Cucumber. Ако искате да изградите рамка за автоматизирано тестване от нулата и да моделирате потребителско поведение в уеб приложение, тогава Selenium WebDriver с Java и Cucumber BDD е чудесен начин да научите и внедрите Cucumber в проект.

Основни предимства

  • BDD подход (Behavior Driven Development - „развитие чрез поведение“ за разлика от подхода „test-driven development“) – Cucumber е предназначен за BDD тестване, първоначално е създаден точно за тази задача.
  • Жива документация - Документацията винаги е болка! Тъй като вашите тестове са написани като код, Cucumber тества автоматично генерираната документация, за да гарантира, че тестовете и документацията са в синхрон.
  • Поддръжка - Можем да избираме от много инструменти, но Cucumber разполага с необходимите финансови ресурси и добре организирана система за поддръжка, за да помогне на потребителите във всяка трудна ситуация.

конкуренти

Участва в битката, но не победи

Сред другите рамки и специфични за технологията инструменти, само Cucumber може да се счита за универсално решение.

Инструменти за тестване от край до край

Когато провеждате тестване от край до край, трябва да се съсредоточите върху два ключови момента:

  • функционално тестване
  • Стрес тестване.

Във функционалното тестване проверяваме дали всичко, което искаме, наистина се случва. Например, когато щракна върху определени елементи от моето SPA (едностранично приложение), попълня формулярите и избера „Изпращане“, данните се появяват в базата данни и на екрана се появява съобщението „Успех!“.

За нас също е важно да проверим дали определен брой потребители, изпълняващи същия сценарий, могат да бъдат обработени без грешки.

Липсата на тези 2 типа тестване ще бъде значителен недостатък във вашия CI/CD тръбопровод.

#1 инструмент за тестване от край до край. Функционално тестване

Победител: SoapUI Pro

DevOps инструменти, които всеки трябва да научи през 2020 г
SoapUI е в пространството за тестване на API от дълго време, откакто базираните на SOAP уеб услуги бяха стандарт. Въпреки че вече не създаваме нови SOAP услуги и името на инструмента не се е променило, това не означава, че той не е еволюирал. SoapUI предоставя отлична рамка за създаване на автоматизирани функционални тестове на бекенда. Тестовете могат лесно да се комбинират с инструменти за непрекъсната интеграция и да се използват като част от CI/CD тръбопровод.

Основни предимства

  • Подробна документация - SoapUI е на пазара от доста дълго време, така че има много онлайн ресурси, които могат да ви помогнат да разберете как да настроите тестове.
  • Лесна употреба – въпреки че инструментът поддържа множество протоколи за тестване на API, наличието на общ интерфейс на SoapUI за множество услуги прави писането на тестове по-лесно.

конкуренти

Участва в битката, но не победи

Селен е друг страхотен инструмент в тази група. Препоръчвам да го използвате, ако създавате и изпълнявате приложение, базирано на Java. Въпреки това, ако изграждате пълно уеб приложение с множество технологии, то може да стане тромаво за компоненти, които не са Java.

#1 инструмент за тестване от край до край. Стрес тестване

Победител: LoadRunner

DevOps инструменти, които всеки трябва да научи през 2020 г
Обяснение: Когато дойде време да тествате всеки елемент от вашето приложение, само LoadRunner може да изпълни задачата. Да, в началото е скъпо и трудно, но LoadRunner е единственият инструмент, който ми дава, като технически архитект, пълна увереност, че новият код ще работи при екстремни условия на натоварване. Освен това мисля, че е време LoadRunner да бъде поет от екипи за разработка, а не от екипи за тестване.

Основни предимства

  • Обширна документация - LoadRunner е на пазара от доста време, така че има много онлайн ресурси, които да ви помогнат да разберете как да настроите тестове за натоварване.
  • Поддръжка на протокол - Load Runner поддържа всичко от ODBC до AJAX, HTTPS и всеки друг нетривиален протокол, който вашето приложение може да използва. Опитваме се да не използваме множество инструменти за тестване на натоварване, тъй като това само усложнява процеса.

конкуренти

Участва в битката, но не победи

Отново, няма много универсални инструменти в тази област, така че най-доброто решение е това, което ще работи във всяка среда с всякаква технология.

Инструменти за внедряване

DevOps инструменти, които всеки трябва да научи през 2020 г
Инструментите за внедряване са вероятно най-малко разбираният аспект на разработката. За оперативен екип без задълбочено разбиране на кода и функционалността на приложението е трудно да използва такива инструменти. За разработчиците управлението на внедряването е нова отговорност, така че те все още нямат достатъчно опит в работата с подобни инструменти.

Първо, нека разделим всички инструменти за внедряване на три подкатегории:

  • управление на артефакти
  • управление на конфигурацията
  • разгърнете.

#1 Инструмент за управление на артефакти

Победител: SSI Nexus

DevOps инструменти, които всеки трябва да научи през 2020 г
Хранилището за артефакти на Nexus поддържа почти всяка основна технология, от Java до NPM до Docker. Можем да използваме този инструмент, за да съхраняваме всички артефакти, които използваме. Проксирането на отдалечени мениджъри на пакети също значително ускорява процеса на изграждане на CI, което прави пакетите по-достъпни за изграждане. Друго предимство е възможността да получите пълен преглед на всички пакети, използвани в няколко софтуерни проекта, блокирайки опасни пакети с отворен код (те могат да действат като вектор на атака).

Основни предимства

  • Техническа поддръжка - Надежден продукт; добре поддържан.
  • Отворен код – безплатната версия не ограничава основната функционалност, от която се нуждаят екипите за разработка.

#1 Инструмент за управление на конфигурацията

Победител: Ansible

Ansible е лидер поради една проста причина: без гражданство. Преди подобни инструменти се фокусираха върху управлението на състоянието на конфигурацията. Когато се стартира, такъв инструмент, след като получи желаната конфигурация, ще се опита да коригира текущата конфигурация на приложението. И с новия подход присъстват само компоненти без състояние. Новите версии на кода са артефакти, които се внедряват, за да заменят съществуващите. Това може да се счита за вид ефимерна, краткосрочна среда.

Основни предимства

  • Без състояние - Playbook се стартира от машината за внедряване и се изпълнява на целевите сървъри. Не е нужно да се тревожа за състоянието на отдалечения обект, като използвам инструмент като Packer за създаване на обекти с възможност за разгръщане.
  • Отворен код – подобно на CentOS, Ansible също се поддържа от RedHat. Той помага за поддържането на общността и осигурява висококачествени, лесни за използване модули.
  • Тестване с Molecule (Ansible framework) – Тъй като управлението на конфигурацията е код, както всичко останало, тестването е от съществено значение. Рамката за ролеви тестове Ansible на Molecule работи безупречно, като гарантира, че конфигурацията е със същото качество и следва същата CI/CD линия като кода на приложението.
  • YAML – В сравнение с други инструменти, YAML е по-лесен за разбиране. Тъй като управлението на конфигурацията обикновено е ново предизвикателство за тези, които прилагат DevOps практики, простотата е неговият коз.

конкуренти

Участва в битката, но не победи

Главен готвач на OpsCode — Започнах кариерата си в DevOps като разработчик на готварски книги. Ruby и Chef, разбира се, са много скъпи на сърцето ми, но те просто не решават проблемите на съвременните приложения без състояние, базирани в облак. OpsCode Chef е чудесен инструмент за по-традиционни приложения, но в тази статия сме фокусирани върху бъдещето.

Кукла на конци — Puppet никога не е имал много фенове, особено в сравнение с Chef и Ansible. Той е страхотен за осигуряване и работа с хардуер, но му липсва модерна поддръжка за управление на конфигурацията за уеб приложение.

Инструмент за внедряване #1

Победител: тераформира

DevOps инструменти, които всеки трябва да научи през 2020 г
Terraform решава проблема с описването на вашата инфраструктура като код, от мрежови компоненти до пълни сървърни изображения. Този продукт измина дълъг път от първоначалното си пускане, с толкова много създадени приставки и изградена толкова силна общност, че със сигурност ще получите помощ при всеки сценарий на внедряване. Способността да се поддържа всякакъв тип среда (локална, в облака или другаде) е несравнима. И накрая, най-новата версия предоставя голяма част от същите логически функции и класове в HCL като всеки друг традиционен език за програмиране, което прави Terraform лесен за разработчиците за бързо и лесно разбиране.

Основни предимства

  • Агностика на средата – Terraform използва функции, които действат като интерфейс между вашия код на Terraform, всички API и вътрешна логика за комуникация с доставчика на инфраструктура. Това означава, че ще овладея само един инструмент и след това мога да работя навсякъде.
  • Отворен код - Трудно е да победиш безплатните инструменти! Обществена подкрепа на най-високо ниво.

конкуренти

Участва в битката, но не победи

Образуване на AWS облак — Дори ако работите само в облачната среда на AWS, следващата ви работа може да използва различен инструмент. Да посветите цялото си време и енергия само на една платформа е недалновидно решение. Освен това много нови услуги на AWS често са налични като модули Terraform, преди да са налични в CloudFormation.

Инструменти за изпълнение

DevOps инструменти, които всеки трябва да научи през 2020 г

Крайната цел на всеки проект за разработка е да стартира приложението в производство. В света на DevOps искаме да сме напълно наясно с всички възможни проблеми с нашата среда и също така искаме да сведем до минимум ръчната намеса. Изборът на правилния набор от инструменти за изпълнение е от съществено значение за постигане на нирвана за разработка на приложения.

Подкатегории инструменти за изпълнение:

  • X-като-услуга (XaaS)
  • оркестрация
  • мониторинг
  • дърводобив.

X-инструмент-като-услуга #1

Победител: Amazon Web Services

DevOps инструменти, които всеки трябва да научи през 2020 г
Amazon винаги е бил лидер в облачните технологии, но не спира дотук: разнообразието от нови услуги за разработчиците отваря очите. Донесете всяка технология и шаблон в AWS и той ще бъде изграден и работещ. Цената на инструмента е доста разумна: сравнете го с монтажа, управлението и поддръжката на оборудване във вашия собствен център за данни. Безплатната версия ви позволява да експериментирате и да вземете правилното решение, преди да харчите пари.

Основни предимства

  • Разпространение - Ако имате опит в изграждането на приложения в AWS, можете да работите навсякъде. Бизнесът обича AWS, а стартиращите компании също оценяват ниската му цена.
  • Безплатната версия е наистина важен фактор, който отличава AWS от останалите. Нека изпробвам услугата и да видя как работи, преди да взема решение за покупка, не искам да харча хиляди долари за нещо ненужно. Безплатната версия винаги ми е достатъчна, за да тествам всяка концепция.

конкуренти

Участва в битката, но не победи

Лазурен „Azure измина дълъг път от първото си издание и това е похвално. Желанието да бъдем различни обаче доведе до странни имена на услугите, което често усложнява работата. Какво означава „съхранение на блоб“? И докато .NET кодът се представя по-добре в екосистемата на Microsoft, малко вероятно е да използвате само .NET за всеки компонент на приложението си.

Heroku — Никога не бих стартирал нищо друго освен личен проект на Heroku поради ниското ниво на надеждност и прозрачност, така че компаниите не трябва да го използват като платформа. Heroku е страхотен за демонстриране на нещо в блог, но за практическа употреба - „Не, благодаря!“

#1 Инструмент за оркестрация

Победител: отворена смяна

DevOps инструменти, които всеки трябва да научи през 2020 г
Вероятно използвате Docker или други контейнери в стека на вашите приложения. Приложенията без сървър са страхотни, но може да не пасват на всяка архитектура. Изпълнението на контейнери без платформа за оркестрация просто няма да работи. Kubernetes Core (K8s) е ненадминат по отношение на сигурност и инструменти. OpenShift е единствената базирана на Kubernetes платформа, която може да събира Source2Image, поддържа автоматизирано внедряване в подове и поддържа проследяване и наблюдение. OpenShift може да се изпълнява на място, в облака или на място и в облака едновременно.

Основни предимства

  • Вградена сигурност - Управлението на сигурността на K8s може да изисква висша степен. Всеки детайл трябва да бъде внимателно обмислен и взет под внимание! Механизмите за сигурност, вградени по подразбиране с OpenShift, премахват тежестта от разработчиците и осигуряват по-сигурна платформа за приложенията.
  • Всичко-в-едно решение - За разлика от базовия K8s, който не включва инструменти за балансиране на натоварването по подразбиране, OpenShift има всичко. Мога да го използвам за създаване и хостване на контейнери, стартиране на CI/CD инструменти, управление на външни процеси, управление на ключове и много повече. Въпреки че графичният потребителски интерфейс все още е далеч от съвършенството, базираният на API подход означава, че всичко може да бъде описано в скрипт. За разлика от други GUI за K8s, OpenShift прави изучаването на основите на Kubernetes много по-лесно. Дори не е нужно да получавате диплома!

конкуренти

Участва в битката, но не победи

Докер рояк — Docker Swarm се опита да опрости K8, като се отърве от много неща. Страхотен е за малки приложения, но за корпоративни приложения просто не работи. Освен това решения като AWS ECS имат подобен подход, но улесняват работата с други услуги, с които също мога да взаимодействам (Lambda, IAM и т.н.).

Инструмент за наблюдение №1

Победител: Нова реликва

DevOps инструменти, които всеки трябва да научи през 2020 г
Ранните версии на New Relic свършиха едно нещо добре - APM (Application Performance Monitoring) мониторинг. Вече е пълнофункционален инструмент за наблюдение, който ви позволява да наблюдавате производителността на сървъра, контейнера, базата данни, да наблюдавате изживяването на крайния потребител и, разбира се, да наблюдавате производителността на приложението.

Основни предимства

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

конкуренти

Участва в битката, но не победи

Zabbix — Моята първа и любима система за мониторинг, но остана в миналото поради липсата на развитие в облачните технологии и в областта на мониторинга на производителността на APM приложения. Zabbix все още прави традиционен мониторинг на сървърната инфраструктура добре, но това е всичко.

DataDog — Прекалено фокусиран върху процеса на управление на производствената среда на приложението, а не върху самия код. С екипите на DevOps, които включват разработчици, не е нужно да разчитаме на трудни за използване инструменти, за да предоставим първокласна поддръжка.

Инструмент за регистриране #1

Победител: Splunk

DevOps инструменти, които всеки трябва да научи през 2020 г
Трудно е да се конкурирате със Splunk! Дълго време той остава лидер в дърводобива, като продължава да го прави по-добре от всеки друг. С on-prem и SaaS предложения можете да използвате Splunk навсякъде. Големият недостатък е цената му: Splunk все още е адски скъп!

Основни предимства

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

конкуренти

Участва в битката, но не победи

ELK Stack (ElasticSearch, LogStash и Kibana) „Тези инструменти изглежда са любимите, защото дори не е нужно да продавате черния си дроб, за да ги използвате.“ Въпреки това, тъй като наборът от регистрационни файлове нараства и броят на приложенията на борда се увеличава, работата става все по-трудна. В сравнение със Splunk, с ELK Stack прекарах много повече време в настройване на инструментите, преди да създам табла за управление, отколкото когато и да било.

Инструменти за сътрудничество

DevOps инструменти, които всеки трябва да научи през 2020 г
DevOps е основно за промяна на културата в една организация. Закупуването на който и да е инструмент няма да промени настоящите практики за една нощ, но със сигурност може да насърчи сътрудничеството и новите начини на взаимодействие.

Подкатегории инструменти за сътрудничество:

  • проследяване на задачи
  • ChatOps
  • документация.

#1 Инструмент за проследяване на проблеми

Победител: Jira

DevOps инструменти, които всеки трябва да научи през 2020 г
Jira запазва лидерската си позиция, въпреки че конкуренцията в тази област нараства. Невероятната гъвкавост на Jira позволява на екипите за разработка и поддръжка да управляват работата по проекта и задачите за спринт. Вградените стандарти, използващи Agile терминология, улесняват преминаването от традиционни начини на работа към по-ефективни процеси.

Основни предимства

  • Популярност - Както много други инструменти, Jira се използва почти навсякъде. Малките екипи използват по-евтината и по-достъпна версия и получават всичко необходимо, докато по-големите компании могат да си позволят по-скъп лиценз.
  • Интеграции - Jira е пионер в своята област. Този факт и бързото развитие на продукта води до факта, че други компании избират Jira за създаване на свои собствени интеграции, като по този начин повишават стойността на инструмента. Можем да интегрираме Jira с всички инструменти, изброени в тази статия, веднага с малка конфигурация.

конкуренти

Участва в битката, но не победи

Trello — Trello бързо набра популярност благодарение на своя безплатен инструмент Kanban. Въпреки това, след като процесите се мащабират и преминете от десетки задачи към хиляди, Trello става труден за навигиране, търсене и отчитане.

Ключов проследяване — Бях голям фен на този инструмент, когато работех за стартиращ бизнес. Pivotal Tracker обаче е по-фокусиран върху управлението на продукти, отколкото върху технически задачи. Въпреки че управлението на продуктите в Jira е малко по-сложно, то все пак може да бъде внедрено там, без да се използва допълнителен инструмент.

ChatOps инструмент №1

Победител: MatterMost

DevOps инструменти, които всеки трябва да научи през 2020 г
Обяснение: Може би най-голямата изненада за вас в моята селекция и това е добра новина! MatterMost спечели популярност, като взе най-доброто от предишни инструменти, но ги постави предварително. Това е много важно за компаниите: MatterMost ви позволява да контролирате вашите данни и също така ви помага да ги интегрирате с инструменти, които работят локално. Вече не е необходимо да излизаме извън защитната стена, за да проверяваме работните чатове.

Основни предимства

  • Отворен код – Версията с отворен код на MatterMost работи чудесно както за средни, така и за големи екипи. За разлика от безплатния план на Slack, който изтрива хронологията на вашите съобщения, работата със собствен сървър означава, че запазвате всичките си данни.
  • Интеграции – Тъй като API е почти 100% базиран на API на Slack, почти всички интеграции на Slack могат да се използват директно с MatterMost.

конкуренти

Участва в битката, но не победи

Застой — Slack е страхотен, но тези момчета са пораснали толкова много, че започнаха да търсят печалба. Фазата на изплащане на бизнеса наближава, което отнема основната им стойност: Slack предоставя услуги безплатно; Най-важният недостатък на безплатната версия е изтриването на историята на чатовете.

Microsoft Teams — Опитайте да интегрирате продукт на Microsoft с нещо, което не е собственост на Microsoft... Успех! Това е всичко, което имам да кажа за този инструмент!

Инструмент за документация #1

Победител: Сливане

DevOps инструменти, които всеки трябва да научи през 2020 г
Създаването и поддържането на качествена техническа документация е сложен процес, независимо какъв инструмент използвате. Въпреки че много инструменти за документиране на SaaS се появиха на пазара напоследък, ще ми е трудно да възложа съхранението на техническа документация за критични за мисията приложения на трета страна. За предпочитане е данните и документите да се съхраняват предварително и това е начинът, по който Confluence го решава.

Основни предимства

  • Лесни за работа - повечето самостоятелни инструменти могат да бъдат малко сложни за настройка и работа и изискват известни познания за поддръжка. Confluence Server работи чудесно за 10 или 10,000 XNUMX потребители.
  • Добавки – Поздравления за Confluence за това, че разполагат с красива, лесна за използване навигация от кутията и възможността за добавяне на добавка за почти всичко отключва подобен на Wiki потенциал.

конкуренти

Участва в битката, но не победи

Прочетете документите — Страхотно за отворен код, но дори не си помисляйте да съхранявате важни знания тук.

Маркдаун - Чудесно за документиране на код, но е трудно да се публикува архитектура, процеси или други видове документация поради специфичното форматиране на MarkDown.

Джекил — Когато документирам технически познания, не искам да създавам нов статичен сайт, който ще се внедрява при всяка промяна. Простата система за контрол на версиите на Confluence значително опростява вътрешната документация.

Сумирайте

Има буквално стотици DevOps инструменти на пазара, което прави трудно да се знае кои да се използват и кога трябва да бъдат внедрени. Следвайте това просто ръководство за избор на DevOps инструменти за цялостен CI/CD тръбопровод.

Не забравяйте да изберете инструменти от всичките пет категории:

  • инструменти за разработка и изграждане
  • инструменти за автоматизация на тестове
  • инструменти за внедряване
  • Инструменти за изпълнение
  • инструменти за сътрудничество.

Основна препоръка: Автоматизирайте всичко!

Благодаря, Зак Шапиро!

Източник: www.habr.com

Добавяне на нов коментар