במאמר זה אני רוצה לדבר על איך שינינו את הגישה לתזמור בפרויקט הסטארט-אפ שלנו, למה עשינו את זה ואילו בעיות פתרנו בדרך. מאמר זה בקושי יכול לטעון שהוא ייחודי, אבל אני עדיין חושב שהוא יכול להיות שימושי למישהו, שכן בתהליך של פתרון הבעיה, אספנו את החומר עם כמות הגונה של מאמץ.
מה היה לנו ועל מה דיברנו? והיה לנו פרויקט סטארטאפ עם כשנתיים של היסטוריית פיתוח מתחום הפרסומות. הפרויקט נבנה בתחילה כשירות מיקרו, וחלק השרת שלו נכתב ב-Symfony + מעט Laravel, Django ו-NativeJs. השירותים הם בעיקר API עבור לקוחות ניידים (יש 2 מהם בפרויקט) ו-SDK משלנו עבור IOS (מובנה באפליקציות של הלקוחות שלנו), כמו גם ממשקי אינטרנט ודשבורדים שונים של אותם לקוחות. כל השירותים עברו תחילה עגינה ופעלו תחת docker-compose.
נכון, docker-compose לא היה בשימוש בכל מקום, אלא רק בסביבה המקומית של המפתחים, במבחן. שרת ובתוך תהליך הבנייה והבדיקה של שירותים. בסביבת הייצור, השתמשנו ב-Google Kubernetes Engine (GKE). יתר על כן, קבענו את התצורה של GKE לחלוטין דרך ממשק האינטרנט שלו בתחילת הפרויקט, וזה היה די מהיר, וכפי שחשבנו באותה תקופה, נוח. התהליך האוטומטי היחיד היה בניית תמונות Docker להפעלת שירותים ב-GKE.
