چگونه می توان در شش ماه یا کمتر از آن مهندس DevOps شد
چگونه می توان در شش ماه یا کمتر از آن مهندس DevOps شد.
توجه: این قسمت 1 از یک سری چند قسمت است.
مخاطب هدف
آیا شما یک توسعه دهنده هستید که می خواهید حرفه خود را به سمت یک مدل DevOps بیشتر سوق دهید؟
آیا شما یک فرد عملیاتی (Ops) با مهارت کلاسیک هستید و دوست دارید احساس این چیزهای کلی DevOps را بدست آورید؟
یا شما هیچ یک از موارد بالا نیستید و با گذراندن مدتی کار با فناوری ، اکنون به دنبال تغییر شغلی هستید و تصوری ندارید از کجا شروع کنید؟
اگر چنین است ، ادامه دهید ، زیرا ما می خواهیم ببینیم که چگونه طی شش ماه یک مهندس سطح متوسط DevOps شوید!
سرانجام ، اگر سالهاست که کار DevOps را انجام می دهید ، باز هم ممکن است این مسئله را به عنوان اعتبار مکانی که ما در آن قرار داریم و به کجا می خواهیم بیابید.
اول ، DevOps چیست؟
DevOps راهی برای ارائه نرم افزار با مسئولیت مشترک است.خوب ، اما این به چه معنی است؟
این بدان معناست که به طور سنتی ، توسعه دهندگان (افرادی که نرم افزاری را ایجاد می کنند) مشوق هایی داشتند که بسیار متفاوت از عملیاتی بودند (افرادی که نرم افزار اجرا می کنند).به عنوان مثال ، به عنوان یک توسعه دهنده ، می خواهم هر چه سریع تر ویژگی های جدیدی را ایجاد کنم. پس از همه ، این کار من است و این همان چیزی است که مشتریان خواستار آن هستند!با این حال ، اگر من یک فرد عملیاتی هستم ، به همان اندازه ویژگی های جدید می خواهم که ممکن باشد زیرا هر ویژگی جدید یک تغییر است و تغییر ریسک پذیر است.DevOps تلاش می کند تا توسعه و عملیات را به یک گروه بپیوندد. ایده این است که یک گروه هم مسئولیت (و احتمالاً پاداش) در ایجاد ، استقرار و ایجاد درآمد از نرم افزار مشتری مداری را به اشتراک می گذارند.اکنون ، چيزي به نام “مهندس DevOps” وجود ندارد. آنها به شما خواهند گفت: “DevOps یک فرهنگ است نه یک نقش”.اکنون ، مهندس بودن DevOps چیزی شبیه به “مهندس سیستم 2.0” است.به عبارت دیگر ، شخصی که چرخه توسعه نرم افزار را درک می کند و ابزارها و فرآیندهای مهندسی نرم افزار را برای حل چالش های عملیات کلاسیک به ارمغان می آورد.به بیان ساده تر ، به این معنی است که سالها تجربه در کنار داشتن درک کاملی از ابزارها طول می کشد تا در نهایت تبدیل به یک متخصص واقعاً مؤثر ارشد DevOps شود. و متاسفانه ، هیچ میانبر برای تجربه وجود ندارد. با این حال! منوی تقریباً مورد توافق (مرسوم ، مد روز ، اگر بخواهید) وجود دارد از ابزارها و مفاهیمی که بیشتر شرکت ها استفاده می کنند و این همان چیزی است که مقاله در مورد آن است!
صحبت کافی است ، از کجا شروع کنم؟
در زیر نقشه راه شما قرار دارد.
در موارد زیر مهارت پیدا کنید با اطمینان و صادقانه می توانید خود را مهندس DevOps بنامید! نقشه زیر بیانگر منابع (و احتمالاً اکثریت افرادی است که در این فضا کار می کنند) از آنچه مهندس DevOps باید بداند ایده دارد. گفته می شود ، این فقط یک عقیده است و قطعاً صداهای مخالف وجود خواهد داشت. خوب است!
توجه: منظور شما از عبور از این لایه به لایه از وسعت اول است. ابتدا با بنیاد شروع کنید (و ادامه دهید!) ابتدا فن آوری ها را به رنگ آبی (Linux | Python | AWS) بیاموزید ، سپس اگر زمان اجازه می دهد یا خواسته های بازار کار را دنبال می کنید ، به دنبال چیزهای بنفش بروید (Golang | Google Cloud).
باز هم ، در هر ستون به دنبال اولین لایه بروید. سپس ، زمان مجاز ، به دنبال لایه دوم بروید تا به تخصص خود بیفزایید.
صادقانه بگویم ، لایه اساسی در بالا چیزی است که شما هرگز نمی توانید یادگیری را متوقف کنید. لینوکس پیچیده است و سالها طول می کشد تا استاد شود. پایتون برای ادامه کار ، به تمرین مداوم نیاز دارد. AWS به سرعت در حال تکامل است و چیزهایی که امروز می دانید جز کسری از کل نمونه کارها در یک سال از الان است.
اما هنگامی که لایه بنیاد را منطقی فهمیدید ، به مجموعه مهارتهای دنیای واقعی بروید. توجه کنید که در کل 6 ستون آبی ، یک در ماه است.
توجه: آنچه که به ویژه از خط موازی فوق وجود ندارد ، Test است. این عمدی است – واحد نگارش ، آزمون های ادغام و پذیرش آسان نیست و به طور سنتی روی شانه های توسعه دهندگان قرار می گیرد. حذف مرحله آزمایشی عمدی است ، زیرا هدف از این نقشه راه جذب سریع مهارت ها و ابزارهای جدید است. فقدان تخصص تست توسط نویسنده به عنوان یک مانع ناچیز برای اشتغال مناسب DevOps ارزیابی شده است.
همچنین ، لطفاً به یاد داشته باشید ، ما بعد از یادگیری یک مجموعه کاملی از تکنیک های مرتبط با فن آوری غیر مرتبط در اینجا نیستیم. ما پس از درک کاملی از ابزارهایی که در کنار هم قرار گرفته اند ، یک داستان واحد و منسجم را برای ما بازگو می کنیم.
این داستان اتوماسیون فرایند پایان به پایان است – یک خط موازی دیجیتالی که بیتی را به روشی شبیه به خط مونتاژ حرکت می دهد.
علاوه بر این ، شما نمی خواهید یک دسته ابزار یاد بگیرید و متوقف شوید. ابزارها به سرعت تغییر می کنند ، مفاهیم بسیار کمتر. بنابراین ، کاری که شما می خواهید انجام دهید استفاده از ابزارهایی به عنوان پراکسی یادگیری برای مفاهیم سطح بالاتر است.
خوب ، بگذارید کمی عمیق تر به بحث بپردازیم
دانش مبانی
در زیر خط اصلی با عنوان “بنیاد” مهارت هایی را مشاهده خواهید کرد که باید مهندس DevOps به آن تسلط یابد.
در اینجا ، سه ستون حاکم بر صنعت خواهید دید: سیستم عامل ، زبان برنامه نویسی ، ابر عمومی. این چیزها چیزی نخواهد بود که بتوانید خیلی سریع یاد بگیرید ، آنها را از لیست خارج کنید و حرکت کنید. اینها مهارتهایی خواهند بود که باید بطور مداوم آنها را کسب کرده ، تا به آنچه در جریان است ، مرتبط و به روز باشید.
بیایید یکی یکی از آنها عبور کنیم.
لینوکس
لینوکس: همه جا اجرا می شود. حال ، می توانید یک متخصص عالی DevOps باشید و کاملاً در اکوسیستم مایکروسافت بمانید؟ البته که می توانید! قانونی وجود ندارد که لینوکس را برای همه چیز الزام کند.با این حال! لطفاً بدانید که اگرچه همه کارهای DevOps-y را می توان با ویندوز انجام داد ، اما بسیار دردناکتر است و فرصت های شغلی به مراتب کمتر است. در حال حاضر ، با اطمینان می توانید فرض کنید که نمی توانید بدون دانستن لینوکس ، تبدیل به یک DevOps حرفه ای واقعی شوید. بنابراین ، لینوکس همان چیزی است که شما باید یاد بگیرید و یاد بگیرید.راستش ، بهترین راه برای انجام این کار فقط نصب لینوکس (فدورا یا اوبونتو) در خانه است و تا حد امکان از آن استفاده کنید. شما چیزها را می شکنید ، گیر خواهید کرد و سپس مجبور خواهید بود همه آنرا برطرف کنید و در جریان روند ، لینوکس را یاد خواهید گرفت!
برای مرجع ، در آمریکای شمالی ، انواع Red Hat شیوع بیشتری دارند. بنابراین ، شروع به کار با فدورا یا CentOS منطقی است. اگر می خواهید نسخه KDE یا Gnome را تهیه کنید ، KDE را دریافت کنید. این همان چیزی است که لینوس توروالدز از آن استفاده می کند. ?
پایتون
پایتون: این روزها زبان پشتیبان غالب است. آسان برای شروع با استفاده گسترده است. جایزه: پایتون در فضای یادگیری AI / Machine بسیار شیوع دارد ، بنابراین اگر همیشه می خواهید به یک میدان داغ دیگری انتقال پیدا کنید ، همه تنظیم خواهید شد!
خدمات وب آمازون
خدمات وب آمازون: بار دیگر ، غیر ممکن است بدون داشتن درک کاملی از عملکرد یک ابر عمومی ، تبدیل به یک متخصص DevOps فصلی شوید. و اگر آگاهی از یک ابر چیزی است که بعد از شما وجود دارد ، خدمات وب آمازون بازیگر اصلی در این فضا است که ثروتمندترین مجموعه ابزار برای کار با آنها را ارائه می دهد.
آیا می توان به جای آن از Google Cloud یا Azure شروع کرد؟ کاملا! اما ما بعد از بزرگترین ضربه در اینجا ، پس AWS ایمن ترین بازی برای ساخت ، حداقل در سال 2018 است.
هنگام ثبت نام در AWS ، یک ردیف رایگان برای بازی با آنها دریافت می کنید ، بنابراین مکان خوبی برای شروع است.
اکنون ، وقتی وارد کنسول AWS می شوید ، با یک منوی ساده و آسان برای درک مطلب مورد استقبال قرار می گیرید.
این طعنه بود. خبر خوب این است که ، شما نیازی به دانستن تک تک فناوری های آمازون ندارید.
با موارد زیر شروع کنید: VPC، EC2، IAM، S3، CloudWatch، ELB (تحت چتر EC2) و گروههای امنیتی. این کارها برای شروع کار فراوان است و هر شرکت مدرن و دارای قابلیت ابری به شدت از این ابزارها استفاده خواهد کرد.
وب سایت آموزشی خود AWS مکان خوبی برای شروع است.
توصیه می کنم 20 تا 30 دقیقه روزانه را برای تمرین Python ، Linux و AWS کنار بگذارید.
توجه: این علاوه بر موارد دیگری که باید یاد بگیرید نیز خواهد بود. درمجموع ، من تخمین می زنم که صرف یک ساعت در روز ، پنج بار در هفته کافی است تا درک کاملی از آنچه در فضای DevOps در طی 6 ماه یا کمتر اتفاق می افتد ، به شما یاد دهد.
به همین ترتیب ، در مجموع 6 ستون اصلی وجود دارد که هر یک مربوط به یک ماه یادگیری است.
این برای لایه بنیادی است!
در مقالات بعدی ، پیچیدگی بعدی را بررسی خواهیم کرد: چگونه می توان نرم افزار ، نسخه ، بسته بندی ، استقرار ، اجرا و مانیتور را به روشی کاملاً خودکار تنظیم کرد!
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.