Қалай алты айда немесе одан да тезірек DevOps инженері болуға болады. 1-бөлім. Кіріспе

Мақсатты аудитория

Сіз мансапыңызды жетілдірілген DevOps үлгісіне бұруды қалайтын әзірлеушісіз бе? Сіз классикалық операциялық инженерсіз бе және DevOps нені білдіретіні туралы түсінік алғыңыз келе ме? Немесе сіз де емессіз бе және IT саласында біраз уақыт жұмыс істегеннен кейін мансапты өзгерткіңіз келеді және неден бастарыңызды білмейсіз бе?
Егер солай болса, алты айда қалай орта деңгейлі DevOps инженері болуға болатынын білу үшін оқыңыз! Ақырында, егер сіз DevOps-те көп жылдар бойы айналыссаңыз, интеграция және автоматтандыру саласы қазіргі уақытта қай жерде және оның қайда бара жатқанын білу үшін осы мақалалар сериясынан әлі де көп нәрсе аласыз.

Қалай алты айда немесе одан да тезірек DevOps инженері болуға болады. 1-бөлім. Кіріспе

Бұл дегеніміз не?

Біріншіден, DevOps дегеніміз не? Google анықтамаларын қарап шығуға және барлық сөз тіркестерін аралап шығуға болады, бірақ анықтамалардың көпшілігі жеңілдетілген пішінде оралған сөздердің шатасуы екенін біліңіз. Сондықтан мен сізге барлық осы анықтамалардың қысқаша мазмұнын беремін: DevOps - бұл бас ауруы мен жауапкершілік барлық қатысушыларға ортақ болатын бағдарламалық жасақтаманы жеткізу әдісі. Осымен болды.

Жарайды, бірақ бұл аббревиатура нені білдіреді? Бұл дәстүрлі түрде Әзірлеушілер (бағдарламалық жасақтаманы жасайтын адамдар) Операциялардан (бағдарламалық жасақтаманы басқаратын адамдар) айтарлықтай ерекшеленетін ынталандырулар арқылы өз жұмыстарын орындауға итермелейтінін білдіреді. Мысалы, әзірлеуші ​​ретінде мен мүмкіндігінше тезірек көптеген жаңа мүмкіндіктерді жасағым келеді. Өйткені, бұл менің жұмысым және клиенттердің талап ететіні осы! Дегенмен, егер мен операциялық қызметкер болсам, онда маған мүмкіндігінше аз жаңа мүмкіндіктер қажет, өйткені әрбір жаңа мүмкіндік өзгеріс болып табылады және кез келген өзгеріс қиындықтарға толы. Ынталандырулардың дұрыс реттелмеуі нәтижесінде DevOps дүниеге келді.

DevOps әзірлеу мен операцияларды (интеграция және автоматтандыру) бір топқа біріктіруге тырысады. Енді бір топ тұтынушыға арналған бағдарламалық жасақтаманы құру, орналастыру және табыс алудың ауыртпалығын да, жауапкершілігін де (және ықтимал сыйақыларды) бөліседі деген идея.

Пуристтер сізге «DevOps инженері» деген ұғым жоқ екенін айтады. «DevOps - бұл рөл емес, мәдениет», - дейді. Әрине, техникалық тұрғыдан олар дұрыс, бірақ солай. Көбінесе бұл термин қолданыстан шығып кетті Өзінің бастапқы мағынасынан басқа, DevOps инженері «жүйелік инженер 2.0» сияқты нәрсе. Басқаша айтқанда, ол бағдарламалық жасақтаманы әзірлеудің өмірлік циклін түсінетін және бағдарламалық жасақтаманы әзірлеу құралдары мен процестерін жасайтын адам. классикалық операциялық есептерді шешу.

Қалай алты айда немесе одан да тезірек DevOps инженері болуға болады. 1-бөлім. Кіріспе

DevOps, сайып келгенде, әзірлеушінің ноутбугынан кодты алатын және оны түпкілікті өнімді пайдаланудан түсетін табысқа айналдыратын сандық құбырларды жасауды білдіреді, бұл бәрі туралы. DevOps мансабын таңдау қаржылық сыйақылармен өте жоғары деңгейде өтелетінін ескеріңіз, өйткені әрбір дерлік компания «DevOps жасайды» немесе өзін осындай деп мәлімдейді. Бұл компаниялардың қай жерде орналасқанына қарамастан, DevOps сияқты жалпы жұмыс мүмкіндіктері өте жоғары және көптеген жылдар бойы «қызықты» және мағыналы жұмыс ұсынады.

Дегенмен, «DevOps командасын» немесе «DevOps бөлімін» жалдайтын компаниялардан сақ болыңыз. Қатаң айтқанда, мұндай нәрселер болмауы керек, өйткені, сайып келгенде, DevOps әлі де мәдениет және бағдарламалық қамтамасыз етуді жеткізу тәсілі болып табылады, жаңа команданы жасақтау немесе бөлім құру емес. сәнді атау.

Жауапкершіліктен бас тарту

Енді «Кол-Айд» стаканын бір сәтке шетке қойып, мынаны ойластырайық. Сіз ескі мақалды естідіңіз бе: «Кіші DevOps инженерлері жоқ?» Олай болмаса, бұл Reddit және StackOverflow-тағы танымал троп екенін біліңіз. Бірақ бұл нені білдіреді?

Қарапайым тілмен айтқанда, бұл сөз тіркесі, сайып келгенде, нағыз тиімді аға DevOps тәжірибешісі болу үшін құралдарды жақсы түсінумен бірге көп жылдық тәжірибе қажет екенін білдіреді. Ал, өкінішке орай, мақсатқа жетудің төте жолы жоқ. Сондықтан бұл жүйені ойнау әрекеті емес - менің ойымша, бұл салада бірнеше ай тәжірибесі бар аға DevOps инженері болып көріну мүмкін емес. Жылдам өзгеретін құралдар мен әдістемелерді жақсы түсінуге қол жеткізу үшін көп жылдық тәжірибе қажет және оны айналып өту мүмкін емес. Дегенмен, көптеген компаниялар қолданатын құралдар мен концепциялардың дерлік дәйекті (сәнді, қажет болса) мәзірі бар және біз бұл туралы айтатын боламыз.

Тағы да, құралдар дағдылардан ерекшеленеді, сондықтан құралдарды үйреніп жатқанда, өз дағдыларыңызды (сауалнама жүргізу, желі құру, жазбаша қарым-қатынас, ақаулықтарды жою және т.б.) назардан тыс қалдырмағаныңызға көз жеткізіңіз. Ең бастысы, біз тапқымыз келетін нәрсені - идеяларды қабылдайтын және оларды кіріс әкелетін код бөліктеріне айналдыратын толық автоматтандырылған цифрлық құбырды жасау тәсілін ұмытпау. Бұл бүкіл мақаладан шыққан жалғыз ең маңызды қорытынды!

Әңгімелесу жеткілікті, мен қашан бастай аламын?

Төменде DevOps Fundamental Knowledge жол картасы берілген. Онда бейнеленгеннің бәрін игеріп, сіз өзіңізді қауіпсіз және адал түрде DevOps инженері деп атай аласыз! Немесе «DevOps» атауы ұнамаса, бұлттық инженер.

Қалай алты айда немесе одан да тезірек DevOps инженері болуға болады. 1-бөлім. Кіріспе

Бұл карта менің (және осы кеңістікте жұмыс істейтін адамдардың көпшілігінің) құзыретті DevOps инженері не білуі керек екендігі туралы идеяны білдіреді. Дегенмен, бұл тек пікір, онымен келіспейтіндер де болады, әрине. Бұл жақсы! Біз бұл жерде кемелдікке ұмтылмаймыз, біз шын мәнінде құра алатын берік іргетасқа ұмтыламыз.

Сіз бұл жолды біртіндеп, қабат-қабатпен өтуіңіз керек. Алдымен көгілдір элементтер — Linux, Python және AWS туралы үйрену арқылы негіздерден бастайық (және жалғастырайық!). Содан кейін, егер уақыт немесе жұмыс нарығының сұранысы рұқсат етсе, күлгін нәрсені жасаңыз - Golang және Google Cloud.

Шынымды айтсам, іргелі жоғарғы қабат - бұл сіз мәңгі оқуға тура келетін нәрсе. OS Linux өте күрделі және оны меңгеру үшін жылдар қажет. Python өзекті болу үшін тұрақты тәжірибені қажет етеді. AWS тез дамып келе жатқаны сонша, бүгін білетіндеріңіз бір жылдан кейін жалпы білім портфолиосының бір бөлігі ғана болады. Негіздерді үйренгеннен кейін, нақты дағдылар жиынтығына өтіңіз. Барлығы 6 көк баған бар екенін ескеріңіз (Конфигурация, Нұсқа, Бума, Орналастыру, Іске қосу, Бақылау), бір айда бір оқу.

Қалай алты айда немесе одан да тезірек DevOps инженері болуға болады. 1-бөлім. Кіріспе

Сіз, әрине, біздің алты айлық құбырымызда маңызды кезең – тестілеудің жоқтығын байқадыңыз. Мен оны жол картасына әдейі қоспадым, өйткені модуль, интеграция және қабылдау сынақтарын жазу оңай емес және дәстүрлі түрде әзірлеушілердің иығына түседі. Ал «тестілеу» кезеңін өткізіп жіберу бұл жол картасының мақсаты негізгі дағдылар мен құралдарды мүмкіндігінше тез меңгеру екендігімен түсіндіріледі. Тестілеу тәжірибесінің жоқтығы, автордың пікірінше, DevOps-ті дұрыс пайдалануға аз ғана кедергі болып табылады.

Сондай-ақ, біз мұнда бір-бірімен байланысы жоқ техникалық былдырлауды үйренбейміз, керісінше, нақты оқиға жасау үшін біріктірілетін құралдарды түсінеміз. Бұл оқиға процесті автоматтандыру туралы - биттерді құрастыру сызығы сияқты жылжытатын цифрлық құрастыру желісі. Сіз көптеген құралдарды үйреніп, тоқтап қалғыңыз келмейді! DevOps құралдары тез өзгереді, бірақ тұжырымдамалар әлдеқайда аз өзгереді. Сондықтан, құралдарды жоғары деңгейлі концепцияларды үйрету үшін прокси ретінде пайдалануға ұмтылу керек.

Жарайды, сәл тереңірек қазайық!

Негізгі білім

Foundation деп аталатын жоғарғы қадамның астында сіз әрбір DevOps инженері меңгеруі керек дағдыларды көре аласыз. Бұл дағдылар саланың үш тұғырын сенімді түрде өңдеу болып табылады, олар: операциялық жүйе, бағдарламалау тілі және жалпыға қолжетімді бұлт. Бұл нәрселер тез үйреніп, әрі қарай қозғалатын нәрсе емес. Бұл дағдылар саланың алдыңғы қатарында болу және айналаңыздағы кәсіби ортаға сәйкес болу үшін үнемі жетілдіріп, игерілуі керек. Оларды бір-бірлеп қарастырайық.

Linux - бәрі жұмыс істейтін жерде. Майкрософт экожүйесінде толықтай бола отырып, сіз керемет DevOps тәжірибешісі бола аласыз ба? Әрине, мүмкін! Сізге тек Linux-ті пайдалануды талап ететін заң жоқ. Дегенмен, барлық Linux әрекеттерін Windows жүйесінде жасауға болатынына қарамастан, бұл жерде бұл әлдеқайда ауыр және аз функционалдылықпен болатынын есте сақтаңыз. Осы кезде Linux-ті білмей-ақ, нағыз DevOps кәсіпқойы болу мүмкін емес деп болжауға болады, сондықтан Linux - сіз оқып, үйренуіңіз керек нәрсе.

Шынымды айтсам, мұны істеудің ең жақсы жолы - үйде Linux (Fedora немесе Ubuntu) орнату және оны мүмкіндігінше пайдалану. Әрине, сіз көп нәрсені бұзасыз, жұмыс процестеріне кептеліп қаласыз, бәрін түзетуге тура келеді, бірақ Linux-ті үйренесіз!

Қалай алты айда немесе одан да тезірек DevOps инженері болуға болады. 1-бөлім. Кіріспе

Айтпақшы, RedHat нұсқалары Солтүстік Америкада жиі кездеседі, сондықтан Fedora немесе CentOS-тан бастаған жөн. KDE немесе Gnome шығарылымын сатып алу керек пе деген сұрақ туындаса, KDE таңдаңыз. Бұл Линус Торвальдстың өзі қолданады.

Python бүгінгі күні басым тіл болып табылады. Оны бастау оңай және кеңінен қолданылады. Python жасанды интеллект және машиналық оқыту саласында өте кең таралған, сондықтан егер сіз басқа ыстық өріске ауысқыңыз келсе, сіз толығымен дайын боласыз.

Қалай алты айда немесе одан да тезірек DevOps инженері болуға болады. 1-бөлім. Кіріспе

Amazon Web Services: Жалпыға ортақ бұлттың қалай жұмыс істейтінін толық түсінбестен тәжірибелі DevOps кәсіпқойы болу мүмкін емес. Бұл туралы көбірек білгіңіз келсе, Amazon Web Services бөлімін қараңыз. Бұл қызмет көрсету саласындағы жетекші ойыншы және жұмыс құралдарының ең бай жиынтығын ұсынады.

Оның орнына Google Cloud немесе Azure арқылы бастауға болады ма? Әрине болады! Бірақ соңғы қаржылық дағдарысты еске түсіре отырып, AWS кем дегенде 2018 жылы ең қауіпсіз нұсқа екенін атап өткен жөн, өйткені ол тіркелгіні тегін тіркеуге және бұлттық қызметтердің мүмкіндіктерін зерттеуді бастауға мүмкіндік береді. Сонымен қатар, AWS консолі пайдаланушыға таңдау үшін қарапайым және түсінікті мәзірді ұсынады. Жақсы жаңалық, мұны істеу үшін Amazon технологияларының барлығын білудің қажеті жоқ.

Қалай алты айда немесе одан да тезірек DevOps инженері болуға болады. 1-бөлім. Кіріспе

Келесіден бастаңыз: VPC, EC2, IAM, S3, CloudWatch, ELB (EC2 қолшатырының астында серпімді жүктемені теңестіру) және Қауіпсіздік тобы. Бұл нәрселер сізді бастау үшін жеткілікті және әрбір заманауи, бұлтқа негізделген кәсіпорын бұл құралдарды белсенді түрде пайдаланады. AWS-тің жеке оқу сайты - бастау үшін жақсы орын.

Мен сізге күнделікті 20-30 минутыңызды Python тілін, Linux операциялық жүйесін және AWS бұлттық сервисін үйренуге және үйренуге жұмсауға кеңес беремін, сонымен қатар басқа да үйренуге тура келеді. Тұтастай алғанда, мен күніне бір сағатты аптасына бес рет жұмсау 6 ай немесе одан аз уақыт ішінде DevOps индустриясын түсіну үшін жеткілікті деп есептеймін. Барлығы 6 негізгі компонент бар, олардың әрқайсысы бір айлық оқуға сәйкес келеді. Бұл сізге негізгі білімді алу үшін қажет.
Келесі мақалаларда біз күрделіліктің келесі деңгейін қарастырамыз: бағдарламалық жасақтаманы конфигурациялау, нұсқалау, орау, орналастыру, іске қосу және бақылауды қалай толығымен автоматтандыру керек.

Жақында жалғасын табады...

Кейбір жарнамалар 🙂

Бізбен бірге болғандарыңызға рахмет. Сізге біздің мақалалар ұнайды ма? Қызықты мазмұнды көргіңіз келе ме? Тапсырыс беру немесе достарыңызға ұсыну арқылы бізге қолдау көрсетіңіз, әзірлеушілерге арналған бұлтты VPS $4.99, Сіз үшін біз ойлап тапқан бастапқы деңгейдегі серверлердің бірегей аналогы: VPS (KVM) E5-2697 v3 (6 ядросы) 10 ГБ DDR4 480 ГБ SSD 1 Гбит/с 19 доллардан немесе серверді қалай бөлісуге болатыны туралы барлық шындық? (RAID1 және RAID10, 24 ядроға дейін және 40 ГБ DDR4 дейін қол жетімді).

Dell R730xd Амстердамдағы Equinix Tier IV деректер орталығында 2 есе арзан ба? Тек осында 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6 ГГц 14C 64 ГБ DDR4 4x960 ГБ SSD 1 Гбит/с 100 теледидар 199 доллардан бастап Нидерландыда! Dell R420 - 2x E5-2430 2.2 ГГц 6C 128 ГБ DDR3 2x960 ГБ SSD 1 Гбит/с 100 ТБ - 99 доллардан бастап! туралы оқыңыз Инфрақұрылымдық корпорацияны қалай құруға болады. бір тиынға 730 еуро тұратын Dell R5xd E2650-4 v9000 серверлерін қолданатын класс?

Ақпарат көзі: www.habr.com

пікір қалдыру