شروع کار با مرکز طراحی برنامه (ADC) و Firebase

فایربیس با Application Design Center ( ADC ) از Google Cloud ادغام می‌شود تا به مشتریان سازمانی اجازه دهد تا نیازهای استانداردسازی و مدیریتی را برآورده کنند و در عین حال به توسعه‌دهندگان برنامه‌های خود قدرت دهند تا با سرعت بالا کار کنند. استفاده از ADC تضمین می‌کند که زیرساخت از طریق قالب‌های از پیش تعریف‌شده که محافظ‌هایی را برای تأمین منابع، اعطای مجوزهای IAM و غیره تعریف می‌کنند، به استانداردهای سازمانی و بهترین شیوه‌ها پایبند باشد.

در این صفحه، با موارد زیر آشنا شوید:

مروری بر ADC و Firebase

برای آشنایی کلی با ADC ، توصیه می‌کنیم مستندات Google Cloud را مطالعه کنید. مستندات Google Cloud همچنین چندین راهنمای جامع برای ADC ، از جمله مفاهیم کلیدی و راهنمای راه‌اندازی اولیه ، ارائه می‌دهد.

هنگام استفاده از ADC ، یک "برنامه" به عنوان یک گروه‌بندی منطقی از منابع و خدماتی تعریف می‌شود که در کنار هم یک عملکرد تجاری را ارائه می‌دهند. برای توسعه‌دهندگان Firebase، می‌توانید یک "برنامه" ADC را معادل یک پروژه Firebase در نظر بگیرید ، که در آن برنامه‌های iOS، Android و وب ثبت شده شما همگی منابع و خدمات یکسانی را برای پروژه به اشتراک می‌گذارند و به آنها دسترسی دارند.

برای شروع، توصیه می‌کنیم با ADC از تجربه رابط کاربری گرافیکی آنها به نام design canvas که در کنسول Google Cloud موجود است، استفاده کنید. design canvas به شما امکان می‌دهد نمودارهای معماری زیرساختی را که می‌خواهید برای برنامه‌هایتان در دسترس باشد، تجسم و ایجاد کنید.

توجه داشته باشید که ADC توسط Terraform پشتیبانی می‌شود، بنابراین شما همیشه به تعریف کد زیرساختی که با استفاده از ADC تعریف شده است، دسترسی خواهید داشت.

محصولات پشتیبانی شده فایربیس

در اینجا مجموعه اولیه محصولات پشتیبانی شده Firebase که می‌توانند با ADC استفاده شوند، آمده است:

شخصیت‌های کلیدی برای استفاده از ADC

یک روش رایج برای درک و استفاده از ADC ، تجزیه وظایف مرتبط با ADC بر اساس دو شخصیت است:

  • مهندس پلتفرم : این شخص قالب‌های ADC قابل استفاده مجدد و اعمال سیاست را در یک کاتالوگ ADC طراحی، تأیید و منتشر می‌کند.

  • توسعه‌دهنده‌ی اپلیکیشن : این شخص از قالب‌های ADC منتشر شده (مانند آنچه در کاتالوگ ADC تیم وجود دارد) برای پیکربندی و استقرار زیرساخت استفاده می‌کند. آن‌ها همچنین کدبیس و ویژگی‌های واقعی اپلیکیشن را توسعه می‌دهند.

نقش‌های IAM مورد نیاز برای کنترل دسترسی

با اختصاص نقش‌های IAM، می‌توانید کنترل کنید که کدام اعضای پروژه (یا مدیران ) می‌توانند وظایف خاصی را انجام دهند.

برای مثال، ممکن است نقش مدیر مرکز طراحی برنامه ( roles/designcenter.admin ) را به مهندس پلتفرم اختصاص دهید که نیاز به ایجاد و اختصاص فضاها، مدیریت کاتالوگ‌ها و طراحی قالب‌ها دارد. با این حال، احتمالاً فقط نقش ویرایشگر برنامه ( roles/designcenter.applicationEditor ) را به یک توسعه‌دهنده برنامه اختصاص می‌دهید تا بتواند از قالب‌ها استفاده کند ، اما نتواند قالب‌ها را ایجاد کند .

جدول زیر وظایف مرتبط با ADC ، شخصیت مورد نظر برای آنها و نقش‌های مورد نیازشان را شرح می‌دهد:

وظیفه پرسونا نقش ۱ در IAM
ایجاد و مدیریت قالب‌ها
مدیریت چرخه عمر کامل ADC
(شامل مدیریت فضاها، کاتالوگ‌ها، قالب‌ها، پیکربندی و استقرار برنامه‌ها)
مهندس پلتفرم مدیر مرکز طراحی اپلیکیشن
( roles/designcenter.admin ) در پروژه مدیریت
ایجاد و مدیریت قالب‌ها و همچنین پیکربندی و استقرار برنامه‌ها مهندس پلتفرم کاربر مرکز طراحی اپلیکیشن
( roles/designcenter.user ) در پروژه مدیریت
ایجاد یک حساب کاربری سرویس برای استقرار برنامه‌های ADC
ایجاد حساب‌های خدماتی مهندس پلتفرم ایجاد حساب‌های کاربری سرویس
( roles/iam.serviceAccountCreator ) در پروژه مدیریت
اعطای دسترسی به حساب کاربری سرویس برای پروژه‌ای که برای استقرار ADC استفاده می‌شود مهندس پلتفرم مدیر IAM پروژه
( roles/resourcemanager.projectIamAdmin ) در پروژه استقرار
پیکربندی و استقرار برنامه‌های ADC
کنترل کامل چرخه حیات برنامه
(شامل ادغام با کد منبع و سیستم‌های CI/CD)
توسعه‌دهنده اپلیکیشن مدیر برنامه
( roles/designcenter.applicationAdmin ) در پروژه مدیریت
پیکربندی و استقرار برنامه‌ها بر اساس قالب‌ها و اتصالات موجود که توسط یک مدیر تنظیم شده است توسعه‌دهنده اپلیکیشن ویرایشگر برنامه
( roles/designcenter.applicationEditor ) در پروژه مدیریت

تعدادی از این نقش‌ها باید روی پروژه مدیریت تنظیم شوند، که یک منبع سطح بالا در سلسله مراتب Google Cloud است.

گردش کار عمومی

این بخش، گردش کار کلی برای ایجاد و استفاده از یک الگوی ADC را شرح می‌دهد. مراحل با شخصی که معمولاً آن مرحله را انجام می‌دهد، برچسب‌گذاری شده‌اند.

  1. مرحله ۱: تنظیم ADC (مهندس پلتفرم)
  2. مرحله ۲: ایجاد یک الگو (مهندس پلتفرم)
  3. مرحله ۳: استفاده از یک الگو (توسعه‌دهنده برنامه)
  4. مرحله ۴: توسعه اپلیکیشن واقعی شما (توسعه‌دهنده اپلیکیشن)

مرحله ۱ : تنظیم ADC (مهندس پلتفرم)

شخصیت مهندس پلتفرم (یا بالاتر) این وظایف را برای راه‌اندازی ADC انجام می‌دهد. این وظایف معمولاً فقط یک بار لازم است انجام شوند تا همه چیز برای استفاده ADC تنظیم شود.

  1. تنظیمات اولیه ADC

    مراحل و راهنمایی‌های موجود در راهنمای راه‌اندازی اولیه ADC در مستندات Google Cloud را دنبال کنید. توجه داشته باشید که این راهنما فرض می‌کند که شما مرزهای سطح پوشه را تنظیم خواهید کرد.

    پس از تکمیل این تنظیمات، باید یک فضا داشته باشید که یک منطقه اختصاصی برای همکاری تیمی، ایجاد قالب‌ها و استقرار برنامه‌ها است. مطمئن شوید که این فضا (و پوشه و کاتالوگ) با همه کسانی که می‌خواهید با ADC کار کنند، به اشتراک گذاشته شده است.

  2. دسترسی و کاربران را برای فضا تنظیم کنید.

    مراحل موجود در بخش مدیریت کاربران فضا برای ADC در مستندات Google Cloud را دنبال کنید. از راهنمایی‌های توضیح داده شده در این صفحه در مورد نقش‌های مورد نیاز IAM برای کنترل دسترسی استفاده کنید.

  3. پروژه‌های پیش‌تامین

    یک یا چند پروژه جدید Google Cloud در پوشه ایجاد کنید. مطمئن شوید که یک حساب Cloud Billing را به این پروژه‌ها پیوند داده‌اید. این پروژه‌ها توسط توسعه‌دهنده برنامه شما هنگام استقرار زیرساخت تعریف شده در الگو استفاده خواهند شد.

  4. یک حساب کاربری سرویس استقرار پیکربندی کنید.

    ADC با استفاده از یک حساب کاربری سرویس با دامنه‌ی محدود، تأمین خودکار منابع را مدیریت می‌کند. این امر مانع از آن می‌شود که توسعه‌دهنده‌ی برنامه از حساب کاربری خود برای استقرار زیرساخت استفاده کند.

    ADC می‌تواند به طور خودکار یک حساب کاربری سرویس با دامنه‌ی محدود از طرف شما ایجاد کند، همزمان با اینکه شما در حال آزمایش پیاده‌سازی قالب‌هایی هستید که ایجاد می‌کنید. همچنین می‌توانید حساب کاربری سرویس خودتان را که مجوزهایی را که برای توسعه‌دهندگان برنامه مناسب می‌دانید، داشته باشد، ایجاد کنید.

مرحله ۲ : ایجاد یک الگو (مهندس پلتفرم)

شخصیت مهندس پلتفرم از بوم طراحی یا حتی Gemini Cloud Assist برای ایجاد یک الگوی ADC جدید استفاده می‌کند.

  1. منابع را تعریف کنید.

    با استفاده از بوم طراحی، اجزا را با کشیدن و رها کردن روی بوم قرار دهید و بین آنها ارتباط برقرار کنید. این اجزا نحوه تعریف سرویس‌های Firebase (و Google Cloud ) مورد نظر شما برای توسعه‌دهندگان برنامه را مشخص می‌کنند.

    برای مثال، این الگو می‌تواند منابعی مانند موارد زیر را تعریف کند:

    • توسعه‌دهندگان اپلیکیشن می‌توانند اپلیکیشن‌های iOS، اندروید و وب را توسعه دهند که همگی از این منابع استفاده می‌کنند.
    • توسعه‌دهندگان اپلیکیشن می‌توانند از Firebase AI Logic ، Firebase Authentication ، Cloud Firestore و Firebase Security Rules در اپلیکیشن خود استفاده کنند (به فهرستی از تمام محصولات پشتیبانی‌شده‌ی Firebase برای ADC مراجعه کنید).
    • Firebase Security Rules در ابتدا به طور پیش‌فرض طوری تنظیم شده‌اند که تمام درخواست‌های دسترسی را رد کنند. سپس، هنگامی که توسعه‌دهنده برنامه از این الگو برای استقرار خود استفاده می‌کند، می‌تواند این Security Rules تغییر دهد تا با مدل دسترسی مورد نیاز خود همسو شود.
  2. سیاست‌ها را تعریف کنید.

    اگر می‌خواهید سیاست‌هایی مانند نقش‌های IAM برای زیرساخت مستقر شده یا مناطق مجاز برای منابع را تعریف کنید، باید آن‌ها را در رابط‌های مربوطه برای آن سیاست‌ها تنظیم کنید. ADC در حال حاضر از تعریف سیاست‌ها در سطح الگو پشتیبانی نمی‌کند.

    شما می‌توانید بسته به کاری که می‌خواهید اعضای پروژه انجام دهند، نقش‌های IAM فایربیس خاصی را به آنها اختصاص دهید. برای مثال، اگر آنها فقط نیاز به مشاهده منابع در کنسول Firebase دارند، نقش Firebase Viewer ( roles/firebase.viewer ) را به آنها اختصاص دهید.

    شما می‌توانید محدودیت‌های منطقه‌ای را برای منابع در سطح پوشه یا سازمان تنظیم کنید.

  3. قالب را به کاتالوگ اضافه کنید.

    پس از اینکه الگوی خود را آزمایش کردید، آن را به کاتالوگ ADC تیم خود اضافه کنید. این کاتالوگ باید با افراد مناسب، به ویژه توسعه‌دهندگان برنامه، به اشتراک گذاشته شود تا بتوانند از الگوها استفاده کنند (به مرحله 1: راه‌اندازی ADC در بالا مراجعه کنید).

مرحله ۳ : استفاده از یک الگو (توسعه‌دهنده برنامه)

شخصیت توسعه‌دهنده‌ی برنامه یک الگوی از پیش تعریف‌شده را انتخاب می‌کند، آن را برای مورد استفاده‌ی خاص خود پیکربندی می‌کند و سپس زیرساخت را مستقر می‌کند.

  1. یک الگو انتخاب کنید و آن را پیکربندی کنید.

    از کاتالوگ ADC ، یک الگو انتخاب کنید و آن را برای ایجاد یک پیش‌نویس برنامه پیکربندی کنید. پیکربندی‌های موجود - مانند مناطق ممکن برای منابع - محدود به مواردی هستند که توسط مهندس پلتفرم هنگام ایجاد الگو تعیین شده‌اند.

  2. زیرساخت‌ها را مستقر کنید.

    پس از ایجاد پیش‌نویس برنامه، برنامه ADC را در یکی از پروژه‌های از پیش آماده‌شده که برای استقرار زیرساخت ایجاد شده‌اند، مستقر کنید (به مرحله 1: راه‌اندازی ADC در بالا مراجعه کنید)

    شما می‌توانید به کنسول Firebase مراجعه کنید و منابع ارائه شده و سرویس‌های فعال شده برای پروژه خود را مشاهده کنید.

مرحله ۴ : توسعه اپلیکیشن واقعی شما (توسعه‌دهنده اپلیکیشن)

ADC به راه‌اندازی زیرساخت‌های Firebase و Google Cloud (مانند تأمین منابع و فعال‌سازی APIها) کمک می‌کند. با این حال، کدنویسی برنامه‌ی واقعی که از آن منابع و APIها استفاده می‌کند را انجام نمی‌دهد .

در اینجا چند نکته مهم که یک توسعه‌دهنده اپلیکیشن باید انجام دهد، آورده شده است:

  1. کدبیس برنامه خود را به فایربیس متصل کنید.

    پیکربندی Firebase را دریافت و سپس به کدبیس هر برنامه اضافه کنید .

    برای مثال، اگر قالب اجازه اجرای یک برنامه اندروید را می‌دهد، باید فایل google-services.json را به دایرکتوری مناسب در پروژه اندروید خود اضافه کنید.

  2. کد و منابع را همسو نگه دارید.

    (در صورت استفاده از Cloud Firestore ) حتماً Firebase Security Rules به‌روزرسانی و منتشر کنید تا با مدل داده Cloud Firestore برای برنامه هماهنگ شوند.

چه کار دیگری می‌توانید انجام دهید؟

  • نظارت بر «برنامه‌های» ADC مستقر شده ، که به طور خودکار در App Hub ثبت می‌شوند. این امر امکان نظارت تلفیقی، مشاهده هزینه و عیب‌یابی منابع Firebase را در چارچوب استقرارهای گسترده‌تر Google Cloud فراهم می‌کند.