درحال حاضر DevOps و SRE بازار داغی دارند و هر روز شاهد تلاش همکاران و توسعه دهندگان خبره برای ورود به DevOps و دریافت جایگاه مهندسی DevOps و سینیور شدن هستیم.
صادقانه میتوان مزایای DevOps را تایید نمود، DevOps مستقیما با توسعه و استقرار نرم افزار مرتبط است، بر حسب تجربه میتوان گفت که DevOps شغل آسانی نیست و انتخاب مسیر DevOps در میان ابزارها و تمرین های متفاوت، مشکل است.
در این مقاله قصد داریم که راهنمای تبدیل شدن به یک مهندس DevOps را در سال 2022 بررسی کنیم، اگرچه نقشه راه این مزیت را دارد که به ما نشان میدهد که چه چیزی را باید یاد گرفت ولی این موضوع را بیان نمیکند که چگونه و با چه منابعی میتوان یادگیری را شروع کرد که ما در مقالهی نقشهی راه DevOps و SRE سال 2022 بصورت کامل این منابع را معرفی خواهیم کرد.
نقشهی راه DevOps سال 2022 برای توسعه دهندگان
در این نقشه ی راه DevOps ما در مورد موارد زیر صحبت خواهیم کرد:
1-یادگیری زبان برنامه نویسی
شما باید به یکی از سه زبان برنامه نویسی جاوا، پایتون یا جاوا اسکریپت مسلط باشید و در صورتیکه در حال حاضر به هیچ کدام از آن ها تسلط ندارید، یکی از زبان های برنامه نویسی زیر را برای یادگیری انتخاب کنید و حتما پیشنهاد میشود که حداقل یکی از آن 3 زبان برنامه نویسی گفته شده را یاد بگیرید.
1-1 جاوا
برای یادگیری زبان جاوا آموزش کامل Master class java پیشنهاد میشود، یک آموزش کامل و جامع که به تازگی هم به جاوا 10 بروزرسانی شده است.
1-2 پایتون
اگر تمایل به یادگیری پایتون دارید بوت کمپ آموزش پایتون پیشنهاد میشود، در این بوت کمپ پایتون 3 به شما آموزش داده میشود که رایج ترین نسخهی پایتون است.
1-3 جاوا اسکریپت
اگر شما قصد یادگیری زبان برنامه نویسی جاوا اسکریپت را دارید به هیچ عنوان آموزش جاوا اسکریپت یودمی برای مبتدیان را از دست ندهید.
اگر هزینه ی مالی خیلی مورد نظر شما نیست می توانید لینک های زیر را هم برای یادگیری زبان جاوا، جاوا اسکریپت و پایتون بررسی کنید.
2-درک مفاهیم متفاوت سیستم عامل
قبل از شکل گیری و ورود devops تنها نیازبود که ادمین های شبکه وسیستم در خصوص سیستم عامل و سخت افزار اطلاعات داشته باشند ولی یک توسعه دهنده devops نیز باید به این مباحث مسلط باشد.
شما باید حداقل در خصوص مباحث مدیریت فرآیند، سرنخ ها و همزمانی،سوکت ها، مدیریت ورودی و خروجی، مجازی سازی، ذخیره سازی و فایل سیستم به همان صورت که در تصویر نقشهی راه پیشنهاد شده است بدانید.
با توجه به اینکه بیشتر ما با لینوکس کار میکنیم، پیشنهاد میشود که از آموزش مدیریت لینوکس یودمی برای درک و ارتقای دانش سیستم عامل لینوکس استفاده شود.
اگر هزینه برای شما مطرح است میتوانید آموزش رایگان این سایت را بررسی کنید
3-باید یاد بگیرید که در ترمینال زندگی کنید
یک توسعه دهنده devops باید توانایی بالایی در command نویسی داشته باشد، بخصوص اگر با لینوکس کار میکنید باید در مورد پوسته لینوکس مثل Bash یا Ksh و ابزارهایی مانند find، grep، awk، sed، lsof و هم چنین دستورات شبکه مانند nslookup و netstat بدانید.
اگر احتیاج به بروزرسانی و آموزش در خصوص اطلاعات command و ابزارهای لینوکس دارید میتوانید آموزش پایه ای خط فرمان لینوکس را مشاهده کنید.
این دوره برای کاربران مبتدی و هم چنین افرادی که به این مباحث مسلط هستند و قصد یادآوری دارند، بسیار مناسب است، برای استفاده از این دوره نیاز به عضویت Pluralsight دارید که هزینهی آن 29 دلار در ماه و 299 دلار در سال است.
Pluralsight مانند توسعه دهنده نتفلیکس است و بیش از 6000 دورهی آموزشی در خصوص آخرین فناوری ها را دارد که می توانید در مورد هر چیزی و در هر جایی از آن بهره ببرید.
اگر به انتخاب های بیشتری احتیاج دارید و می خواهید در اسکریپت نویسی پوسته ماهر شوید، میتوانید لینک best courses to learn shell scripting را بررسی کنید.
4-شبکه و امنیت
مطمئنا به دلیل زندگی در دوره ی ارتباطات روزافزون کامپیوترها و شبکه سازی، بحث شبکه و امنیت مهم میشود؛ پس بدیهی است که یک مهندس devops در این خصوص اطلاعات نداشته باشد؛ شما باید در خصوص مفهوم DNS, OSI Model, HTTP, HTTPS, FTP, SSL, TLS اطلاعات کافی داشته باشید.
برای شروع یادگیری یا ارتقای این مهارتها میتوانید TCP/IP and Networking Fundamentals را مشاهده کنید.
اگر احساس میکنید به منابع دیگری هم برای یادگیری این موارد نیاز دارید، میتوانید از کورس The Complete Networking Fundamentals برای شبکه و از کورس The Complete Cyber Security Course: Network برای امنیت استغاده کنید.
5 – چیستی و چگونگی برنامه های نصب شده
به عنوان یک مهندس devops باید بدانید که چه چیزی روی دیوایس شما تنظیم شده است و چگونه میتوانید آن را راه اندازی کنید و در مراحل بعد آن را بصورت اتوماتیک تنظیم کنید.
شما باید با نصب وب سرورهایی از قبیل IIS, Apache, Tomcat آشنایی داشته باشید و هم چنین در خصوص Caching Server، Load Balancer، Reverse غیر مجاز می باشد و Firewall تسلط کافی داشته باشید، اگر شما با مباحث توسعه وب آشنا نیستید، میتوانید از آموزش the Web Developer Bootcamp استفاده کنید.
6- زیرساخت ها را همانند کد یاد بگیرید
شاید یکی از مهم ترین مواردی که یک مهندس devops باید به آن مسلط باشد،کانتینرهایی مانند Docker و Kubernetes و ابزارهای مدیریت پیکربندی مانند Ansible، Chef، Salt و Puppet و هم چنین تجهیزات زیرساخت Terraform و Cloud formation است.
برای یادگیری Docker میتوانید دورهی Docker Mastery: The Complete Toolset را ببینید، این دوره تمام مباحث مورد نیاز را پوشش میدهد.
اگر قصد یادگیری Kubernetes را دارید آموزش Learn DevOps: The Complete Kubernetes course به شما پیشنهاد میشود، این آموزش نحوهی ساخت، استقرار و مدیریت Kubernetes را پوشش میدهد.
در صورت تمایل به یادگیری chef میتوانید از مرجع Chef Fundamentals: A Recipe for Automating Infrastructure برای آموزش استفاده کنید که در حال حاضر یکی از بهترین کورسهای موجود chef است.
و در نهایت اگر به انتخابهای بیشتری برای Docker احتیاج دارید، میتوانید لیست 10 essential courses for DevOps engineers. را بررسی کنید.
7- یادگیری ابزارهای یکپارچه سازی و تحویل(CI/CD)
یکی دیگر از موارد مهم برای مهندسین devops نصب پایپ لاین برای یکپارچه سازی و تحویل مداوم است، ابزارهای زیادی در خصوص CI/CD وجود دارد مثل Jenkins, TeamCity, Drone و دیگر ابزارها.
پیشنهاد میشود که بین این ابزارها، حتما jeniks را یاد بگیرید، زیرا این ابزار در میان ابزارها بسیار پرکاربرد است.
برای یادگیری jeniks میتوانید از کورس Learn DevOps: CI/CD with Jenkins using Pipelines and Docker استفاده کنید و خیالتان راحت باشد که کلیهی مباحث مورد نیاز پوشش داده میشود.
اگر هم نیاز به منابع رایگان دارید، میتوانید از لینک 6 free Jenkins and Maven courses استفاده کنید.
8- یادگیری نظارت به نرم افزار و زیرساختها
نظارت یکی دیگر از جنبههای یک مهندس devops است، شما علاوه بر استقرار و راه اندازی باید به نحوهی نظارت بر زیرساخت و برنامه ها مسلط باشید.
در این حوزه ابزارهای زیادی وجود دارد مانند Nagios, Icing, Datadog, Zabbix, Monit, AppDynanic, New Relic و ….
شما باید از بین این ابزارها ابزار مورد نظر خودتان را با توجه به اینکه شرکتی در آن کار میکنید از کدام یک استفاده میکند.
اگر میخواهید در خصوص Dynamic APP بیشتر اطلاعات داشته باشید، این لینک Cisco AppDynamics Application Performance Management (APM) را مطالعه کنید، این کورس ابزارهای کاربردی را پوشش داده است.
9- یادگیری دربارهی ارائه دهندگان Cloud
Cloud یکی از موارد مهم است که یک مهندس devops در طول جریان کاری به آن برخورد میکند، از این رو بهتر است که اطلاعات لازم را در خصوص بهترین ارائه دهنده های cloud و اصول اولیه، داشته باشید.
در حالیکه AWS رهبر بازار cloud است ولی همزمان Google Cloud و Azureهم به آرامی در حال پیشرفت هستند و از آن طرف هم ما وجود Heroku, Cloud Foundry Digital Ocean را داریم.
برای شروع پیشنهاد میشود که به API ها و برنامه های بدون سرور کلاسیک بپوندید، که AWS Serverless APIs & Apps — A Complete Introduction یک کورس مقدماتی و مناسب برای یادگیری است.
اگر نیاز به یادگیری بیشتر داریدو به دنبال منابع رایگان هستید، میتوانید فهرست دوره های رایگان AWS برای مهندسین Devops free AWS courses را بررسی کنید.
سخن پایانی
با تشکر از اینکه در خواندن این مقاله با ما همراه بودید، ممکن است که بعد از خواندن این مقاله فکرکنید که چیزهای زیادی را باید یاد بگیرید، احتمالا برخی از این موضوعات را از قبل میدانستید و ما سعی کردیم که منابع کاربردی رایگان و پولی را در اختیار شما قرار دهیم و شما آزاد هستید که از بین دوره های یودمی و مابقی دوره ها، دورهی مورد نظر خودتان را انتخاب کنید.
در پایان امیدواریم که در سفر مهندسی devops خود موفق باشید؛ با اینکه این مسیر، مسیر آسانی نیست ولی به کمک این نقشهی راه میتوانید یک قدم به هدف خود نزدیکتر شوید.