کانتینر سازی برنامه کاربردی میکروسرویس و اتوماسیون زیرساخت

بررسی اجمالی پروژه
این پروژه با موفقیت کانتینر سازی و استقرار خودکار یک برنامه TODO مبتنی بر میکروسرویس را انجام داد. این اجرای به دنبال شیوه های مدرن DevOps ، با استفاده از فناوری های کانتینر ، زیرساخت ها به عنوان کد و مدیریت پیکربندی برای ایجاد یک خط لوله استقرار یکپارچه است.
دستاوردهای کلیدی
کانتینر سازی کاربرد
مخزن اصلی برنامه TODO را چنگ زده و تقویت کرد
dockerfiles بهینه شده برای هر مؤلفه میکروسرویس ایجاد شده است:
Frontend (vue.js)
auth api (برو)
All API (Node.js)
کاربران API (Java/Spring Boot)
پردازنده پیام ورود به سیستم (پایتون)
صف بازگشت
یک پیکربندی جامع docker-compose.yml برای راه اندازی برنامه های یک دستمزد اجرا کرد
Traefik را به عنوان یک پروکسی معکوس با مدیریت خودکار گواهینامه SSL پیکربندی کرد
نقاط پایانی ایمن با مسیریابی دامنه مناسب ایجاد شده است
اتوماسیون زیرساخت
یک مخزن زیرساخت اختصاصی با تنظیمات Terraform و Ansible ایجاد کرد
برای تهیه منابع ابری با تنظیمات امنیتی مناسب ، کد Terraform ماژولار ایجاد شده است
نقش های قابل اعتماد برای:
نصب وابستگی سیستم (داکر ، آهنگسازی داکر)
استقرار و پیکربندی برنامه
تنظیم SSL/TLS با ادغام Traefik
اتوماسیون کامل پایان به پایان با استقرار تک فرمان
مستندات مفصلی برای راه اندازی و مدیریت زیرساخت ها تهیه کرده است
جزئیات اجرای فنی
این راه حل یک معماری میکروسرویس مدرن را با اجزای کانتینر شده پیاده سازی می کند که هر کدام در ظرف داکر خود در حال اجرا هستند. کد زیرساخت منابع ابری لازم را ارائه می دهد و محیط استقرار را پیکربندی می کند و از قوام و تکرارپذیری اطمینان می دهد. کل سیستم را می توان با یک فرمان Terraform Apply Apply -Atto -Approved مستقر کرد و قدرت زیرساخت ها را به عنوان کد نشان داد.
فن آوری های مورد استفاده
Docker و Docker برای کانتینر سازی آهنگسازی می کنند
Terraform برای تهیه زیرساخت ها
برای مدیریت پیکربندی قابل اعتماد است
Traefik برای پروکسی معکوس و مدیریت SSL
زبان های مختلف برنامه نویسی (vue.js ، go ، node.js ، java ، python)
نتایج
پروژه تکمیل شده یک برنامه میکروسرویس آماده تولید با اقدامات امنیتی مناسب ، معماری مقیاس پذیر و قابلیت استقرار خودکار را نشان می دهد. این پیاده سازی مهارتهای پیشرفته DevOps را به نمایش می گذارد و پایه و اساس محکمی برای پیشرفت های آینده فراهم می کند.
پیوندهای پروژه
مخزن برنامه: https://github.com/hngprojects/devops-stage-4.git
مخازن زیرساخت: https://github.com/sdrock83/devops-stage-4-infractasture.git
این پروژه با موفقیت تمام الزامات مشخص شده در کار مرحله 4 را از جمله کانتینر شدن ، پیکربندی دامنه ایمن ، اتوماسیون زیرساخت ها و استقرار یک دستمزد انجام داد.
وظیفه
DevOps Stage 4 Task: Contenterize ، Deploy و Automate MicroService TODO ApplicationOverview
این کار از دو بخش تشکیل شده است:
1. کانتینر کردن یک برنامه میکروسرویس (در یک مخزن چنگال)
2. ایجاد کد اتوماسیون زیرساخت (در یک مخزن جدید)
قسمت 1: کانتینر سازی برنامه
- تنظیم مخزن • چنگال مخزن برنامه اصلی از: مخزن GitHub • مخزن چنگال خود را به دستگاه محلی خود کلون کنید • تمام تغییرات کانتینر سازی در این مخزن را انجام دهید
- مؤلفه های برنامه • Frontend (vue.js) • APT API (GO) • TODOS API (Node.js) • کاربران API (Java/Spring Boot) • پردازنده پیام ورود به سیستم (Python) • redis queue
- کانتینر کردن وظایف • برای هر سرویس در پوشه های مربوطه ، dockerfiles ایجاد کنید.
- پیکربندی دامنه و SSL • یک دامنه سفارشی را برای برنامه پیکربندی کنید • تنظیم Traefik را به عنوان پروکسی معکوس تنظیم کنید • HTTP را به تغییر مسیر HTTPS پیاده سازی کنید • پیکربندی نقاط پایانی: ◦ Frontend: https://domain.com ◦ Auth API: https://auth.domain.com یا htts.com یا https:.com/api/domain.domain.com https://todos.domain.com یا https://domain.com/api/todos ◦ کاربران API: https://users.domain.com یا https://domain.com/api/users
- رفتارهای پیش بینی شده • صفحه ورود باید در دامنه سفارشی شما قابل دسترسی باشد • ورود موفقیت آمیز باید به داشبورد TODO هدایت شود • دسترسی مستقیم به API باید برگردد: ◦ AUTH API: “پاسخ یافت نشد” API TODOS: “TODOS TOKEN” پیام ◦ کاربران API: “سرپرست مجوز مفقود یا نامعتبر”
- تغییرات فشار • همه تغییرات خود را به مخزن چنگال خود متعهد و فشار دهید قسمت 2: زیرساخت ها به عنوان کد و مدیریت پیکربندی
- ایجاد مخزن جدید • یک مخزن جدید به طور خاص برای کد زیرساخت ایجاد کنید • این مخزن باید شامل تمام پرونده های Terraform و Ansible باشد
- ماژول Terraform • تنظیمات Terraform را ایجاد کنید: ◦ ارائه سرور Cloud (ها) cloud گروه های امنیتی را پیکربندی کنید ◦ به صورت پویا فایلهای موجودی Ansible را ایجاد کنید admer اجرای کتاب پخش قابل قبول پس از تهیه
- ماژول Ansible نقش های قابل قبولی را برای: • نقش وابستگی ها ایجاد کنید: ◦ نصب داکر ، آهنگسازی Docker و سایر وابستگی های مورد نیاز • نقش استقرار: cloning Repository Application (repo forked شما از قسمت 1) reding اجرای Docker آهنگسازی برای استقرار برنامه ◦ راه اندازی SSL/TLS با TRAEFIK
- استقرار یک فرمان واحد • کل تنظیمات زیرساختی و استقرار برنامه باید با یک دستور واحد قابل اجرا باشد: Terraform Apply -auto -Approve • این دستور باید زیرساخت ها را ارائه دهد ، سرور را پیکربندی کند و برنامه را بطور خودکار مستقر کند
- مستندات README • یک فایل دقیق readme.md را در مخزن زیرساخت ایجاد کنید با: actorts دستورالعمل های تنظیم ◦ الزامات ◦ توضیحات زیرساخت و روند استقرار ◦ هر متغیر محیط یا تنظیمات مورد نیاز نیازهای ارسال
- URL های مخزن • URL مخزن برنامه Forked (قسمت 1) • URL مخزن زیرساخت جدید (قسمت 2)
- تصاویر مورد نیاز • صفحه ورود به Domain.com • داشبورد TODO پس از ورود موفقیت آمیز • موفقیت آمیز Terraform و Ansible Playbook
- URL هایی برای ارسال • هر دو پیوند مخزن GitHub • معیارهای درجه بندی URL برنامه Frontend
- اعتبار سنجی مخزن برنامه • پیکربندی مناسب dockerfile برای کلیه خدمات • کار در حال کار-کمپانی. ml • کلیه خدمات مورد نیاز موجود و به درستی کانتینر
- اعتبار سنجی مخازن زیرساخت • ماژول های Terraform خوب ساختار یافته • نقش های قابل اعتماد به درستی اجرا شده • استقرار موفق یک دستمزد (Terraform Apply -Auto-Approt)
- اعتبار سنجی پایان و عملکرد • برنامه کار با مسیریابی مناسب • نقاط پایانی ایمن (HTTPS) • ورود موفقیت آمیز و دسترسی داشبورد TODO