من البنية المتجانسة إلى البنية المعتمدة على الحاويات – صيانة التطبيقات
أرادت Giuseppe Gangemi، وهي مورّد عالمي لمثبتات وحلول التجميع، تحسين قابلية التوسع في تطبيق GlassCad الخاص بها وتقليل تكاليف البنية التحتية. وقد عززنا أداء التطبيق وأمنه من خلال تنفيذ الحاويات والتوسع التلقائي وخدمات AWS مختارة. كما استخدمنا Terraform لتبسيط إدارة البنية التحتية وتسهيل النشر عبر بيئات متعددة.
الخدمات
التقنيات
عن العميل
FREEDOM Giuseppe Gangemi هي مورّد عالمي لحلول التثبيت والتجميع. تتخصص الشركة في تقديم الخدمات المتعلقة بصناعات إنتاج ومعالجة الزجاج. GlassCad هو تطبيق أُنشئ لمساعدة العملاء في تصميم وتخطيط المساحات الزجاجية. وهو يتيح تحسين عملية الطلب وتحسين عمليات قطع وتشغيل الزجاج. ويستفيد البرنامج من خوارزميات متقدمة وتقنية CAD لإنشاء خطط قطع فعّالة. وهذا يقلل من الهدر ويزيد من استغلال المواد إلى أقصى حد مع عناية متقدمة بالاختيار الأمثل للتجهيزات والمواد المساعدة.
صيانة التطبيقات – أهداف المشروع
تمثلت الأهداف الرئيسية للمشروع في:
- ترحيل تطبيق AWS من منطقة 'eu-central-1' إلى 'eu-west-1'
- انقل التطبيق من بنية أحادية إلى بنية قائمة على الحاويات
- تحسين قابلية التوسع وتوافر التطبيق
- تقليل تكاليف البنية التحتية
- إنشاء بيئات التطوير والاختبار والإنتاج
- تنفيذ شبكة توصيل المحتوى (CDN) لتحسين الأداء وتقليل زمن الاستجابة
- تنفيذ حل قاعدة بيانات مُدارة للتطبيق
- تنفيذ AWS Secrets Manager لتخزين واسترجاع بيانات التطبيق الحساسة بشكل آمن
- تنفيذ AWS Certificate Manager لإدارة شهادات SSL/TLS للتطبيق
arrow_circle_right شهادة
ما يقوله عملاؤنا عنا
خطوات المشروع
- التخطيط والتصميم
تمثلت الخطوة الأولى في التخطيط للترحيل وتصميم البنية المعمارية الجديدة. تضمّن ذلك تحليل التطبيق الحالي، وتحديد المكونات التي يمكن تحويلها إلى حاويات، وإنشاء البنية التحتية الجديدة على AWS. قرر الفريق استخدام Amazon Elastic Container Service (ECS) لإدارة الحاويات، وAmazon CloudFront كشبكة توصيل محتوى (CDN) لتحسين الأداء وتقليل زمن الاستجابة، وAmazon Relational Database Service (RDS) كحل قاعدة بيانات مُدار للتطبيق. كما قرروا تنفيذ AWS Secrets Manager لتخزين واسترجاع بيانات التطبيق الحساسة بشكل آمن، وAWS Certificate Manager لإدارة شهادات SSL/TLS للتطبيق.
- تحويل التطبيق إلى حاويات
كانت المهمة التالية هي تحويل التطبيق إلى حاويات. تضمن ذلك تقسيم التطبيق المتكامل إلى مكونات أصغر يمكن إدارتها وتوسيع نطاقها بشكل مستقل. استخدم الفريق Docker لتحويل مكونات التطبيق إلى حاويات وإنشاء صور لكل مكون بحيث يمكن تخزينها في Amazon Elastic Container Registry (ECR).
- بناء البنية التحتية الجديدة باستخدام Terraform
وبعد تجهيز الحاويات، بدأ الفريق في بناء البنية التحتية الجديدة على AWS باستخدام Terraform. وأنشأنا وحدات Terraform منفصلة لبيئات التطوير والاختبار والإنتاج، ولكل منها شبكات VPC وشبكات فرعية وموازنات تحميل ومجموعات توسع تلقائي وعناقيد ECS ونُسخ RDS الخاصة بها.
- تنفيذ Amazon CloudFront
بعد تجهيز البنية التحتية الجديدة، قمنا بتطبيق Amazon CloudFront كشبكة توصيل محتوى (CDN) لتحسين الأداء وتقليل زمن الاستجابة. كما أنشأنا توزيعاً لـ CloudFront لكل بيئة وقمنا بتهيئته لتخزين المحتوى الذي يتم الوصول إليه بشكل متكرر، مثل الصور والملفات الثابتة.
- تنفيذ Amazon RDS
تمثلت الخطوة التالية في تنفيذ Amazon RDS كحل قاعدة بيانات مُدارة للتطبيق. أنشأنا نسخاً من RDS لكل بيئة وقمنا بتهيئة قواعد البيانات لاستخدام Amazon Aurora، وهو محرك قاعدة بيانات عالي التوافر وقابل للتوسع. وبسبب ذلك، قام فريقنا أيضاً بتهيئة مجموعات الأمان وضوابط الوصول لضمان أمان قواعد البيانات.
- تنفيذ AWS Secrets Manager
ثم نفذ الفريق AWS Secrets Manager. ونتيجة لذلك، سمح لنا بتخزين واسترجاع بيانات التطبيق الحساسة بشكل آمن مثل بيانات اعتماد قواعد البيانات ومفاتيح API والأسرار الأخرى. تم استخدام AWS SDK للوصول برمجياً إلى الأسرار من التطبيق وتنفيذ ضوابط وصول دقيقة لضمان أن المستخدمين المصرح لهم فقط يمكنهم الوصول إلى الأسرار.
- تنفيذ AWS Certificate Manager
تم إدخال AWS Certificate Manager لإدارة شهادات SSL/TLS للتطبيق. واستخدمنا ACM لإنشاء شهادات SSL/TLS لكل بيئة، وقمنا بتهيئة موازنات التحميل وخدمات ECS لاستخدام الشهادات من أجل التواصل الآمن مع التطبيق.
- ترحيل التطبيق
بمجرد أن أصبحت البنية التحتية الجديدة وشبكة توصيل المحتوى (CDN) وقواعد البيانات ومدير الأسرار (Secrets Manager) ومدير الشهادات (Certificate Manager) جاهزة، حان الوقت لبدء ترحيل التطبيق من البنية التحتية القديمة إلى الجديدة. استخدمنا استراتيجية النشر التدريجي لنشر الحاويات الجديدة تدريجياً والتحقق من وظائف التطبيق بعد كل عملية نشر. كما ساعد AWS CloudWatch في مراقبة أداء التطبيق وتوافره، وقمنا بتطبيق التوسع التلقائي لضمان قدرة التطبيق على التعامل مع زيادة حركة المرور.
- الاختبار والتحقق
بعد اكتمال عملية الانتقال، أجرى فريقنا اختبارات وتحققًا مكثفين. كان من الضروري التأكد من أن التطبيق يعمل بشكل صحيح في البيئة الجديدة. ولهذا السبب أجرينا أيضًا اختبارات تحميل مكثفة للتحقق من قدرة التطبيق على التعامل مع حجم الحركة والتحميل المتوقعين.
العملية

النتائج
أكملنا مشروع صيانة التطبيق بنجاح، وحققت البنية التحتية الجديدة أهداف تحسين قابلية التوسع والتوافر وتقليل تكاليف البنية التحتية. وقد أتاح استخدام الحاويات والتوسع التلقائي للتطبيق التعامل مع زيادة حركة المرور والحمل، بينما ساعد استخدام AWS Secrets Manager وCertificate Manager في تحسين أمان التطبيق أيضًا. كما عزز تطبيق AWS CloudFront أداء التطبيق وقلل زمن الاستجابة للمستخدم. وأخيرًا، أتاح استخدام Terraform إدارة ونشر البنية التحتية بسهولة عبر بيئات متعددة، وبسّط التحكم في حزمة التطبيق بأكملها، مما لبّى حاجة السيد Gangemi إلى عملية نسخ مبسطة.
arrow_circle_right عملنا
اطلع على قصص نجاح أخرى لعملائنا
arrow_circle_rightتواصل معنا