Sut y daeth un cychwyn o docker-compose i Kubernetes

Yn yr erthygl hon hoffwn siarad am sut y gwnaethom newid yr ymagwedd at offeryniaeth ar ein prosiect cychwyn, pam y gwnaethom hynny a pha broblemau y gwnaethom eu datrys ar hyd y ffordd. Go brin y gall yr erthygl hon honni ei bod yn unigryw, ond rwy'n dal i feddwl y gall fod yn ddefnyddiol i rywun, oherwydd yn y broses o ddatrys y broblem, fe wnaethom gasglu'r deunydd gyda llawer o ymdrech.  

Beth oedd gennym ni a beth oedden ni'n siarad amdano? Ac roedd gennym brosiect cychwyn gyda thua 2 flynedd o hanes datblygu o'r maes hysbysebu. Adeiladwyd y prosiect i ddechrau fel microwasanaeth, ac ysgrifennwyd ei ran gweinydd yn Symfony + ychydig Laravel, Django a NodeJs brodorol. Mae'r gwasanaethau yn bennaf yn API ar gyfer cleientiaid symudol (mae yna 3 ohonyn nhw yn y prosiect) a'n SDK ein hunain ar gyfer IOS (wedi'i ymgorffori yng nghymwysiadau ein cwsmeriaid), yn ogystal Γ’ rhyngwynebau gwe a dangosfyrddau amrywiol o'r un cwsmeriaid hyn. Cafodd yr holl wasanaethau eu docio i ddechrau a'u rhedeg o dan docyfansoddi.

Yn wir, ni ddefnyddiwyd docker-compose ym mhobman, ond dim ond yn amgylchedd lleol datblygwyr, ar weinydd prawf, a thu mewn ar y gweill wrth adeiladu a phrofi gwasanaethau. Ond yn yr amgylchedd cynhyrchu, defnyddiwyd Google Kubernetes Engine (GKE). Ar ben hynny, fe wnaethom ffurfweddu GKE ar ddechrau'r prosiect yn gyfan gwbl trwy ei ryngwyneb gwe, a oedd yn eithaf cyflym ac, fel yr oedd yn ymddangos i ni bryd hynny, yn gyfleus. Dim ond y broses o adeiladu delweddau docwyr ar gyfer lansio gwasanaethau yn GKE oedd yn awtomataidd yma.

Darllen mwy