Modernizing Travel Platform Applications by Migrating PHP Applications from EC2 to EKS - Eastern Enterprise

Modernizing Travel Platform Applications by Migrating PHP Applications from EC2 to EKS

Modernisering van reisplatformtoepassingen door PHP-toepassingen te migreren van EC2 naar EKS

Over de
klant

De klant is een toonaangevend reismerk dat zich richt op betrouwbare, vooraf geboekte grondtransfers. Naarmate de vraag groeide, groeide ook de behoefte aan een platform dat veerkrachtig is, consistent is in verschillende omgevingen en gemakkelijker te ontwikkelen is. Het bedrijf heeft Eastern Enterprise ingeschakeld om een reeks verouderde PHP-applicaties te moderniseren en de basis te leggen voor duurzame productontwikkeling.

De
uitdaging

Verschillende PHP-applicaties draaiden op afzonderlijke EC2-instanties die waren gemaakt van AMIs in plaats van via autoscaling groups. Implementaties werden gecoördineerd door Jenkins en Ansible tegen instanties die waren geselecteerd op basis van naamtags. In productie gebruikte elke applicatie twee EC2-instanties; in staging één. Deze opzet werkte, maar maakte releases trager, verhoogde de kans op omgevingdrift en maakte schalen en herstellen handmatiger dan het team wilde. Het doel was duidelijk: overstappen naar containers en Kubernetes, terwijl de dagelijkse ervaring voor ontwikkelaars eenvoudig en betrouwbaar bleef.

Onze
Oplossing

We begonnen met het begrijpen van elke applicatie zoals deze in het wild draaide, waar deze van afhankelijk was, wat deze bij het opstarten configureerde en hoe deze zich gedroeg onder belasting. Dat betekende het in kaart brengen van externe services (databases, caches, opslag, zoeken en gedeelde bestandssystemen), het verzamelen van omgevingsconfiguratie van EC2 en het vertalen van de bestaande Ansible-opzet naar container-vriendelijke conventies.

Elke applicatie kreeg een Dockerfile en een lichtgewicht opstartscript dat de originele Ansible-taken weerspiegelde. Binnen Kubernetes draaide PHP samen met Nginx in dezelfde pod om het bedieningsmodel waaraan teams gewend waren te behouden, terwijl ze tegelijkertijd de consistentie van containerimages over staging en productie verkregen. We hebben een standaard Helm-chart geïntroduceerd om de applicatieconfiguratie overzichtelijk en herhaalbaar te houden en om zaken vast te leggen zoals omgevingsvariabelen, resourcegrenzen en persistente mounts.

Releases zijn overgezet naar een continu model: GitHub Actions bouwt en pusht nu images; Argo CD implementeert op EKS op een gecontroleerde, controleerbare manier. Staging-omgevingen gaven ontwikkelaars een eenvoudige plek om end-to-end gedrag te valideren voordat ze wijzigingen doorvoeren. Ten slotte voltooiden DNS-updates via Route 53 de overschakeling met minimale verstoring.

Technologie
stack

Eastern Enterprise stelde de volgende technologie voor om de gevraagde functies gemakkelijk te bereiken
Platform Amazon EKS

(Kubernetes)

Containers & Runtime

Docker, Nginx + PHP-FPM in een gedeelde pod

Verpakking en levering

Helm voor applicatiegrafieken, GitHub Actions voor CI, Argo CD voor continue levering

Gegevens en Integraties

Amazon RDS, Amazon ElastiCache (Redis), Amazon S3, Amazon OpenSearch, Amazon EFS

Networking & Access

Route 53 voor DNS; IAM-rollen voor veilige toegang tot services

Belangrijkste voordelen

Consistentie in alle omgevingen: Dezelfde containerimage draait in staging en productie, waardoor verrassingen bij releases worden verminderd.

Snellere, veiligere releases: CI/CD-pipelines maken bouwen, testen en implementeren routinematig en controleerbaar.

Operationele veerkracht: Kubernetes verbetert zelfherstel en herstel, waardoor handmatig instantiebeheer wordt vervangen.

Beveiliging standaard: Onveranderlijke images, afgebakende IAM-toegang en beheerde geheimen versterken de basislijn.

Focus van de ontwikkelaar: Teams valideren het end-to-end gedrag in een stabiele staging-omgeving voordat ze het promoveren.

Betaalbaar en kosteneffectief: Pods delen knooppuntbronnen voor een hogere benutting; op maat gemaakte requests/limits en HPA verminderen overprovisioning en EC2-verspreiding.

Schaalbaarheid op aanvraag: Toepassingen schalen snel uit en in om zich aan te passen aan het verkeer, zonder onderbreking van de service.

Robuuste gezondheidscontroles: Readiness- en liveness-probes ondersteunen veilige uitrol, snelle detectie van problemen en geautomatiseerd herstel.

Eindresultaat

De PHP-applicaties van de klant draaien nu op een modern, gecontaineriseerd platform met duidelijke, herhaalbare paden van ontwikkeling naar productie. Implementaties zijn gestroomlijnd, omgevingen zijn afgestemd en het platform is ingericht voor gestage iteratie naarmate het bedrijf groeit. De aanpak volgt de bewezen manier van Eastern Enterprise om complexe systemen te moderniseren zonder de dagelijkse bruikbaarheid voor teams uit het oog te verliezen, een aanpak die we ook in eerdere klantprojecten succesvol hebben toegepast.