שירותים מנוהלים

מארכיטקטורה מונוליטית לארכיטקטורה מבוססת קונטיינרים – תחזוקת אפליקציות

Giuseppe Gangemi, ספק עולמי של מחברים ופתרונות הרכבה, ביקש לשפר את יכולת ההתרחבות של אפליקציית GlassCad שלו ולהפחית עלויות תשתית. שיפרנו את הביצועים והאבטחה של האפליקציה על ידי יישום קונטיינרים, auto-scaling ושירותי AWS נבחרים. השתמשנו גם ב-Terraform כדי לייעל את ניהול התשתית ולהקל על פריסה בסביבות שונות.

arrow_circle_right שירותים מנוהלים

אודות הלקוח

בתור Spyrosoft בנינו אפליקציית אינטרנט לניהול מלאי והזמנות עבור FREEDOM Giuseppe Gangemi, שותף עסקי קרוב שלCDA BUFAB Sp. z o.o. הלקוח שלנו ביקש לשפר את המדרגיות ולהפחית את עלויות התשתית של אפליקציית GlassCad שלו. לפני פרויקט זה, הלקוח הפעיל את האפליקציה שלו על ארכיטקטורה מונוליטית, שהפכה לקשה יותר ויותר לניהול ככל שגדלה במורכבותה.

קראו את מחקר המקרה שלנו על פרויקט תחזוקת האפליקציה.

שירותים

תחזוקה

טכנולוגיות

AWS
AWS RDS
Docker
Terraform
Amazon Aurora MySQL
AWS SDK
Amazon Cloudwatch

אודות הלקוח

FREEDOM Giuseppe Gangemi הוא ספק עולמי של מחברים ופתרונות הרכבה. החברה מתמחה במתן שירותים הקשורים לתעשיות ייצור ועיבוד הזכוכית. GlassCad היא אפליקציה שנוצרה כדי לסייע ללקוחות בתכנון ובעיצוב של חללי זכוכית. היא מאפשרת אופטימיזציה של תהליך ההזמנה ושיפור בחיתוך ובעיבוד של זכוכית. התוכנה מנצלת אלגוריתמים מתקדמים וטכנולוגיית CAD כדי לייצר תוכניות חיתוך יעילות. הדבר ממזער פסולת וממקסם את ניצול החומר תוך הקפדה מתקדמת על בחירה אופטימלית של אביזרים וחומרי עזר.

תחזוקת אפליקציות – מטרות הפרויקט

המטרות העיקריות של הפרויקט היו:

  • העברת אפליקציית AWS מאזור 'eu-central-1' לאזור 'eu-west-1'
  • העברת האפליקציה מארכיטקטורה מונוליטית לארכיטקטורה מבוססת קונטיינרים
  • שפרו את היכולת להתרחב ואת הזמינות של האפליקציה
  • הפחתת עלויות תשתית
  • הקמת סביבות פיתוח, בדיקה (staging) וייצור
  • יישום רשת הפצת תוכן (CDN) לשיפור הביצועים והפחתת השהיה
  • הטמעת פתרון מסד נתונים מנוהל עבור האפליקציה
  • הטמעת AWS Secrets Manager לאחסון ושליפה מאובטחים של נתוני אפליקציה רגישים
  • יישום AWS Certificate Manager לניהול תעודות SSL/TLS עבור האפליקציה

arrow_circle_right המלצת לקוח

מה אומרים עלינו

היינו זקוקים לתשתית ניתנת לניהול בקלות ובעלת גמישות מספקת כדי לשכפל אותה בפשטות לצורך יצירת מופעים חדשים של יישום GlassCad.

ג'וזפה גנגמי

מייסד FREEDOM Giuseppe Gangemi

שלבי הפרויקט

  1. תכנון ועיצוב

השלב הראשון היה לתכנן את ההעברה ולעצב את הארכיטקטורה החדשה. זה כלל ניתוח של האפליקציה הקיימת, זיהוי רכיבים שניתן להעביר לקונטיינרים ויצירת התשתית החדשה ב-AWS. הצוות החליט להשתמש ב-Amazon Elastic Container Service (ECS) לניהול הקונטיינרים, ב-Amazon CloudFront כ-CDN לשיפור הביצועים והפחתת השהיה, וב-Amazon Relational Database Service (RDS) כפתרון מסד נתונים מנוהל עבור האפליקציה. הם גם החליטו ליישם את AWS Secrets Manager לאחסון ושליפה מאובטחים של נתוני אפליקציה רגישים ואת AWS Certificate Manager לניהול תעודות SSL/TLS עבור האפליקציה.

  1. קונטיינריזציה של האפליקציה

המשימה הבאה הייתה להעביר את היישום לקונטיינרים. הדבר כלל פירוק היישום המונוליטי לרכיבים קטנים יותר שניתן לנהל ולהרחיב באופן עצמאי. הצוות השתמש ב-Docker כדי להעביר את רכיבי היישום לקונטיינרים ויצר אימג'ים לכל רכיב כך שניתן יהיה לאחסן אותם ב-Amazon Elastic Container Registry (ECR).

  1. בניית התשתית החדשה עם Terraform

כשהקונטיינרים היו מוכנים, הצוות החל לבנות את התשתית החדשה ב-AWS באמצעות Terraform. יצרנו מודולי Terraform נפרדים עבור סביבות הפיתוח, ה-Staging והייצור, כל אחד עם VPCs, תת-רשתות, מאזני עומסים, קבוצות סקיילינג אוטומטי, אשכולות ECS ומופעי RDS משלו.

  1. יישום Amazon CloudFront

לאחר שהתשתית החדשה הייתה במקום, יישמנו את Amazon CloudFront כ-CDN כדי לשפר ביצועים ולהפחית השהיה. יצרנו גם הפצת CloudFront עבור כל סביבה והגדרנו אותה לשמור במטמון תוכן שנגיש לעתים קרובות, כגון תמונות וקבצים סטטיים.

  1. יישום Amazon RDS

השלב הבא היה יישום Amazon RDS כפתרון מסד נתונים מנוהל עבור האפליקציה. יצרנו מופעי RDS לכל סביבה והגדרנו את מסדי הנתונים להשתמש ב-Amazon Aurora, שהוא מנוע מסד נתונים בעל זמינות גבוהה ויכולת הרחבה. בשל כך, הצוות שלנו גם הגדיר את קבוצות האבטחה ובקרות הגישה כדי להבטיח שמסדי הנתונים מאובטחים.

  1. יישום AWS Secrets Manager

לאחר מכן הצוות יישם את AWS Secrets Manager. כתוצאה מכך, הדבר אפשר לנו לאחסן ולאחזר באופן מאובטח נתוני אפליקציה רגישים כגון פרטי התחברות למסדי נתונים, מפתחות API וסודות אחרים. נעשה שימוש ב-AWS SDK לגישה פרוגרמטית לסודות מהאפליקציה ויושמו בקרות גישה מפורטות כדי להבטיח שרק משתמשים מורשים יוכלו לגשת לסודות.

  1. יישום AWS Certificate Manager

AWS Certificate Manager הוצג לניהול תעודות SSL/TLS עבור האפליקציה. השתמשנו ב-ACM כדי ליצור תעודות SSL/TLS עבור כל סביבה והגדרנו את מאזני העומס ושירותי ECS להשתמש בתעודות לתקשורת מאובטחת עם האפליקציה.

  1. העברת היישום

לאחר שהתשתית החדשה, ה-CDN, מסדי הנתונים, Secrets Manager ו-Certificate Manager היו במקומם, הגיע הזמן להתחיל בהעברת האפליקציה מהתשתית הישנה לחדשה. השתמשנו באסטרטגיית פריסה מתגלגלת (rolling deployment) כדי לפרוס בהדרגה את הקונטיינרים החדשים ולאמת את תפקוד האפליקציה לאחר כל פריסה. כמו כן, AWS CloudWatch סייע לניטור הביצועים והזמינות של האפליקציה, ויישמנו auto-scaling כדי להבטיח שהאפליקציה תוכל להתמודד עם עומס תעבורה מוגבר.

  1. בדיקות ואימות

לאחר השלמת המעבר, הצוות שלנו ביצע בדיקות ואימות מקיפים. היה צורך להבטיח שהאפליקציה פועלת כראוי בסביבה החדשה. לכן ביצענו גם בדיקות עומס מקיפות כדי לאמת את יכולתה של האפליקציה להתמודד עם נפח התעבורה והעומס הצפויים.

תהליך

תוצאות

השלמנו בהצלחה את פרויקט תחזוקת האפליקציה, והתשתית החדשה עמדה ביעדים של שיפור יכולת ההרחבה, הזמינות והפחתת עלויות התשתית. השימוש בקונטיינרים ובהרחבה אוטומטית אפשר לאפליקציה להתמודד עם עלייה בתעבורה ובעומס, בעוד שהשימוש ב-AWS Secrets Manager וב-Certificate Manager סייע גם לשפר את אבטחת האפליקציה. הטמעת AWS CloudFront גם שיפרה את ביצועי האפליקציה והפחיתה את זמן ההשהיה למשתמש. לבסוף, השימוש ב-Terraform אפשר ניהול ופריסה קלים של התשתית בסביבות מרובות, ופישט את השליטה בכל מכלול האפליקציה, מה שסיפק את הצורך של מר Gangemi בתהליך שכפול יעיל.

arrow_circle_rightצור קשר

מעוניינים לעבוד יחד?
צרו קשר.

Filip Różański Spyrosoft

Filip Rozanski

ראש שירותים מנוהלים