devops tutorial ultimate guide devops
Това е пълна серия от уроци за DevOps от 25+ текстови и видео урока, обхващащи всички аспекти на DevOps като Какво е DevOps, принципите на DevOps и неговия архитект.
Списък с уроци в DevOps Training Series:
# 1) Въведение в DevOps (Този урок)
# две) DevOps и тестване на софтуер
DevOps VIDEO уроци:
# 3) Видео урок 1: Предистория на DevOps, дефиниция, стойност, ползи, навици и най-добри практики
- Част 1 Блок 1 - Демистифициране на DevOps
# 4) Видео урок 2: Практики на DevOps, базирани на Agile Principles, контрол на източници и DevOps Automation
Този видео урок е разделен на 6 блока:
- Част 2 Блок 1 - DevOps Практика, базирана на Agile Manifesto
- Част 2 Блок 2 - Източник и контрол на версиите в DevOps
- Част 2 Блок 3 - Автоматизация в DevOps
- Част 2 Блок 4 - Малки стъпки на доставки в DevOps
- Част 2 Блок 5 - Сътрудничество в екипите на DevOps
- Част 2 Блок 6 - Как да развием сътрудничество в екипите на DevOps
# 5) Видео урок 3: DevOps обработва непрекъсната интеграция, непрекъснато тестване и непрекъсната доставка
Този видео урок е разделен на 4 блока:
- Част 3 Блок 1 - Непрекъсната интеграция в DevOps
- Част 3 Блок 2 - Непрекъсната доставка в DevOps
- Част 3 Блок 3 - Непрекъснато внедряване в DevOps
- Част 3 Блок 4 - Непрекъснато тестване в DevOps
# 6) Видео урок 4: Управление на конфигурацията на DevOps и мониторинг на изпълнението на приложенията на живо
Този видео урок е разделен на 3 блока:
- Част 4 Блок 1 - Управление на конфигурацията в практиките на DevOps
- Част 4 Блок 2 - Управление на изданията в DevOps
- Част 4 Блок 3 - Мониторинг на ефективността на приложението в DevOps
# 7) Видеоурок 5: Обобщение на целия курс.
- Част 5 Блок 1 - Обобщение на видео уроците за DevOps
Текстови уроци:
# 8) Тестване на смяна наляво
# 9) Как да подобрим качеството на софтуера, като използваме непрекъсната интеграция
# 10) Непрекъснат процес на доставка
Инструменти на DevOps:
# единадесет) Инструменти на DevOps
# 12) Инсталиране и конфигуриране на често използвани инструменти DevOps с отворен код
# 13) Най-добрите инструменти за непрекъсната интеграция
# 14) Топ инструменти за непрекъсната доставка
Урок за Microsoft VSTS:
# петнадесет) Microsoft VSTS част 1
# 16) Microsoft VSTS част 2
Инструменти на AWS DevOps:
# 17) AWS DevOps Tools Част 1 (CodeCommit)
# 18) AWS DevOps Tools Част 2 (CodeBuild)
# 19) AWS DevOps Tools част 3 (CodeDeploy)
# двадесет) Разгръщане на .NET уеб приложения с помощта на AWS Elastic Beanstalk
Отговаря за DevOps:
#двадесет и едно) Отговорна част 1: Инсталиране и конфигуриране
# 22) Отговорна част 2: Автоматизация на задачите с помощта на Playbooks
# 2. 3) Ansible Част 3: Ansible Roles and Integration with Jenkins
# 24) Интеграция на Дженкинс със селен
# 25) Инструмент за непрекъсната интеграция на Hudson
# 26) Фирми доставчици на услуги DevOps
# 27) Въпроси за интервю за DevOps
Нека започнем с първия урок от тази поредица.
Какво ще научите:
- Въведение в DevOps
- Преглед на Agile и DevOps
- DevOps само за Инструменти ли е?
- Компоненти на DevOps
- Обобщение
- Препоръчително четене
Въведение в DevOps
DevOps не се отнася само до инструменти, но включва и набор от най-добри практики, които позволяват да се преодолее пропастта между екипите за разработка и експлоатация в областите на непрекъсната интеграция и внедряване чрез използване на интегриран набор от инструменти за автоматизиране на доставката на софтуер.
ляво съединение срещу ляво външно съединение
Наложително е разработчиците да разбират операционната страна и обратно. Така че целта на DevOps е просто да помогне на всяка организация в скоростта на доставяне на приложения до крайните потребители и позволявайки по-бърза обратна връзка с крайните потребители, което е необходимо за всеки бизнес днес.
Преглед на Agile и DevOps
Няма разлика между Agile и DevOps. Вместо това те се допълват взаимно. Нека започнем с разглеждането на модела Waterfall, където всички изисквания са замразени, а проектирането и разработването се извършват едно след друго, докато не се получи стабилен продукт.
Така че проблемът тук е, че ако има промяна в нуждите на клиента на този етап, няма начин да включите и доставите променената нужда.
За да се обърне внимание на проблема с адаптирането към нуждите на клиентите, промените са по-добри, отколкото в метода на водопада, беше Agile осиновяване. Идеята тук беше да се разработи софтуер в по-малки спринтове или итерация, да речем около 2 до 3 седмици, което помогна на екипите за разработка да работят върху обратната връзка с крайния потребител и да включат промените в по-новите версии.
Следователно екипите за разработка и експлоатация трябва да бъдат гъвкави в своите области на работа иDevOpsе роден, за да позволи по-добро сътрудничество между тях.
Agile въвежда процеси като XP, SCRUM и т.н., а DevOps - практики като непрекъсната интеграция, непрекъсната доставка, непрекъснато тестване и непрекъснато наблюдение, които ще видим в детайли, като продължим напред в този урок.
DevOps само за Инструменти ли е?
По някакъв начин можете да твърдите, че за да внедрите DevOps са ви необходими инструменти. Вярно е, но инструментите са само ускорители.
Но всъщност става въпрос за следните 3 аспекта:
Хора :Много е важно да се обучавате и да имате силно мотивиран екип от хора, за да можете ефективно да общувате и да си сътрудничите през цялото това пътуване на културни промени.
Процес: Тъй като говорим за културна промяна при внедряването на DevOps, е много необходимо да има практики и стратегии, които дават стойност на клиента. Правилният начин за това би бил да се направи оценка на зрелостта AS-IS, да се разгледат пропуските и да се предложи пътна карта за прилагане на даване на подходящи препоръки.
Няма да говоря задълбочено за това как съм постигнал тези оценки, но ще се радвам да споделя всички приноси по същия въпрос.
Инструменти: И накрая, става въпрос за използване на ускорителите чрез автоматизиране на процеса с помощта на стандартните инструменти DevOps, които са налични днес. Може да бъде с отворен код (Jenkins, Git и др.), Търговски (Microsoft TFS, VSTS, IBM Rational, Jira и др.) Или комбинация от двете.
Компоненти на DevOps
Надявам се, че вече сте имали представа какво е DevOps.
Нека сега разгледаме следните 4 компонента на DevOps, които формират ядрото от гледна точка на внедряване, а също така организациите са разработили добри рамки за автоматизация около същото, предлагайки го като услуга за своите клиенти.
- Непрекъсната интеграция
- Непрекъснато тестване
- Непрекъсната доставка
- Непрекъснато наблюдение
Наистина вярвах, че ако разработчикът трябва да работи в този режим, тогава трябва да има елемент за изпълнение като Задача или Дефект (В Agile това може да бъде част от Потребителска история), за да му даде възможност да достави работата в рамките на сроковете за спринт.
Така че дори преди горепосочените стъпки да могат да бъдат приложени, тези задачи или дефекти за разработчици трябва да бъдат планирани в Sprint. Така че инструменти като JIRA, IBM Rational Team Concert, Microsoft TFS / VSTS и др. Помагат за създаването на Agile Release / Sprint Plans.
Нека сега разгледаме всеки от тези компоненти в детайли.
# 1) Непрекъсната интеграция
Като разработчик работите по задачите или дефектите, присвоени и чекирате кода в споделено хранилище няколко пъти на ден. По същия начин останалите членове на екипа също чекират кода в споделеното хранилище.
След това всъщност ще интегрирате цялата работа, извършена от членовете на екипа, в общ сървър за изграждане и ще извършите автоматизирано изграждане. Правенето на тези интеграции и автоматизирани компилации редовно се нарича Непрекъсната интеграция.
Тази практика помага да се открият проблеми много рано и също така гарантира, че всички интегрирани модули работят според изискванията. Така че, ако не следвате този подход, интеграцията на работата на екипа може да се случи веднъж в месеца, което може да е късно за намиране и отстраняване на проблеми с интеграцията.
Примерен работен процес на непрекъсната интеграция:
# 2) Непрекъсната доставка
Непрекъсната доставка е следващата стъпка след непрекъсната интеграция. Целта на Непрекъсната доставка е да изтласка вграденото приложение възможно най-бързо. По време на този процес той преминава през различни етапи от жизнения цикъл на доставката, т.е. QA, етап, производствена среда и т.н.
Този процес на редовно доставяне на приложенията, вградени в различни етапи, е известен като непрекъсната доставка.
Непрекъснатата доставка помага за по-бързо пускане на пазара в сравнение с традиционните методи, по-малък риск, намаляване на разходите чрез насърчаване на повече автоматизация в процеса на пускане и най-важното получаване на по-бърза обратна връзка от крайните потребители за производство на качествен продукт.
От моя опит видях, че този процес работи добре за всякакъв вид разработка на уеб приложения.
Също така направих справедливо количество оценки на внедряванията на DevOps за организации в областта на полупроводниците, но поради съществуващите цикъл на освобождаване изглежда, че тази област на непрекъсната доставка не се вписва, тъй като е по-скоро процес на водопад, който се проследява и внедряванията се извършват както и при поискване в клиентска среда.
Примерен работен поток за непрекъсната доставка:
В горната диаграма можете да разгледате различни налични среди и така това осигуряване на инфраструктурата за средите също може да бъде автоматизирано по време на този непрекъснат процес на доставка.
# 3) Непрекъснато тестване
От горните 2 практики разбрахме, че CI и CD помагат за внедряване на приложението или промени в продукцията. Целият този процес включва правилно валидиране на кода и интегрирането му с всички компоненти, участващи в него, за да се гарантира, че приложението работи както е предвидено и е без грешки или дефекти.
Така че непрекъснатото тестване е процес на провеждане на различни видове автоматизирани тестове, започвайки с CI процес до момента, в който приложението е окончателно внедрено в производството.
Можете да видите от предишната диаграма, че в стъпката на Непрекъсната интеграция ние интегрираме всички разработчици да работят в общ сървър за изграждане, а също и по време на този етап разработчиците ще изпълнят определено количество единични тестове.
След като тези интеграция и тестове работят без никакви грешки, само тогава приложението или промените се разполагат в QA средата след кандидатстване за тези качествени порти и одобрения.
В QA средата се изпълняват функционалните тестове и отново въз основа на одобренията, които ще бъдат внедрени в променителна среда, която ще бъде на паритет като производствените системи и тестовете за приемане. След като тази дейност приключи, приложението или промените най-накрая се внедрят в производствените системи.
Така че тук може да се отбележи, че непрекъснатото тестване като дейност започва от самия етап на CI и е много задължителна стъпка през целия процес на непрекъсната доставка.
Примерен работен процес на тестване в процеса на непрекъсната доставка:
# 4) Непрекъснато наблюдение
Тъй като приложението или промените са внедрени в производствената среда, оперативният екип ще се стреми да наблюдава приложението и средата от гледна точка на актуализация, стабилност и наличност. Този процес е известен като непрекъснато наблюдение.
Оперативните екипи ще разполагат със собствен софтуер за наблюдение на околната среда, но също така ще трябва да изиграят своята роля, за да наблюдават внедрените приложения за всякакви проблеми. За това ще трябва да работят с екипите за разработка, за да създадат определени инструменти за анализ на проблемите на приложението.
Така че проблемите с инфраструктурата, околната среда и приложенията се наблюдават в процеса на непрекъснат мониторинг.
Обобщение
В този урок разбрахме какво точно представлява процесът DevOps, включително различните компоненти, участващи в него. Тези компоненти спомагат за ускоряване на доставката на приложения и също така спестяват време за пускане на пазара, което е необходимост на бизнеса днес от конкурентна гледна точка.
В предстоящата поредица от уроци в сегмента DevOps ще разгледате различните видеоклипове / вероятните инструменти на DevOps, които екипите могат да използват, както и внедряването на DevOps, използвайки определени инструменти за локални и облачни услуги.
И както казах и направих, открих, че внедряването на DevOps е вълнуващо, в начина, по който изглежда от организационна промяна.
Предстоящият ни урок ще ви обясни всичко за DevOps и тестване на софтуер.
как да създам testng xml файл в eclipse -
Препоръчително четене
- Уроци за задълбочено затъмнение за начинаещи
- Непрекъсната доставка в DevOps
- Непрекъснато внедряване в DevOps
- Урок за тестване на DevOps: Как DevOps ще повлияе на QA тестването?
- Непрекъсната интеграция в DevOps
- Непрекъснато тестване в DevOps
- Обобщение на видео уроците за DevOps
- AWS CodeCommit Урок за внедряване на DevOps в облак