Въведение на DevOps за начинаещи

DevOps се превърна в модна дума, която означава много различни неща за много хора.


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

Произходът на DevOps

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

Може би се чудите да знаете какво е гъвкава разработка на софтуер –

Agile развитие е широко понятие за дефиниране на няколко итеративни и инкрементални методологии за разработка на софтуер. Популярните гъвкави методологии са Scrum, Kanban, Scaled Agile Framework® (SAFe®), Lean Development и Extreme Programming (XP).

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

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

Изображение от Segue

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

Предизвикателства, решени от DevOps

Процес на внедряване Разпространените приложения често изискват разполагане на двоични и конфигурационни файлове на множество сървъри. Става по-предизвикателно, когато имате ферма от сървъри. Става предизвикателство да разберем какво, как и къде да разположим. Очевидният резултат?

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

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

Цели на DevOps

Той подобрява сътрудничеството между заинтересованите страни от планирането до доставката и внедрява автоматизация на процеса на доставка до:

  • Подобрете честотата на разполагането
  • Постигнете по-бързо време за пускане на пазара на крайния продукт
  • Намалява степента на отказ на новите версии
  • Той скъсява времето за изпълнение между корекциите
  • Подобрява междувременно с цел възстановяване

Общ сценарий на DevOps

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

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

Различни фази на зрелостта на DevOps

Има много различни фази на зрелостта на DevOps. Ето основните фрази, които трябва да знаете.

Развитие на водопад

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

Използването на този брой промени – да отнеме повече от няколко месеца. Този процес не беше продуктивен.

Непрекъсната интеграция

Практика е интегрирането на новоразработен код с основния код, който трябва да бъде пуснат по най-бързия начин. Когато става въпрос за освобождаване на кода, непрекъснатото развитие помага да се спести много време.

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

Непрекъснатото интегриране от гледна точка на DevOps включва стъпки като проверка на кода, компилиране в използваем код и провеждане на някои от необходимите тестове за валидиране. “

Непрекъсната доставка

Това е разширение на непрекъснатата интеграция, а също и вторият етап на DevOps.

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

Практика е да поддържате вашата кодова база в почти готово за разгръщане състояние.

Непрекъснато внедряване

Непрекъснатото внедряване е напредналата еволюция на непрекъснатата доставка. Тази практика ни позволява да използваме всички начини в производството без никаква човешка намеса.

Екипът, който работи върху непрекъснато развитие, никога не използва никакъв код без тестване. Целият новосъздаден код преминава през автоматизирано тестване преди да влезе в производствения етап. Кодът е разгърнат на малък брой потребители и има автоматизирана верига за обратна връзка, която следи качеството и използва, преди кодът да премине на следващото ниво.

Има малък брой компании като Netflix, Etsy, Amazon, Pinterest, Flicker, IMVU и Google и др., Които правят непрекъснато развитие.

Стойността

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

DevOps култура

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

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

DevOps Tools

Включва инструментите за управление на конфигурацията, тестване и изграждане на системи, разработване на приложения, контрол на версии и мониторинг. Когато става въпрос за внедряване на непрекъсната интеграция, непрекъсната доставка и непрекъснато внедряване, те изискват различни инструменти и в същото време използват и същите инструменти. Ще трябва да използвате повече инструменти, докато напредвате през веригата за доставка.

Нека знаем някои от популярните инструменти и практики.

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

Git, Apache Subversion, IBM Rational, Artifactory, Nexus, Eclipse и др. Са някои от популярните инструменти за хранилище на кодове.

Създаване на сървър: – сървърът за изграждане е инструментът за автоматизация, който се използва за компилиране на кода в дихателния код на изходния код в изпълнимия код на базата. Някои от най-използваните инструменти за изграждане на сървър са Jenkins, SonarQube, Artifactory.

Управление на конфигурацията – Puppet, Chef, Ansible, SaltStack, Run Deck и др. Помага да се управлява конфигурацията за приложение и инфраструктура, за да се поддържа последователността в средите.

Виртуална инфраструктура – AWS, GCP, Azure е водеща тройка доставчици на обществени облаци, предлагащи почти всички инфраструктурни услуги. Те предлагат API, който ви позволява да осигурите инфраструктурата и да ги управлявате като код.

заключение

Надявам се да ви даде представа за DevOps и ако това ви вълнува, може да опитате този онлайн майсторски клас курс.

Статия от Payal Goyal

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map