DevOps مجموعه عملکردهایی است که توسعه نرمافزار (Dev) و عملیات IT (Ops) را با هم ترکیب می کند. هدف آن کوتاه کردن چرخه عمر سامانه ها و ارائه تحویل مداوم با کیفیت نرمافزار بالا است. DevOps با توسعه نرمافزار Agile مکمل است. چندین جنبه DevOps از روش چابک به دست آمد.
یه متخصص DevOps چه مواردی رو باید آموخته باشد
-
یادگیری یک زبان برنامه نویسی
شما باید یک زبان برنامه نویسی را به خوبی درک کنید. مهم نیست کدام یک، اما برای نوشتن کد اتوماسیون لازم است. اتوماسیون بخش کلیدی DevOps است. شما می توانید پایتون، جاوا، روبی، گلانگ و غیره را یاد بگیرید.
-
مفاهیم مختلف سیستم عامل را درک کنید
همانطور که در نقشه راه پیشنهاد شده است، شما باید در مورد مدیریت فرآیند، رشته ها و همزمانی، سوکت ها، مدیریت ورودی/خروجی، مجازی سازی، سیستم حافظه و غیره بیاموزید.
-
زندگی در ترمینال را بیاموزید
دستورات ترمینال برای یک مهندس DevOps ضروری است، به خصوص اگر روی لینوکس کار می کنید. شما باید دستورات نظارت بر فرآیند، دستکاری متن، عملکرد سیستم و غیره را یاد بگیرید. وقتی این دستورات را تمرین می کنید، می توانید در اسکریپت نویسی پوسته استاد شوید.
-
شبکه، امنیت و پروتکل ها
شما باید با انواع مختلفی از پروتکلها که نقش مهمی در برقراری ارتباط با دستگاههای مختلف در سراسر شبکه مانند TCP/IP، HTTP، HTTPS، SMTP، FTP و غیره دارند، آشنا باشید.
-
چیست و چگونه راه اندازی شود
به طور کلی، یک مهندس DevOps باید بداند که چگونه یک وب سرور مانند IIS، Nginx، Apache و Tomcat راه اندازی کند. آنها همچنین باید در مورد Caching Server، Load Balancer، Reverse Proxy و Firewall و غیره اطلاعات داشته باشند.
-
زیرساخت را به عنوان کد یاد بگیرید
این یکی از حیاتی ترین مولفه ها در مسیر یادگیری یک مهندس DevOps است. شما باید در مورد کانتینرسازی برنامه ها بیاموزید و ابزارهای کانتینری مانند Docker و Kubernetes را کاملاً درک کنید. ابزارهای مدیریت پیکربندی مانند Ansible، Chef، Salt & Puppet. سایر زمینه ها شامل هماهنگی کانتینر و تامین زیرساخت ها است.
- برخی از ابزارهای یکپارچه سازی و تحویل مداوم (CI/CD) را بیاموزید
یکپارچه سازی مداوم/ استقرار مستمر اکنون بخش اصلی تنظیم فرهنگ DevOps است. بنابراین باید با ابزارهای CI/CD مانند Gitlab، Jenkins، Github و غیره آشنا شوید.
- نظارت بر نرم افزار و زیرساخت را یاد بگیرید
هنگامی که هزاران سرویس در حال اجرا دارید، مهم است که مطمئن شوید که سیستم به خوبی اجرا می شود. هم زیرساخت و هم برنامه شما باید به طور مداوم نظارت شود. ابزارهایی مانند SigNoz می توانند به شما در راه اندازی یک سیستم نظارت قوی برای برنامه های خود کمک کنند.
-
در مورد Cloud Providers بیاموزید
اکثر برنامههای امروزی بهصورت ابری ساخته میشوند. بنابراین باید خود را با ارائه دهندگان اصلی ابر آشنا کنید. AWS، Azure و Google Cloud بازیکنان پیشرو هستند و دورههای رایگانی نیز در مورد ابزارهای خود ارائه میدهند.