Monday, 18 April 2016

Docker Java Application With Solr, Mongo, & Cassandra: Design, Deployment, Service Discovery, And Management In Production


شما می توانید این نمونه "نام دایرکتوری" نرم افزار جاوا از GitHub کلون. gitclone https://github.com/dchqinc/dchq-docker-java-solr-mongo-cassandra-example.git
یک گام به گام راهنمای برای Dockerizing و مدیریت نرم افزار جاوا متشکل از:
  • سرویس دهنده وب Apache (HTTPD) و از Nginx ( برای حفظ تعادل بار )
  • از JBoss ، تامکت و اسکله ( به عنوان سرور نرم افزار )
  • Solr ( برای جستجوی متن کامل )
  • Mongo ها ، کاساندرا ، خروجی زیر ، و اوراکل ( برای پایگاه داده )
این فرمت از این پروژه (است https://github.com/dchqinc/dchq-docker-java-example ). برنامه در حال حاضر پشتیبانی از Solr برای جستجوی متن کامل و هر دو Mongo ها و کاساندرا به عنوان پایگاه های داده پشتیبانی می شود.
به اجرا و مدیریت 24 قالب نرم افزار جاوا در این پروژه در 13 ابرهای مختلف و سیستم عامل های مجازی سازی (از جمله ماکروسافت، اوپناستک، AWS، Rackspace را، مایکروسافت لاجورد، موتور محاسبه گوگل، DigitalOcean، آی بی ام SoftLayer، و غیره)، مطمئن شوید که شما هم :
تصویر

زمینه

Containerizing شرکت برنامه های کاربردی جاوا هنوز هم یک چالش عمدتا به دلیل موجود چارچوب ترکیب نرم افزار انجام وابستگی پیچیده، یکپارچگی خارجی و یا خودکار پوسته پوسته شدن گردش پس از ارائه آدرس نیست. علاوه بر این، طراحی زودگذر ظروف بدان معنی است که توسعه دهندگان به حال به چرخش تا ظروف جدید و دوباره ایجاد وابستگی پیچیده و یکپارچگی خارجی با هر به روز رسانی نسخه.
DCHQ، موجود در نسخه های میزبانی و بر فرض، به تمام این چالش ها و ساده کانتینری از برنامه های شرکت جاوا از طریق یک چارچوب ترکیب برنامه پیش که گسترش کارگر بارانداز نوشتن با محیط cross-تصویر اتصالات متغیر های درب اسکریپت bash پلاگین است که می توانید در زمان درخواست و یا پس از ارائه، و خوشه بندی نرم افزار برای در دسترس بودن بالا در سراسر میزبان های مختلف و یا مناطق با پشتیبانی از پوسته پوسته شدن خودکار استناد شده است.
هنگامی که یک برنامه کاربردی فراهم شده است، یک کاربر می تواند پردازنده، حافظه، نظارت بر و I / O از ظروف در حال اجرا، دریافت اطلاعیه ها و هشدارها، و دسترسی به پشتیبان گیری نرم افزار، مقیاس خودکار در / از گردش، و پلاگین در گردش اعدام به به روز رسانی در حال اجرا ظروف. علاوه بر این، گردش خارج از جعبه است که تسهیل تحویل مداوم با جنکینز اجازه می دهد توسعه دهندگان به روز کردن فایل WAR جاوا از برنامه در حال اجرا بدون ایجاد اختلال در وابستگی های موجود و یکپارچگی.
در وبلاگ قبلی، ما در پایان به پایان اتوماسیون کارگیری برنامه های کاربردی جاوا مختلف (مانند برنامه های پیتزا فروشگاه و فروشگاه فیلم) بر روی پشته نرم افزار بر اساس کارگر بارانداز-چند لایه در سراسر 13 ابرهای مختلف و سیستم عامل های مجازی سازی را نشان داد. : برای لیست کامل از این وبلاگ ها، شما می توانید به این صفحه مراجعه http://dchq.co/docker-java-applications.html
با این حال بسیاری از کاربران هنوز هم در برخی از جنبه های اساسی از مدل سازی نرم افزار اشتباه گرفته می شدند. این پرسش ها عبارتند از:
  • کجا می توانم این متغیر های محیط زیست را در قالب نرم افزار مبتنی بر YAML شما آمده است؟
  • چگونه است پایگاه داده مقداردهی اولیه شده با طرحواره مناسب مورد نیاز از نرم افزار جاوا من؟
  • من در حال حاضر طرح استقرار برای من سرور WebLogic اجرا برنامه. آیا من می توانم اسکریپت را اجرا برای استقرار یک برنامه جاوا؟
برای پرداختن به این سوال، ما یک نمونه از ایجاد "نام کتاب راهنمای" نرم افزار جاوا در این پروژه github که می تواند در این پشته برنامه مستقر:
  • سرویس دهنده وب Apache (HTTPD) و Nginx (برای متعادل کردن بار)
  • JBoss و تامکت و اسکله (به عنوان سرور نرم افزار)
  • Solr (برای جستجوی متن کامل)
  • Mongo ها، کاساندرا، MySQL و اوراکل (برای پایگاه داده)
در این پروژه، ما یک راهنمای گام به گام برای پیکربندی، استقرار و مدیریت این برنامه جاوا با استفاده از پشته نرم افزار های مختلف و در ابر های مختلف / زیرساخت های مجازی فراهم می کند.
ما را پوشش خواهد داد:
  • پیکربندی فایل های جاوا برای پایگاه داده و Solr متغیرهای محیط اتصال
  • با استفاده از حبوبات liquibase به مقداردهی اولیه پایگاه داده متصل
  • ساخت قالب نرم افزار مبتنی بر YAML است که می تواند دوباره استفاده می شود بر روی هر میزبان لینوکس در حال اجرا در هر نقطه
  • تأمین و خودکار پوسته پوسته شدن زیرساخت های اساسی در هر ابر (با Rackspace را که به عنوان مثال در این وبلاگ)
  • استقرار چند لایه نرم افزار جاوا در خوشه Rackspace را
  • نظارت بر CPU، حافظه و I / O از ظروف در حال اجرا
  • فعال کردن گردش کار تحویل مداوم با جنکینز به روز رسانی فایل WAR از برنامه های کاربردی در حال اجرا هنگامی ساخت باعث شده است
  • پوسته پوسته شدن خوشه سرور برنامه زمانی که برنامه با منابع محدود با استفاده از چارچوب خدمات کشف برای به روز رسانی خدمات بار متعادل است

پیکربندی جاوا فایل برای پایگاه داده و Solr متغیرهای محیط اتصال

شما می توانید این نمونه "نام دایرکتوری" نرم افزار جاوا از GitHub کلون.
این مهم ترین گام در "Dockerizing" نرم افزار جاوا شما است. به منظور اعمال متغیر های محیط زیست شما می توانید عبور که در حال اجرا ظروف، شما نیاز به مطمئن شوید که نرم افزار خود را در راه است که اجازه خواهد داد که شما را به تغییر خواص معین در زمان درخواست پیکربندی - مانند:
  • بندر Solr URL و شما می خواهم به استفاده از
  • راننده پایگاه داده شما می خواهم به استفاده از
  • آدرس اینترنتی پایگاه داده
  • اعتبار پایگاه داده
  • عوامل دیگری که شما می خواهم برای تغییر در زمان درخواست (به عنوان مثال حداقل / حداکثر اندازه استخر اتصال، فاصله بیکار، و غیره)
برای رسیدن به این، ما چندین فایل جاوا ایجاد شده برای متغیرهای محیط زیست ما نیاز به استفاده برای اتصال به پایگاه داده و Solr. فایل های جاوا را می توان در کتاب راهنمای پیکربندی پیدا شده است:
تصویر
شما متوجه خواهید شد که solr_host و solr_port به عنوان متغیرهای محیطی که شما می توانید عبور در هنگام اجرای نرم افزار سرور ظرف را اعلام کرد.

تصویر
شما متوجه خواهید شد که database_driverClassName ، database_url ، database_username و database_password به عنوان متغیرهای محیطی که شما می توانید عبور در هنگام اجرای نرم افزار سرور ظرف را اعلام کرد. این خواهد شد مورد استفاده برای اتصال به پایگاه داده MySQL، PostgreSQL و اوراکل.
تصویر
شما متوجه خواهید شد که mongo_url به عنوان متغیرهای محیطی که شما می توانید عبور در هنگام اجرای نرم افزار سرور ظرف را اعلام کرد.
اگر این جدول در حال حاضر یافت نشد - با این حال MongoConfig.java نیز به جمعیت پایگاه داده با طرح حق و جدول در هنگام راه اندازی استفاده می شود.
تصویر
شما متوجه خواهید شد که cassandra_url به عنوان متغیرهای محیطی که شما می توانید عبور در هنگام اجرای نرم افزار سرور ظرف را اعلام کرد.

با استفاده از Liquibase باقلا سبز برای مقداردهی اولیه متصل MySQL، PostgreSQL و پایگاه داده اوراکل

ما به طور معمول توصیه مقدار دهی اولیه شمای پایگاه داده به عنوان بخشی از به کارگیری نرم افزار جاوا است. به این ترتیب، شما لازم نیست که در مورد حفظ فایل های جداگانه SQL که نیاز به بر روی پایگاه داده اجرا می شود به طور جداگانه نگران باشید.
با این حال اگر شما در حال حاضر آن دسته از فایل SQL و شما هنوز هم ترجیح می دهند اجرای آنها را بر روی پایگاه داده به طور جداگانه - پس از آن DCHQ تواند به شما کمک این فرایند از طریق چارچوب پلاگین در آن به طور خودکار. شما می توانید اشاره به این بخش برای اطلاعات بیشتر.
مقدار دهی اولیه پایگاه داده Mongo ها و کاساندرا در فایل های MongoConfig.java و CassandraConfig.java پوشیده شده است.
برای MySQL، PostgreSQL و اوراکل، liquibase حبوبات در فایل DatabaseConfig.java مورد استفاده برای بررسی DataSource و اجرا دستورات SQL از upgrade.sql. آهنگ Liquibase که اظهارات تغییرات در برابر هر یک پایگاه داده اجرا کرده اند.
تصویر
در اینجا فایل upgrade.sql واقعی با دستورات SQL برای مقدار دهی اولیه طرح در پایگاه داده MySQL، PostgreSQL و یا اوراکل متصل می شوند.
تصویر

ساختمان-YAML بر اساس قالب برنامه ای که می توانید دوباره مورد استفاده بر روی هر میزبان لینوکس در حال اجرا در هر نقطه

هنگامی که در به DCHQ وارد (یا DCHQ.io میزبان و یا در فرض نسخه)، کاربر می تواند به حرکت برنامه و ماشین آلات و پس از آن با کلیک بر روی + دکمه برای ایجاد یک جدید کارگر بارانداز نوشتن الگو.
ما ایجاد کرده اند 24 قالب نرم افزار با استفاده از تصاویر رسمی از کارگر بارانداز توپی برای همان "نام دایرکتوری" نرم افزار جاوا - اما برای سرور برنامه های مختلف و پایگاه داده.
قالب شامل نمونه هایی از پشته برنامه (برای نرم افزار جاوا همان):
  • سرویس دهنده وب Apache (HTTPD) و از Nginx - برای حفظ تعادل بار
  • Solr - برای جستجوی متن کامل
  • تامکت، اسکله، و JBoss - برای سرور نرم افزار
  • Mongo ها، کاساندرا، MySQL و اوراکل XE - برای پایگاه های داده

پلاگین به پیکربندی سرویس دهنده وب و سرویس دهنده نرم افزار در درخواست پاسخ به زمان و بعد از ارائه

در تمام این قالب نرم افزار، شما متوجه خواهید شد که برخی از ظروف با استناد اسکریپت bash پلاگین در زمان درخواست به منظور پیکربندی ظرف. این پلاگین می تواند اعدام پس از ارائه به عنوان.
این پلاگین می توان با مرور به ایجاد پلاگین . هنگامی که اسکریپت bash ارائه شده است، عامل DCHQ این اسکریپت اجرا در داخل ظرف . کاربر می تواند استدلال که می تواند در زمان درخواست و پس از ارائه باطل را مشخص کنید. هر چیزی قبل توسط $ ورود به سیستم محسوب استدلال - برای مثال، $ file_url می تواند یک استدلال که اجازه می دهد تا توسعه دهندگان را مشخص دانلود آدرس فایل جنگ. این را می توان در زمان درخواست و پس از ارائه هنگامی که یک کاربر می خواهد به روز کردن فایل جاوا جنگ بر روی یک ظرف در حال اجرا را لغو کنند.
پلاگین در ID نیاز در هنگام تعریف قالب نرم افزار بر اساس YAML به فراهم شود. به عنوان مثال، به استناد یک اسکریپت bash پلاگین برای Nginx را، ما را از پلاگین در ID به شرح زیر اشاره می کند:
تصویر
در مثال قالب، ما در حال استناد 4 BASH اسکریپت پلاگین.
Nginx را است با استناد به یک اسکریپت bash پلاگین که تزریق ظرف IP سرورهای نرم افزار در فایل default.conf به صورت پویا (و یا در زمان درخواست). شناسه پلاگین در 0H1Nk .
سرویس دهنده وب Apache (HTTPD) است با استناد به یک اسکریپت bash پلاگین که تزریق ظرف IP از سرور برنامه کاربردی را در فایل httpd.conf به صورت پویا (و یا در زمان درخواست). شناسه پلاگین در uazUi .
زیبایی از انجیناکس و سرویس دهنده وب Apache (HTTPD) پلاگین است که می توان آنها را پس از ارائه به عنوان بخشی از مقیاس خوشه نرم افزار سرور در اجرا و یا در مقیاس است. این امکان برای تعریف سیاست در مقیاس خودکار که به طور خودکار به روز رسانی وب سرور (یا متعادل کننده بار). این بخش از DCHQ است خدمات کشف چارچوب.

کشف سرویس با پلاگین در مراحل چرخه زندگی

چرخه عمر پارامتر در پلاگین اجازه می دهد تا به شما برای مشخص مرحله دقیق و یا رویداد برای اجرای پلاگین در. اگر چرخه عمر مشخص نشده است، پس از آن به طور پیش فرض، پلاگین در خواهد شد اجرا on_create . در اینجا مراحل چرخه عمر پشتیبانی می شوند:
  • on_create - اجرا پلاگین در هنگام ایجاد ظرف
  • on_start - اجرا پلاگین در پس از یک شروع می شود ظرف
  • on_stop - اجرا پلاگین در قبل از توقف کانتینر
  • on_destroy - اجرا پلاگین در قبل از نابود یک ظرف
  • post_create - پلاگین در اجرا پس از ظرف ایجاد شده است و در حال اجرا
  • post_start [: گره] - پلاگین در اجرا پس از شروع ظرف دیگری
  • post_stop [: گره] - پلاگین در اجرا پس از توقف ظرف دیگری
  • post_destroy [: گره] - پلاگین در اجرا پس از ظرف دیگری از بین می رود
  • post_scale_out [: گره] - پلاگین در اجرا پس از خوشه دیگری از ظروف کوچک شده خارج
  • post_scale_in [: گره] - پلاگین در اجرا پس از خوشه دیگری از ظروف در کوچک
برای دسترسی به سرور Nginx را و Apache HTTP (HTTPD) پلاگین تحت مجوز EULA، مطمئن شوید که شما هم:
سرور برنامه (تامکت، اسکله، و JBoss) نیز با استناد به یک اسکریپت bash پلاگین برای استقرار فایل جاوا جنگ از URL گیتهاب در دسترس است.

تامکت، JBoss و اسکله می فراخوانی دقیق اسکریپت همان BASH پلاگین در (پلاگین در ID: oncXN ) - به جز فایل جنگ است گرفتن در دایرکتوری های مختلف مستقر:
  • تامکت - دیر = / usr / محلی / تامکت / وبی / ROOT.war
  • اسکله - دیر = / var / معاونت / اسکله / وبی / ROOT.war
  • از JBoss - دیر = / انتخاب کردن / JBoss و / wildfly / مستقل / استقرار / ROOT.war
Solr است با استناد به یک اسکریپت bash مختلف پلاگین در (پلاگین در ID: doX8s ) است که فایل names.zip و جدا کردن آن را در / انتخاب کردن / solr / سرور / solr /

CLUSTER_SIZE و میزبان پارامتر ها برای HA استقرار در سراسر میزبان های مختلف

شما متوجه خواهید شد که CLUSTER_SIZE پارامتر اجازه می دهد تا به شما برای مشخص تعداد از ظروف برای راه اندازی (با وابستگی نرم افزار همان).
میزبان پارامتر اجازه می دهد تا به شما برای مشخص میزبان شما می خواهم به استفاده برای استقرار ظرف. این ممکن است اگر شما انتخاب کرده اید بافت به عنوان لایه شبکه در هنگام ایجاد خوشه های خود را. به این ترتیب شما می توانید بالا در دسترس برای استفاده خوشه های سرور خود را در سراسر میزبان های مختلف (و یا مناطق) اطمینان و شما می توانید با قوانین میل مطابق به اطمینان حاصل شود که پایگاه داده قابل اجرا بر روی یک میزبان جداگانه به عنوان مثال. در اینجا مقادیر پارامتر میزبان پشتیبانی می شوند:
  • host1، host2، host3 ، و غیره - یک میزبان به طور تصادفی انتخاب در یک مرکز داده (و یا خوشه ای) برای استقرار کانتینر
  • IP نشانی 1، IP نشانی 2، و غیره - اجازه می دهد تا کاربر را مشخص آدرس IP واقعی استفاده برای استقرار کانتینر
  • نام میزبان 1، نام میزبان 2، و غیره - اجازه می دهد تا کاربر را مشخص اسامی گره واقعی برای استفاده برای استقرار کانتینر
  • نویسه عام (به عنوان مثال "db- "، و یا "برنامه-srv- ") - برای مشخص کردن نویسه عام به استفاده در نام میزبان

اتصالات متغیر محیطی در سراسر تصاویر

علاوه بر این، کاربر می تواند عبور تصویر اتصالات متغیر محیطی با ساخت یک مرجع به متغیر محیطی تصویر دیگری ایجاد کنید. در این مورد، ما را ساخته اند چند اتصالات - از جمله database_url = JDBC: خروجی زیر: // {{خروجی زیر | container_hostname}}: 3306 / {{خروجی زیر | MYSQL_DATABASE}} - که در آن نام ظرف پایگاه داده به صورت پویا در زمان درخواست حل و استفاده می شود برای اطمینان حاصل شود که نرم افزار سرویس دهنده می تواند یک اتصال با پایگاه داده برقرار کند.
در اینجا لیستی از مقادیر متغیر محیطی پشتیبانی است:
  • {{الفبایی | 8}} - ایجاد یک 8 شخصیت رشته تصادفی الفبایی. این مناسب ترین روش برای ایجاد رمزهای عبور تصادفی است.
  • {{Image Name | ip}} - اجازه می دهد تا شما را به آدرس IP میزبان از یک ظرف وارد کنید به عنوان یک ارزش برای یک متغیر محیطی. این مناسب ترین روش برای اجازه دادن به لایه میان به برقراری ارتباط با پایگاه داده است.
  • {{نام تصویر | container_ip}} - اجازه می دهد تا شما را به نام یک ظرف به عنوان یک ارزش برای یک متغیر محیطی. این مناسب ترین روش برای اجازه دادن به لایه میان برای ایجاد یک ارتباط امن با پایگاه داده (بدون افشای پورت پایگاه داده) است.
  • {{نام تصویر | container_private_ip}} - اجازه می دهد تا شما را به IP داخلی یک ظرف به عنوان یک ارزش برای یک متغیر محیطی. این مناسب ترین روش برای اجازه دادن به لایه میان برای ایجاد یک ارتباط امن با پایگاه داده (بدون افشای پورت پایگاه داده) است.
  • {{نام تصویر | شماره port_Port}} - اجازه می دهد تا شما را به شماره پورت از یک ظرف به عنوان یک ارزش برای یک متغیر محیطی. این مناسب ترین روش برای اجازه دادن به لایه میان به برقراری ارتباط با پایگاه داده است. در این مورد، شماره پورت مشخص شده نیاز به شماره پورت داخلی - یعنی پورت های خارجی است که به ظرف اختصاص داده است. به عنوان مثال، {{PostgreSQL و | port_5432}} را به پورت های خارجی واقعی است که اجازه خواهد داد که ردیف میان به برقراری ارتباط با پایگاه داده ترجمه شده است.
  • {{نام تصویر | محیط زیست نام متغیر}} - اجازه می دهد تا شما را به ارزش یک تصویر متغیر محیطی به محیط متغیر تصویر دیگری است. موارد استفاده در اینجا بی پایان هستند - به عنوان اکثر برنامه های کاربردی چند لایه خواهد وابستگی متقابل تصویر داشته باشد.
در اینجا چهار نمونه هستند. شما می توانید پیدا سفارشی و اجرای تمام 24 قالب خود را.
تصویر

چند لایه جاوا (از Nginx-تامکت-Solr-Mongo ها)

تصویر
تصویر

چند لایه جاوا (Nginx را-از JBoss-Solr-اوراکل-XE)

تصویر
تصویر

چند لایه جاوا (ApacheLB-تامکت-Solr-کاساندرا)

تصویر
تصویر

چند لایه جاوا (ApacheLB اسکله-Solr-Mongo ها)

تصویر
تصویر

تأمین و خودرو پوسته پوسته شدن زیرساخت های اساسی در هر ابر

هنگامی که یک برنامه ذخیره شده است، کاربر می تواند یک ارائه دهنده ابر ثبت نام به طور خودکار به تأمین و خودکار پوسته پوسته شدن از خوشه در 12 ابر نقاط پایانی مختلف از جمله ماکروسافت، اوپناستک، CloudStack، خدمات وب سایت آمازون، Rackspace را، مایکروسافت لاجورد، DigitalOcean، آی بی ام SoftLayer، موتور محاسبه گوگل، و بسیاری دیگر.
اول، یک کاربر می تواند یک ارائه دهنده ابر برای Rackspace را (به عنوان مثال) با مرور به ثبت نام ابر دهنده و سپس کلیک کردن بر روی + دکمه را انتخاب کنید Rackspace را . نیاز به Rackspace را کلید API ارائه می شود - که می تواند از بخش تنظیمات حساب از کنترل پنل Rackspace ابر بازیابی.

کاربر پس از آن می توانید یک خوشه با یک سیاست مقیاس خودکار به طور خودکار چرخش تا سرور جدید ابر ایجاد کنید. این را می توان با مرور به انجام   خوشه صفحه و سپس کلیک بر روی + را فشار دهید. شما می توانید یک سیاست مبتنی بر قرار دادن ظرفیت انتخاب کنید و سپس بافت به عنوان لایه شبکه به منظور تسهیل امن، با کلمه عبور محافظت ارتباطات میان ظرف در سراسر میزبان های مختلف در یک خوشه. سیاست خودکار مقیاس به عنوان مثال، ممکن است به حداکثر تعداد VM (یا ابر سرور) به 10 تنظیم شده است.
یک کاربر می تواند در حال حاضر ارائه تعدادی از ابر سرور در خوشه به تازگی ایجاد شده یا از طریق گردش کار مبتنی بر UI یا با تعریف یک الگو مبتنی بر YAML ماشین نوشتن ساده است که می توان از کتابخانه سلف سرویس درخواست شده است.
گردش کار مبتنی بر UI- - کاربر می تواند سرور Rackspace ابر با مرور به درخواست ماشین آلات و پس از آن با کلیک بر روی + دکمه را انتخاب کنید Rackspace را . هنگامی که ارائه دهنده ابر انتخاب شده است، کاربر می تواند منطقه، اندازه و تصویر مورد نیاز را انتخاب کنید. بنادر به طور پیش فرض بر روی سرور Rackspace ابر باز به جای برخی از الزامات پورت (به عنوان مثال 32،000-59،000 برای کارگر بارانداز، 6783 برای بافت، و 5672 برای از RabbitMQ). خوشه ای است پس از آن انتخاب شده و تعداد از ابر سرور می تواند مشخص شود.

بر اساس YAML ماشین نوشتن الگو - کاربر می تواند برای اولین بار یک قالب ماشین برای نوشتن Rackspace را با مرور به ایجاد ماشین آلات و سپس انتخاب ماشین نوشتن .
در اینجا قالب برای درخواست یک سرور 4GB ابر است.

تصویر
مربوط به پارامترها برای قالب ماشین نوشتن در زیر خلاصه:
  • توضیحات : شرح طرح / قالب
  • instanceType : ابر مقدار خاص ارائه دهنده (به عنوان مثال general1-4)
  • منطقه : ابر مقدار خاص ارائه دهنده (به عنوان مثال IAD)
  • تصویر : اجباری - طور کامل واجد شرایط تصویر ID / نام (به عنوان مثال IAD / 5ed162cc-b4eb-4371-b24a-a0ae73376c73 یا ماکروسافت VM الگو نام)
  • نام کاربری : اختیاری - فقط برای نام کاربری ماکروسافت VM الگو
  • رمز عبور : اختیاری - فقط برای ماکروسافت VM الگو رمز عبور رمزگذاری شده است. شما می توانید با استفاده از رمز عبور به نقطه پایانی رمزگذاری https://www.dchq.io/#/encrypt
  • شبکه : اختیاری - ابر مقدار خاص ارائه دهنده (به عنوان مثال به طور پیش فرض)
  • securityGroup : ابر مقدار خاص ارائه دهنده (به عنوان مثال dchq امنیت گروه)
  • جفت کلید : ابر مقدار خاص ارائه دهنده (کلید به عنوان مثال شخصی)
  • openPorts : اختیاری - کاما از هم جدا ارزش پورت
  • تعداد دفعات مشاهده : مجموع تعداد در VM، پیش فرض به 1.
هنگامی که قالب ماشین نوشتن ذخیره شده است، کاربر می تواند این دستگاه از سلف سرویس درخواست کتابخانه . کاربر می تواند با کلیک بر روی سفارشی کردن و پس از آن را انتخاب کنید ارائه دهنده ابر و خوشه به استفاده از برای تأمین این سرویس دهنده Rackspace ابر.

استقرار چند لایه نرم افزار های جاوا بر روی Rackspace را خوشه

هنگامی که سرور ابر مشروط شده است، یک کاربر می تواند یک چند لایه، برنامه های کاربردی بر اساس کارگر بارانداز-جاوا بر روی سرور جدید ابر استقرار. این را می توان با مرور به کتابخانه سلف سرویس و سپس کلیک کردن بر روی سفارشی به درخواست یک برنامه چند لایه انجام می شود.
کاربر می تواند یک برچسب محیط زیست (مانند DEV یا QE) و خوشه Rackspace را قبل از کلیک کردن بر روی ایجاد شده انتخاب کنید درست ماشین آلات .

دسترسی به در مرورگر در ترمینال در حال اجرا ظروف

آیکون خط فرمان باید در کنار نام ظروف 'در صفحه نرم افزار زنده در دسترس باشد. این اجازه می دهد تا کاربران برای ورود به ظرف با استفاده از یک پروتکل ارتباطی امن از طریق صف پیام عامل. یک لیست سفید از دستورات را می توان با مستأجر محیط مدیریت تعریف شده اطمینان حاصل شود که کاربران به هیچ تغییرات مضر در ظروف در حال اجرا را ندارد.

برای استقرار تامکت به عنوان مثال، ما با استفاده از خط فرمان برای مطمئن شوید که فایل جاوا جنگ تحت / usr / محلی / گربه نر / وبی / دایرکتوری مستقر شد.

نظارت بر پردازنده، حافظه و من O استفاده / از ظروف در حال اجرا

هنگامی که برنامه و در حال اجرا، توسعه دهندگان ما نظارت بر CPU، حافظه، و I / O از ظروف در حال اجرا برای دریافت هشدار زمانی که این معیارهای تجاوز یک آستانه از پیش تعریف شده. این امر به ویژه زمانی مفید است که توسعه دهندگان ما در حال انجام تست عملکرد و بار.
کاربر می تواند تجزیه و تحلیل نظارت تاریخی انجام و ارتباط مسائل به روز رسانی ظرف و یا ساخت استقرار. این را می توان با کلیک کردن بر روی انجام عملیات منو از برنامه های در حال اجرا و سپس بر روی مانیتورینگ . یک محدوده تاریخ سفارشی را می توان به مشاهده پردازنده، حافظه و I / O در طول تاریخ انتخاب شده است.


فعال کردن گردش کار تحویل مداوم با جنکینز برای به روز رسانی جنگ فایل از نرم افزار در حال اجرا هنگامی A ساخت باعث شده است

برای توسعه دهندگان که مایل به دنبال مدل "تغییر ناپذیر" ظروف با بازسازی تصاویر کارگر بارانداز حاوی کد برنامه و چرخش تا ظروف جدید با هر به روز رسانی نرم افزار، DCHQ فراهم می کند ویژگی ساخت خودکار که اجازه می دهد توسعه دهندگان به طور خودکار تصاویر کارگر بارانداز از Dockerfiles و یا پروژه های گیتهاب خصوصی حاوی ایجاد Dockerfiles.

با این حال، بسیاری از توسعه دهندگان ممکن است مایل به روز رسانی نرم افزار در حال اجرا ظروف سرور با آخرین جاوا فایل WAR به جای. برای که، DCHQ اجازه می دهد تا توسعه دهندگان را قادر می سازد یک گردش کار تحویل مداوم با جنکینز. این را می توان با کلیک کردن بر روی انجام عملیات منو از برنامه های در حال اجرا و سپس انتخاب تحویل مداوم . کاربر می تواند یک نمونه جنکینز که در حال حاضر با DCHQ ثبت شده است را انتخاب کنید، کار واقعی در جنکینز که آخرین فایل WAR تولید خواهد کرد، و سپس یک اسکریپت bash پلاگین برای گرفتن این ساخت و گسترش آن در سرور برنامه در حال اجرا. هنگامی که این سیاست ذخیره شده است، DCHQ آخرین فایل جنگ از جنکینز هر زمان ساخت باعث شده است گرفتن و استقرار آن بر روی سرور برنامه در حال اجرا.
توسعه دهندگان، به عنوان یک نتیجه همیشه آخرین فایل جاوا جنگ مستقر در ظروف در حال اجرا در محیط / آزمون DEV دارند.

تصویر

پوسته پوسته شدن تامکت سرور برنامه های خوشه ای و اهرم از خدمات کشف چارچوب برای به روز رسانی متعادل کننده بار

اگر برنامه در حال اجرا می شود با منابع محدود، کاربر می تواند به مقیاس از نرم افزار برای دیدار بار افزایش می یابد. علاوه بر این، کاربر می تواند مقیاس کردن در ساعات کسب و کار و مقیاس در طول تعطیلات آخر هفته برای مثال برنامه.
به مقیاس از خوشه ای از سرور تامکت از 1 به 2، کاربر می تواند با کلیک بر روی عملیات منو از برنامه های در حال اجرا و سپس انتخاب مقیاس کردن . کاربر پس از آن می تواند به اندازه جدید برای خوشه مشخص و سپس بر روی اجرا کن .
همانطور که در مقیاس اجرا شده است، چارچوب خدمات کشف استفاده می شود برای به روز رسانی متعادل کننده بار. یک پلاگین، به طور خودکار در سرویس دهنده وب Apache اجرا خواهد شد برای به روز رسانی فایل httpd.conf سرویس دهنده وب Apache را به طوری که آن را از سرور نرم افزار جدید اضافه شده آگاه است. دلیل این است که ما مشخص post_scale_out: AppServer به عنوان رویداد چرخه عمر برای این پلاگین.
تصویر
یک برنامه زمان خط در دسترس است برای پیگیری هر تغییر ایجاد شده در نرم افزار برای حسابرسی و تشخیص. این را می توان از منوی قابل ارتقا در پایین صفحه از یک برنامه در حال اجرا قابل دسترسی است. در این مورد، چارچوب خدمات کشف اعدام پلاگین و سرور Apache HTTP به طور خودکار درست پس از خوشه سرور برنامه خارج کاهش پیدا کرد.
هشدارها و اطلاعیه برای زمانی که ظروف یا میزبان پایین و یا زمانی که CPU و حافظه استفاده از هر دو میزبان و یا ظروف بیش از یک حد آستانه تعریف شده در دسترس هستند.

نتیجه گیری

Containerizing شرکت برنامه های کاربردی جاوا هنوز هم یک چالش عمدتا به دلیل موجود چارچوب ترکیب نرم افزار انجام وابستگی پیچیده، یکپارچگی خارجی و یا خودکار پوسته پوسته شدن گردش پس از ارائه آدرس نیست. علاوه بر این، طراحی زودگذر ظروف بدان معنی است که توسعه دهندگان به حال به چرخش تا ظروف جدید و دوباره ایجاد وابستگی پیچیده و یکپارچگی خارجی با هر به روز رسانی نسخه.

DCHQ، موجود در نسخه های میزبانی و بر فرض، به تمام این چالش ها و ساده کانتینری از برنامه های شرکت جاوا از طریق یک برنامه چارچوب ترکیب پیش که تسهیل محیط cross-تصویر اتصالات متغیر های درب اسکریپت bash پلاگین است که می توان در استناد درخواست زمان و یا پس از ارائه، و خوشه بندی نرم افزار برای در دسترس بودن بالا در سراسر میزبان های مختلف و یا مناطق با پشتیبانی از پوسته پوسته شدن خودکار.

برای ثبت نام رایگان در http://DCHQ.io و یا دانلود DCHQ در فرض
برای دسترسی به خارج از جعبه قالب های چند لایه نرم افزار جاوا همراه با نرم افزار قابلیت مدیریت چرخه عمر مانند نظارت، به روز رسانی ظرف، مقیاس در / و مستمر تحویل.




No comments:

Post a Comment