آموزش لینوکس - مهندسی نرم افزار با Git & Jenkins
امروزه با توجه به محیط رقابتی نرم افزارها، نیاز است، تولید، اعمال تغییرات و انتشار نسخ متعدد با بالاترین کیفیت و قابلیت اطمینان در کمترین زمان ممکن انجام شود. یکی از راهکارهای DevOps در این خصوص پیاده سازی محیطی یکپارچه جهت اجرای اصول CI/CD است. Jenkins از جمله ابزارهای قدرتمندی است که می توان جهت خودکارسازی، بهینه سازی و مدیریت چرخه توسعه نرم افزار از آن استفاده کرد.
از سوی دیگر مدیریت نسخه، مکانیزمی جهت ذخیره تغییرات و مدیریت فایل ها در طول زمان است تا در صورت نیاز بتوان در هر زمان به نسخه مشخصی بازگشت. همچنین تعامل بین افراد یک تیم نرم¬افزاری در راستای خودکارسازی فرایندها از دیگر اهداف سیستم های مدیریت نسخه است. از این رو Git به عنوان یکی از محبوب¬ترین و قدرتمندترین سیستم های مدیریت نسخه توزیع شده و همچنین از جمله ابزارهای لازم به خصوص برای برنامه¬نویسان است.
آموزش لینوکس - آشنایی با Openshift
میدانیم که در محیط عملیاتی به ابزاری به عنوانOrchestrator نیاز داریم که مشهورترین راهکار Kubernetes نام دارد. اما راهکارهای دیگری نیز به وجود آمده اند که بر بستر Kubernetes کار می کنند اما قابلیت ها و ویژگی های متفاوتی به آن اضافه کرده اند. بسیاری از این راهکارها در بستر Cloud پیاده سازی شده اند مانند EKS بر بستر AWS و یا GKE بر بستر Google Cloud Platform. اما شرکت Redhat نیز راهکاری را ارایه نموده است به نام OpenShift. نسخه Enterprise آن Redhat Openshift نام دارد که هم به صورت On-Premise و هم روی Private/Public Cloud پیاده سازی می شود. نسخه Community آن در ابتدا OpenShift Origin نام داشت اما اخیرا به نام OKD منتشر می شود.
برخی از قابلیت ها در Kubernetes به شکل دیگری در Openshift ارایه می شوند مثلا در Kubernetes از Helm Charts برای نصب پکیج استفاده می شود و یا از Ingress در تنظیمات شبکه برای ارابه سرویس استفاده می شود که نوعی reverse proxy بر اساس nginx است اما در Openshift از Templateهای به عنوان پکیج استفاده می شود و یا برای شبکه سرویس ها از Route استفاده می شود که بر اساس F5-Big IP ساخته شده است.
استفاده از مطلب، با ذکر منبع بلامانع است.