Защо Дженкинс се превръща в двигател на devops

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

Последната маневра е как CloudBees стана компанията, която е днес. Веднъж независим, публичен доставчик на PaaS в облак за Java кодери (оценен високо от Андрю Оливър в „Кой откачен PaaS да използвам?“), CloudBees се завъртя рязко преди 18 месеца, за да стартира отново като водещ доставчик на Jenkins, много популярен отворен изходен инструмент за управление на процеса на разработване на софтуер.

Според главния изпълнителен директор Саша Лабури, като доставчик на Java PaaS CloudBees е "нараствал добре", но "много от по-големите момчета с по-големи чекове" се колебаеха да се ангажират на променлив пазар на PaaS, който нямаше стандартизация. В същото време Дженкинс излиташе като ракета - и Лабури видя голяма възможност, особено след като CloudBees вече предлагаше Дженкинс като услуга и вече беше наел Кохсуке Кавагучи, създател на Дженкинс. Основното ястие стана гарнитурата на Дженкинс.

Джънкингът на Дженкинс

Какво се крие зад популярността на Дженкинс? Просто казано, Дженкинс се превърна в стандарт с отворен код за управление на разработчиците на devops, от управление на изходния код до доставяне на код до продукцията. Според Labourey, „Общността вижда Дженкинс като двигател за оркестрация и автоматизация ... Мисля, че причината Дженкинс да се превърне в де факто двигател е, защото е изключително включим.“ Появи се екосистема с повече от 1100 приставки, позволяващи на клиентите да добавят всякакви функционалности и да интегрират Jenkins с всичко, от Active Directory до GitHub до OpenShift PaaS.

Jenkins е решение за непрекъсната интеграция (CI) и непрекъсната доставка (CD). Идеята на CI е да обединява код от отделни разработчици в проект няколко пъти на ден и да тества непрекъснато, за да избегне проблеми надолу по веригата. CD прави това още една стъпка, за да гарантира, че целият обединен код винаги е в състояние, готово за производство. Jenkins позволява на разработчиците да автоматизират този процес колкото е възможно повече - до точката на внедряване. Labourey дава пример:

Да предположим, че компания използва Chef или Puppet за разполагане на AWS. Дженкинс няма да замени това. Дженкинс ще се обади на Puppet да го направи - Добре, ето битовете, така че нека извикаме този куклен скрипт и да видим как работи. И резултатът от изпълнението на Puppet ще има значение за Дженкинс, защото той може да реши да разгърне разполагането и да предприеме по-нататъшни действия. Ние го наричаме „тръбопроводът“. Това е наистина тази поредица от стъпки. Може да е пет стъпки или 50 стъпки.

Дженкинс служи като двигател на работния поток за управление на този CI / CD тръбопровод от източник до доставка, казва Лабоури, но по пътя могат да бъдат призовани много различни инструменти за изпълнение на различни функции.

Docker е един от тези инструменти и Docker съвместно с Дженкинс оказва дълбоко въздействие върху екипите за разработка. Всички знаят, че Docker рационализира разработката и прави внедряването значително по-лесно, но Labourey отбелязва, че това също помага да се поддържат честни разработчиците: Те вече не могат да обвиняват някаква погрешна конфигурация на средата за разработка, когато компилация се срива и изгаря. На физическа машина средата за разработка постепенно се поврежда, причинявайки неволно компилации. Но когато кодирате върху девствено изображение на Docker, имате само свой дефектен код, който да обвинявате, когато компилациите няма да се изпълняват.

Заедно Дженкинс и нейната интегрирана екосистема осигуряват координираща софтуерна инфраструктура за гъвкаво развитие и в по-широк смисъл формират „ядрото на инициативата devops“, казва Лабури.

Пристигане оттук

Цялата тази автоматизация и ефективност на devops звучи страхотно, но какво да кажем за организациите, които едва са си увили главите около пъргавото развитие? Labourey предлага съвети за навлизане в CI / CD:

Мисля, че най-добрият начин да направите това е да започнете от малко. Изберете проект. Не казвайте: „Добре, сега сме магазин за непрекъсната доставка, всичко върви по този начин.“ Започнете с екип, който желае, който може би е по-гъвкав от другите екипи, може би по-нови членове на екипа, по-малко вкоренени в съществуващия начин на правене на нещата. Изберете лесен проект. Не се опитвайте да го използвате като начин да кажете, ако този работи, всичко ще работи. Не се опитвайте да се провалите; опитайте се да успеете. Изберете желаещ екип, изберете лесен проект, стигнете до там. Този екип ще бъде най-добрият ви продавач, защото сега можете да покажете, че работи. Те могат да говорят за това как работата им се е подобрила, защото, честно казано, старият начин е скучен.

Част от процеса, отбелязва Лабури, е „извличане на знанието, което седи спокойно в мозъка на хората, и въвеждането му като логика“. Това не се случва за една нощ. Често организациите за развитие започват с избиване на CI и работят с времето към CD.

Организациите за развитие са склонни да имат широко разнообразни, силно специфични изисквания. Така CloudBees предлага както обща, базирана на абонамент версия SaaS, управлявана от CloudBees, така и „частна SaaS“ версия, която клиентите могат да внедрят или в AWS, или в Azure (или локално в OpenStack) и да я персонализират според съдържанието си.

Трудно е да се надцени значението на организирането, автоматизирането и рационализирането на процеса на разработка. CI / CD е от основно значение за devops, а успешното внедряване на devops от своя страна има последици, които се простират отвъд ИТ до самия бизнес. Непрекъснатото подобряване на софтуера непрекъснато подобрява продуктите и услугите. Тесла например имаше сериозен неуспех с един от моделите си, който се запали - и пускането на софтуерно надграждане реши проблема за една нощ.

"Интересно е, ако получите 10 процента по-голяма ефективност; ако харчите 100 милиона долара годишно в ИТ, добре, страхотно - имате 10 милиона долара, които можете да похарчите някъде другаде", казва Лабури. "Но истинската полза е, когато бизнесът осъзнае, че като използва тези инструменти и този начин на правене на нещата, той може да увеличи продажбите с 10 процента."