
قررنا إضافة تحليل لمشروع جديد إلى مقالات المؤلف والمواد المترجمة حول الاختراقات الحياتية / الاكتشافات المثيرة للاهتمام المنشورة في مدونتنا. Waypoint هو مشروع مفتوح المصدر يزود المطورين بسير عمل متسق لبناء ونشر وإصدار التطبيقات على أي نظام أساسي. إحداثية تسمح للمطورين لاستضافة طلباتهم من التنمية إلى بيئات الإنتاج في ملف واحد، ونشر التطبيقات مع أمر واحد:
waypoint up. يدعم Waypoint Kubernetes و HashiCorp Nomad و Amazon ECS و Google Cloud Run و Azure Container Instances و Docker و Buildpacks وغير ذلك الكثير. تابع القراءة للاطلاع على مثال صغير ، لمعرفة المزيد حول ميزات Waypoint ، والمشكلات التي تحلها الأداة.
نقطة الطريق قابلة للتوسيع بالكامل وتعتمد على نظام مكون إضافي للعمل مع أي أداة أو نظام أساسي. بمجرد النشر ، يوفر Waypoint التسجيل والمزيد لاختبار أي عمليات نشر وتصحيحها. هو برنامج تقوم بتنزيله واستضافته بنفسك لإدارة نشر التطبيقات التي تعمل على البنية الأساسية أو الأنظمة الأساسية الخاصة بك. علاوة على ذلك ، سيخبرك مؤسس HashiCorp بنفسه المزيد عن Waypoint.
تبسيط النشر
تم إنشاء Waypoint بواسطتنا لسبب واحد بسيط: المطورين يريدون فقط نشر التطبيقات. تمتلك HashiCorp القدرة على العمل مع جميع أنواع المؤسسات والأفراد في مجتمعنا ، مما يعرض لنا التحديات التي يواجهها المطورون في نشر التطبيقات ومن حيث إمكانية وصول المستخدم. نتواصل مع عشرات المستخدمين الفرديين كل يوم عبر مشكلات GitHub ومنتديات المناقشة والبريد الإلكتروني والمزيد. نلتقي كل أسبوع مع أكثر من 500 شركة لمناقشة التطورات الحالية والقضايا التشغيلية.
من خلال التفاعل ، رأينا أن المطورين ، خاصةً في المؤسسات المتوسطة والكبيرة ، غارقون في التعقيد: الحاويات ، والمجدولين ، وملفات YAML ، وخوادم بدون خادم والمزيد. أدى التعقيد إلى تحسين التطبيقات من نواحٍ عديدة ، ولكن التكلفة التي تظهر في منحنى التعلم مطلوبة لنشر التطبيق الأول ببساطة.
هناك مشكلة أخرى رأيناها تعتمد على التطبيق ، لأن الأدوات غالبًا ما تكون مختلفة جدًا: Docker و kubectl لـ Kubernetes و HashiCorp Packer و Terraform للأجهزة الافتراضية ، وأدوات مختلفة لكل منصة بدون خادم ، إلخ. يخلق هذا التجزئة مرة أخرى مشكلة تعليمية للفرد. بالنسبة للفرق ، فهذه مشاكل تتعلق بالاتساق والتعقيد.
مع Waypoint ، نهدف إلى معالجة هاتين المسألتين. توفر نقطة الطريق أمرًا واحدًا بسيطًا لنشر أي تطبيق: "إحداثية أعلى". سير العمل هو نفسه بالنسبة لأي نظام أساسي: سيتم دعم Kubernetes و Nomad و EC2 و Google Cloud Run وأكثر من عشرة آخرين من خلال الإطلاق. نقطة الطريق قابلة للتوسيع مع المكونات الإضافية لأي منطق بناء ونشر وإصدار. المطورين يريدون فقط نشر التطبيقات. نقطة الطريق تفعل ذلك فقط.
وظائف
تقدم Waypoint عددًا من الميزات التي توفر سير عمل لنشر التطبيقات واختبار عمليات النشر وتصحيحها. تجعل هذه الميزات Waypoint أداة قوية لنشر أي تطبيق على أي نظام أساسي.
- waypoint up: , . Waypoint , , , . Waypoint Waypoint.
- URL- : Waypoint URL waypoint.run TLS, Let's Encrypt. , .
- : waypoint exec. exec , , . waypoint exec.
- : Waypoint . , . , Datadog Splunk. CLI -. .
- -: CLI, Waypoint -, , . - . . , ,
- : , . Waypoint , Waypoint, .
دعنا نعرض على سبيل المثال الميزات المختلفة للإحداثية. تم تخطي بعض خطوات الإعداد ، لذا إذا كنت ترغب في تجربة المثال الكامل بنفسك ، فيرجى مراجعة أدلة البدء . في هذا المثال ، سنقوم بنشر التطبيق على Kubernetes. ملف Hcl الموجود بجوار التطبيق. يصف هذا الملف جميع مراحل دورة حياة التطبيق.
project = "HashiCorp Waypoint"
app "waypoint-up" {
build {
use "docker" {}
registry {
use "docker" {
image = "hashicorp/wpmini"
tag = gitrefpretty()
}
}
}
deploy {
use "kubernetes" {
probe_path="/"
service_port=80
}
}
release {
use "kubernetes" {
load_balancer=true
port=80
}
}
}
بناء ونشر وتحرير
يصف ملف تكوين Waypoint المراحل الرئيسية الثلاث لدورة حياة التطبيق: الإنشاء والنشر والإصدار.
- يأخذ التجميع الكود المصدري للتطبيق ويحوله إلى قطعة أثرية. يمكن أن تتضمن عملية الإنشاء تكوينًا اختياريًا للتسجيل لدفع الأداة التي تم إنشاؤها إلى السجل بحيث تكون متاحة لمنصات النشر. على سبيل المثال ، تحول هذه الخطوة كود المصدر إلى صورة Docker ، EC2 AMI ، إلخ.
- يأخذ النشر الأداة التي تم جمعها في الخطوة السابقة ويضعها على منصة النشر المستهدفة ، مما يجعل النشر متاحًا عبر عنوان URL أو طرق داخلية أخرى
ينشط الإصدار النشر ويفتحه لحركة المرور السائدة. في المستقبل ، سنضيف دعمًا إلى Waypoint لنقل التطبيقات بين البيئات ، والتراجع عن عمليات النشر والإصدارات ، ونقل حركة المرور تدريجيًا بين الخوادم بعد الإصدار.
رفع نقطة الطريق
يبني فريق إحداثية التطبيق وينشره ويطلقه. في النهاية ، يتم عرض عنوان واحد أو أكثر حيث يتوفر التطبيق. لا يهم ما هو التطبيق ولأي نظام أساسي ، يمكنك دائمًا كتابة إحداثية في الجهاز للنشر.
يمكنك تنفيذ مراحل دورة الحياة بشكل منفصل عن بعضها البعض. هذا مفيد عند التفاعل مع إجراءات Github وأدوات CI / CD مثل CricleCI و Jenkins. تعرف على المزيد حول أتمتة سير عمل التطبيق الخاص بك باستخدام Waypoint هنا .
عناوين التطبيق والنشر
تتلقى التطبيقات التي تم نشرها باستخدام Waypoint عنوان URL عام مثل waypoint.run مع شهادة TLS صالحة يتم إنشاؤها تلقائيًا بواسطة Let's Encrypt . استخدم هذا العنوان لعرض ومشاركة التطبيقات المنشورة بسرعة. نقدم عنوان URL هذا من خلال خدمة عامة مجانية من HashiCorp. هذه الميزة اختيارية ويمكن تعطيلها. في المثال أعلاه ، عنوان URL الخاص بنا مؤخرًا- pleasant-duck--v1.waypoint.run . يرجى ملاحظة أن عنوان URL هذا لم يعد يعمل ، وقد تم تنفيذ التطبيق فقط لهذه المدونة. يمكنك رؤية إصدار محدد من النشر على رابط مثل مؤخرًا-pleasant-duck--vN.waypoint.runحيث N هو رقم إصدار النشر. هذه الميزة مفيدة جدًا لمشاركة إصدار ما قبل الإصدار من تطبيقك مع فريقك.
تسجيل نقطة الطريق
يمنحك Waypoint الوصول إلى لقطة في الوقت الفعلي لسجلات التطبيق. هذه السجلات مفيدة عندما تحتاج إلى تصحيح سلوك تطبيق مطور. ومع ذلك ، فهي لا تحل محل حلول التسجيل المعقدة. يتم تجميع السجلات وإتاحتها للعرض من خلال واجهة سطر الأوامر وواجهة الويب. تعمل ميزة التسجيل هذه بغض النظر عن النظام الأساسي. سواء كنت تستخدم Kubernetes أو EC2 أو Google Cloud Run أو نظامًا أساسيًا آخر ، يمكنك عرض السجلات باستمرار. باستخدام واجهة المستخدم ، يمكنك عرض سجلات التطبيقات المتعددة التي تم نشرها على أنظمة أساسية مختلفة.
إحداثية exec
يمكنك تنفيذ الأوامر في سياق التطبيق المنشور باستخدام الأمر waypoint exec. تتيح لك هذه الميزة فتح غلاف وتشغيل البرامج النصية والقيام بأي شيء آخر تريد القيام به مع عمليات النشر الخاصة بك. مثل التسجيل ، يعمل waypoint exec على جميع الأنظمة الأساسية التي تدعمها Waypoint.
احتمالات أخرى
هذه القائمة هي مجرد نظرة عامة سريعة على بعض ميزات Waypoint. يمكن استخدام Waypoint لإدارة تكوين التطبيق عبر متغيرات البيئة ، ويتكامل مع CI أو Github. تُستخدم مساحات العمل لإنشاء بيئات منفصلة لفروع منفصلة. بدلاً من ذلك ، يمكنك كتابة مكون إضافي وهذا ليس كل شيء. نقطة الطريق هي العلامة التجارية للمشروع الجديد. نتطلع إلى الاستمرار في إضافة وظائف جديدة في الأشهر المقبلة.
إحداثية والتطبيقات الحالية
إذا كان لديك بالفعل تطبيق وسير عمل للنشر ، فقد تشك في إمكانية استخدام…. لا نتوقع من فرق التطوير إعادة بناء وإعادة بناء سير عملهم على الفور لإحداثية من البداية. ولكن لدينا بالفعل ملحق سحب عامل الإرساء وقدرة تنفيذ محلية لتكييف نقطة الطريق مع تطبيق بسير عمل تم تكوينه بالفعل. بالإضافة إلى ذلك ، لدينا وثائق تصف تكامل Waypoint في CIs الأخرى: CircleCI أو Jenkins... تتيح لك هذه الميزة عرض محفوظات النشر في واجهة Waypoint وتنفيذ أمر التنفيذ والتسجيل وتكوين التطبيق والمزيد. بقليل من الجهد ، ستحصل على فوائد Waypoint بينما تفكر فيما إذا كنت تريد الترقية إلى مكون إضافي أكثر قابلية للإدارة. عندما يكون لديك العديد من التطبيقات ، يتيح لك هذا الأسلوب الجمع بين مهام سير العمل ومقارنتها.
قابل للتوسيع بالكامل بواسطة الإضافات
منطق دورة الحياة قابل للتوسيع بالكامل. يعمل Waypoint على نفس نظام البرنامج المساعد مثل Terraform. نعتقد أن كتابة ملحق لـ Waypoint سهل (إن لم يكن أبسط) من Terraform. يحتوي Waypoint على أكثر من عشرة مكونات إضافية تم إنشاؤها منذ البداية. نأمل ونتوقع أنه بمرور الوقت ، بمساعدة مجتمع المصادر المفتوحة ، سيزداد هذا العدد بشكل كبير. كان لدى Terraform حوالي 6 مزودين عند الإطلاق. تضم Terraform اليوم 300 مزود. نعتقد أن هذا ممكن لنشر التطبيق أيضًا. إذا كنت مهتمًا بكتابة مكون إضافي ، فالرجاء قراءة دليلنا لمؤلفي المكونات الإضافية والاطلاع على الكود المصدري للمكونات الإضافية المضمنة في Waypoint 0.1 على Github.
روابط المشروع
- Waypoint, , , NodeJS, Python, Ruby, Java , .
- . Waypoint , HashiCorp. , .
- . Waypoint. Waypoint, GitHub Waypoint HashiCorp.
- . Waypoint, , , URL- Waypoint, Twitter #WaypointUp HashiCorp. , , URL Waypoint. .
خاصة بالنسبة إلى Habrovites ، قمنا بعمل رمز ترويجي HABR ، والذي يمنح خصمًا إضافيًا بنسبة 10 ٪ على الخصم الموضح على اللافتة.

- تدريس مهنة علوم البيانات من الصفر
- المعسكر التدريبي عبر الإنترنت لعلوم البيانات
- تدريب مهنة محلل البيانات من الصفر
- المعسكر التدريبي لتحليلات البيانات على الإنترنت
- دورة بايثون لتطوير الويب
المزيد من الدورات