Jagorar Dummies: Gina Sarkar DevOps tare da Buɗewar Kayan aikin Tushen

Jagorar Dummies: Gina Sarkar DevOps tare da Buɗewar Kayan aikin Tushen
Gina sarkar DevOps na farko a matakai biyar don masu farawa.

DevOps ya zama maganin jinkirin jinkiri, yanke haɗin kai da in ba haka ba hanyoyin haɓaka matsala. Amma kuna buƙatar ƙaramin ilimi a cikin DevOps. Zai rufe ra'ayoyi kamar sarkar DevOps da yadda ake ƙirƙirar ɗaya cikin matakai biyar. Wannan ba cikakken jagora bane, amma kawai "kifi" wanda za'a iya fadada shi. Bari mu fara da tarihi.

Gabatarwa na zuwa DevOps

Na kasance ina aiki tare da gajimare a Citi Group da haɓaka aikace-aikacen gidan yanar gizo na IaaS don sarrafa abubuwan ci gaban girgije na Citi, amma koyaushe ina sha'awar yadda zan inganta sarkar ci gaba da haɓaka al'adu tsakanin masu haɓakawa. Greg Lavender, CTO ɗin mu don Gine-ginen Gine-gine da Kayayyakin Gajimare, ya ba ni shawarar wannan littafin. Project "Phoenix". Yana bayyana ƙa'idodin DevOps da kyau kuma yana karantawa kamar labari.

Teburin da ke baya yana nuna sau nawa kamfanoni ke fitar da sabbin nau'ikan:

Jagorar Dummies: Gina Sarkar DevOps tare da Buɗewar Kayan aikin Tushen

Ta yaya Amazon, Google da Netflix ke sarrafa fitar da yawa? Kuma abu ne mai sauƙi: sun gano yadda ake ƙirƙirar sarkar DevOps kusan cikakke.

Abubuwa sun bambanta a gare mu a Citi har sai mun koma DevOps. Sa'an nan tawagar ta na da yanayi daban-daban, amma mun yi isarwa zuwa uwar garken ci gaba da hannu. Duk masu haɓakawa suna da damar zuwa uwar garken ci gaba ɗaya kaɗai bisa tushen IBM WebSphere Application Server Community Edition. Tare da ƙoƙari na lokaci guda don isar da sabar, uwar garken "ya fadi", kuma kowane lokaci dole ne mu yi shawarwari "cikin raɗaɗi" a tsakaninmu. Har ila yau, muna da ƙarancin ɗaukar hoto tare da gwaje-gwaje, tsarin isar da hannu mai cin lokaci, kuma babu wata hanyar bin diddigin isar da lambar tare da taimakon wasu ɗawainiya ko buƙatun abokin ciniki.

A bayyane yake cewa wani abu da ake buƙatar gaggawar yi, kuma na sami abokin aiki mai ra'ayi. Mun yanke shawarar ƙirƙirar sarkar DevOps ta farko tare - ya kafa na'ura mai mahimmanci da uwar garken aikace-aikacen Tomcat, kuma na kula da Jenkins, haɗin gwiwa tare da Atlassian Jira da BitBucket, da kuma ɗaukar hoto tare da gwaje-gwaje. Aikin ya yi nasara: mun daidaita tsarin ci gaba da sarrafa kansa, mun sami kusan 100% akan sabar ci gaba, mun sami damar saka idanu da haɓaka ɗaukar hoto tare da gwaje-gwaje, kuma ana iya ɗaure reshen Git zuwa isar da Jira da fitowar. Kuma kusan dukkanin kayan aikin da muka yi amfani da su don gina sarkar DevOps sun kasance tushen tushe.

A zahiri, an sauƙaƙe sarkar, saboda ba mu ma amfani da na'urori masu tasowa ta amfani da Jenkins ko Mai yiwuwa ba. Amma mun yi nasara. Wataƙila wannan sakamakon ƙa'idar ne Pareto (kamar 80/20).

Takaitaccen Bayanin DevOps da Sarkar CI/CD

DevOps yana da ma'anoni daban-daban. DevOps, kamar Agile, sun haɗa da fannoni daban-daban. Amma yawancin za su yarda da ma'anar mai zuwa: DevOps hanya ce, ko tsarin rayuwa, na haɓaka software, babban ka'idarsa shine ƙirƙirar al'ada inda masu haɓakawa da sauran ma'aikata suke "a kan tsayi iri ɗaya", aikin hannu yana sarrafa kansa. kowa yana yin abin da ya fi dacewa da shi, yawan isarwa yana ƙaruwa, yawan aiki yana ƙaruwa, sassauci yana ƙaruwa.

Duk da yake kayan aikin kadai ba su isa don ƙirƙirar yanayin DevOps ba, suna da mahimmanci. Mafi mahimmancin waɗannan shine ci gaba da haɗin kai da ci gaba da bayarwa (CI/CD). Akwai matakai daban-daban a cikin sarkar don kowane yanayi (misali DEV (ci gaba), INT (haɗin kai), TST (gwaji), QA (tabbacin ingancin), UAT (gwajin karɓar mai amfani), STG (shiri), PROD (amfani)) , Ayyukan hannu suna sarrafa kansa, masu haɓakawa na iya yin lambar inganci, sadar da shi, kuma suna iya sake ginawa cikin sauƙi.

Wannan bayanin kula yana bayyana yadda ake ƙirƙirar sarkar DevOps a matakai biyar, kamar yadda aka nuna a hoton da ke ƙasa, ta amfani da kayan aikin buɗewa.

Jagorar Dummies: Gina Sarkar DevOps tare da Buɗewar Kayan aikin Tushen

Mu sauka kan kasuwanci.

Mataki 1: CI/CD Platform

Da farko, kuna buƙatar kayan aikin CI/CD. Jenkins wani lasisi ne na MIT, buɗaɗɗen tushen CI/CD kayan aiki da aka rubuta a cikin Java wanda ya haɓaka motsin DevOps kuma ya zama ma'auni na gaskiya don CICD.

Menene Jenkins? Ka yi tunanin cewa kana da kwamitin kula da sihiri don ayyuka da kayan aiki iri-iri. A kan kansa, kayan aikin CI / CD kamar Jenkins ba shi da amfani, amma tare da kayan aiki da ayyuka daban-daban, ya zama mai ƙarfi duka.

Baya ga Jenkins, akwai wasu kayan aikin buɗe tushen da yawa, zaɓi kowane.

Jagorar Dummies: Gina Sarkar DevOps tare da Buɗewar Kayan aikin Tushen

Ga yadda tsarin DevOps yayi kama da kayan aikin CI/CD

Jagorar Dummies: Gina Sarkar DevOps tare da Buɗewar Kayan aikin Tushen

Kuna da kayan aikin CI / CD a cikin gida, amma babu da yawa da za a yi tukuna. Mu ci gaba zuwa mataki na gaba.

Mataki 2: Sarrafa Sigar

Hanya mafi kyau (kuma mafi sauƙi mafi sauƙi) don gwada sihirin kayan aikin CI/CD shine haɗa shi tare da kayan aikin sarrafa tushen (SCM). Me yasa kuke buƙatar sarrafa sigar? A ce kana yin aikace-aikace. Kuna rubuta shi a cikin Java, Python, C++, Go, Ruby, JavaScript, ko kowane yare wanda ke da keken keke da ƙaramin keke. Abin da kuke rubuta ana kiran lambar tushe. Da farko, musamman idan kana aiki kai kaɗai, za ka iya ajiye komai zuwa kundin adireshi na gida. Amma yayin da aikin ke girma kuma mutane da yawa suna shiga, kuna buƙatar hanyar raba canje-canjen lamba amma ku guje wa rikice-rikice yayin haɗa canje-canje. Kuma kuna buƙatar ko ta yaya dawo da juzu'in da suka gabata ba tare da yin amfani da madogara ba da amfani da hanyar kwafi don fayilolin code.

Kuma a nan ba tare da SCM ko'ina ba. SCM tana adana lambar a cikin ma'ajiyar ajiya, tana sarrafa nau'ikan sa, kuma tana daidaita shi tsakanin masu haɓakawa.

Akwai kayan aikin SCM da yawa, amma Git ya cancanci zama ma'auni na gaskiya. Ina ba ku shawara ku yi amfani da shi, amma akwai wasu zaɓuɓɓuka.

Jagorar Dummies: Gina Sarkar DevOps tare da Buɗewar Kayan aikin Tushen

Anan ga yadda bututun DevOps yayi kama bayan ƙara SCM.

Jagorar Dummies: Gina Sarkar DevOps tare da Buɗewar Kayan aikin Tushen

Kayan aikin CI/CD na iya sarrafa sarrafa lambar tushe da lodawa da zazzagewa da haɗin gwiwar ƙungiya. Ba sharri ba? Amma yanzu yadda ake yin aikace-aikacen aiki daga wannan, wanda biliyoyin masu amfani ke so?

Mataki 3: Gina Kayan Aikin Automation

Komai yana tafiya yadda ya kamata. Kuna iya loda lamba kuma kuyi canje-canje ga sarrafa tushe, kuma ku gayyaci abokai suyi aiki tare da ku. Amma har yanzu ba ku da app tukuna. Domin wannan ya zama aikace-aikacen yanar gizo, dole ne a haɗa shi kuma a haɗa shi don rarrabawa ko aiki azaman mai aiwatarwa. (Yaren shirye-shiryen da aka fassara kamar JavaScript ko PHP baya buƙatar haɗawa.)

Yi amfani da kayan aikin ginawa ta atomatik. Ko wanne kayan aiki da kuka zaɓa, zai haɗa lambar a cikin tsari mai kyau kuma ya sarrafa sarrafa kansa, haɗawa, gwaji, da bayarwa. Gina kayan aikin ya bambanta da harshe, amma ana amfani da zaɓuɓɓukan buɗe tushen masu zuwa.

Jagorar Dummies: Gina Sarkar DevOps tare da Buɗewar Kayan aikin Tushen

Cikakku! Yanzu bari mu saka fayilolin daidaitawar kayan aikin kayan aiki a cikin sarrafa tushen don kayan aikin CI/CD ya gina su.

Jagorar Dummies: Gina Sarkar DevOps tare da Buɗewar Kayan aikin Tushen

Yana jin dadi. Amma a ina ne duk wannan za a fitar yanzu?

Mataki 4: Sabar Aikace-aikacen Yanar Gizo

Don haka, kuna da kunshin fayil wanda za'a iya aiwatarwa ko kuma fitar dashi. Domin aikace-aikacen ya zama mai fa'ida sosai, dole ne ya sami wani nau'in sabis ko dubawa, amma kuna buƙatar sanya shi duka a wani wuri.

Ana iya ɗaukar aikace-aikacen yanar gizo akan sabar aikace-aikacen yanar gizo. Sabar aikace-aikacen tana ba da yanayi inda za ku iya aiwatar da dabaru na fakiti, samar da musaya, da fallasa ayyukan yanar gizo akan soket. Kuna buƙatar uwar garken HTTP da ƴan wasu mahalli (na'ura mai kama-da-wane, alal misali) don shigar da sabar aikace-aikacen. A yanzu, bari mu ɗauka cewa kuna ma'amala da duk waɗannan yayin da kuke tafiya (ko da yake zan yi magana game da kwantena a ƙasa).

Akwai buɗaɗɗen sabar aikace-aikacen gidan yanar gizo da yawa.

Jagorar Dummies: Gina Sarkar DevOps tare da Buɗewar Kayan aikin Tushen

Mun riga muna da sarkar DevOps kusan aiki. Babban aiki!

Jagorar Dummies: Gina Sarkar DevOps tare da Buɗewar Kayan aikin Tushen

A ka'ida, za ka iya tsayawa a nan, to, za ka iya rike shi da kanka, amma yana da daraja magana game da ingancin lambar.

Mataki na 5: Gwajin ɗaukar hoto

Gwaji yana ɗaukar lokaci mai yawa da ƙoƙari, amma yana da kyau a nemo kurakurai nan da nan kuma a inganta lambar don faranta wa masu amfani damar ƙarewa. Don wannan dalili, akwai kayan aikin buɗewa da yawa waɗanda ba kawai za su gwada lambar ba, har ma suna ba da shawara kan yadda za a inganta shi. Yawancin kayan aikin CI/CD na iya shiga waɗannan kayan aikin kuma su sarrafa tsarin.

Gwaji ya kasu kashi biyu: tsarin gwaji don rubutawa da aiwatar da gwaje-gwaje, da kayan aikin da ke da alamu don inganta ingancin lambar.

Tsarin Gwaji

Jagorar Dummies: Gina Sarkar DevOps tare da Buɗewar Kayan aikin Tushen

Kayan aiki tare da shawarwari masu inganci

Jagorar Dummies: Gina Sarkar DevOps tare da Buɗewar Kayan aikin Tushen

Yawancin waɗannan kayan aikin da tsarin an rubuta su don Java, Python, da JavaScript saboda C++ da C # mallaki ne (ko da yake GCC buɗaɗɗen tushe ne).

Mun yi amfani da kayan aikin ɗaukar hoto, kuma yanzu bututun DevOps yakamata yayi kama da hoton a farkon koyawa.

Ƙarin matakai

Kwantena

Kamar yadda na fada a baya, ana iya shigar da uwar garken aikace-aikacen a cikin injin kama-da-wane ko uwar garken, amma kwantena sun fi shahara.

Menene kwantena? A takaice, a cikin na'ura mai mahimmanci, tsarin aiki sau da yawa yana ɗaukar sarari fiye da aikace-aikacen, kuma kwantena yawanci ya wadatar da ƴan ɗakunan karatu da daidaitawa. A wasu lokuta, injunan kama-da-wane ba makawa ne, amma akwati na iya ɗaukar aikace-aikacen tare da uwar garken ba tare da ƙarin farashi ba.

Don kwantena, yawanci ana ɗaukar Docker da Kubernetes, kodayake akwai wasu zaɓuɓɓuka.

Jagorar Dummies: Gina Sarkar DevOps tare da Buɗewar Kayan aikin Tushen

Karanta labarai game da Docker da Kubernetes a budesource.com:

Kayan aikin atomatik na Middleware

Sarkar mu ta DevOps tana mai da hankali ne kan ginin haɗin gwiwa da isar da aikace-aikace, amma akwai wasu abubuwa masu ban sha'awa da zaku iya yi tare da kayan aikin DevOps. Misali, yi amfani da Infrastructure as Code (IaC), wanda kuma aka sani da kayan aikin atomatik na tsakiya. Waɗannan kayan aikin suna taimakawa shigarwa ta atomatik, gudanarwa, da sauran ayyuka don middleware. Misali, kayan aikin sarrafa kansa na iya ɗaukar aikace-aikace (sabar aikace-aikacen yanar gizo, bayanan bayanai, kayan aikin sa ido) tare da daidaitawa daidai kuma tura su zuwa uwar garken aikace-aikacen.

Anan akwai wasu zaɓuɓɓuka don buɗe kayan aikin atomatik na middleware:

Jagorar Dummies: Gina Sarkar DevOps tare da Buɗewar Kayan aikin Tushen

Cikakkun bayanai a cikin labaran budesource.com:

Yanzu kuma menene?

Wannan shine kawai titin dutsen kankara. Sarkar DevOps na iya yin ƙari sosai. Fara da kayan aikin CI/CD kuma duba abin da zaku iya sarrafa kansa don sauƙaƙe aikinku. Kar a manta game da bude kayan aikin sadarwa don ingantaccen haɗin gwiwa.

Anan akwai ƙarin labarai masu kyau na DevOps don masu farawa:

Hakanan zaka iya haɗa DevOps tare da buɗe kayan aikin agile:

source: www.habr.com

Add a comment