Flight Center își re-arhitect motorul de rezervare online – Strategie – Cloud – Software


Flight Center își re-arhitectura motorul de rezervare online și echipele și procesele utilizate pentru a-l menține, pentru a-și îmbunătăți viteza pentru a implementa noi caracteristici și competitivitate.

Agenția de turism listată ASX a făcut o serie de modificări la motorul său de rezervare online numit Soar și alte sisteme, precum și la structurile din jurul lor, deoarece urmărește un obiectiv de a „crește implementările noastre”, potrivit managerului tehnologiei de comerț electronic. Kiel Frost.

Frost a declarat la recenta conferință New Relic FutureStack 19 că, după căutarea clienților pentru zboruri interne și internaționale în ultimii „12-15 ani”, Soar se extinde la acoperirea și la hoteluri și pachete.

Soar este, de asemenea, utilizat de Universal Traveller Australia – mai bine cunoscut sub numele său de Student Students – și este folosit acum și de operațiunile internaționale Flight Center în Noua Zeelandă și Canada.

Odată cu utilizarea și importanța sa în creștere, compania a văzut nevoia de a se mișca mai repede în obținerea de noi funcții și schimbări către Soar pe piață.

„Ce probleme am avut? Doar cele obișnuite … aplicații monolitice, baze de date și perioade de construire ", a spus Frost.

„Ciclul nostru de desfășurare a fost cuprins între 6 și 8 săptămâni. Este destul de generos, [because] de fapt, ar putea merge până la trei-șase luni înapoi în ziua respectivă. "

Echipa lui Frost a investit timp și energie în a descărca care părți ale procesului – cel puțin bițiile aflate sub controlul său – au preluat cel mai mult timp și a găsit modalități de a lucra mai repede fără a sacrifica calitatea codului.

„De ce am vrut să facem asta? Există mai multe motive, dar unul dintre ele este doar să rămână competitiv ", a spus el.

„Avem o mulțime de concurenți de acolo, care adaugă continuu noi funcții din timp, așa că am vrut să putem să facem și asta.

„Există, de asemenea,„ Luminozitatea viitorului ”- îl numim BOF la Flight Center – unde vrem să ne asigurăm că oamenii noștri au abilitățile potrivite și învață în mod constant, altfel vor deveni nepăsători și vor urâ să lucreze aici.”

De asemenea, Frost a găsit dovezi externe – sub forma cărții DevOps „Accelerate: Building and Scaling Organization High Performance Technology” – pentru a sprijini unitatea internă pentru a se deplasa mai repede.

„Am citit despre cele patru tipuri diferite de valori pentru a măsura echipe performante, iar una dintre ele este în jurul implementărilor frecvente, așa că am decis să aruncăm o privire asupra acestui lucru”, a spus el.

„Au fost multe ipoteze care au ieșit din asta pe care trebuia să le validăm.

„Unul dintre ei a fost în jurul reducerii ratei de eșec a modificărilor și am luat această definiție ca de fiecare dată când faceți o desfășurare, dacă trebuie să faceți o rezolvare rapidă după aceasta, aceasta este o modificare eșuată, deoarece ați spart ceva.

„Cealaltă presupunere este [that moving faster] ne va reduce timpul mediu de recuperare (MTTR), deoarece acum, în medie, a fost de până la opt ore în medie să rezolvăm o problemă din cauza modului în care arhitectura funcționează. Am vrut să eliminăm costurile pierdute. ”

Un motivator mai mic – dar unul din spatele minții lui Frost – a fost cultura internă a Centrului de zbor.

„Avem acest lucru amuzant la Flight Center, unde avem … triburi, iar dacă nu te descurci bine, poate exista o preluare internă sau altcineva doar va crea o echipă și o va face mai bine pentru că poate.

„Așa că a fost un alt lucru cu impact mic, de care a trebuit să ne facem griji.”

Noi principii

Centrul de zbor a refăcut scopurile și principiile echipei sale de comerț electronic, apoi a setat noi balustrade – sub formă de principii de arhitectură – pentru ca acestea să se dezvolte în interior.

„Unul dintre barele de protecție pentru a merge mai departe este în jurul sistemelor cuplate slab, așa că asigurați-vă că orice tip de serviciu pe care îl aveți este independent implementabil și independent testabil”, a spus Frost.

„[Another is to be] component-driven, [which] este într-adevăr doar un mod fantezist de a spune doar împărtăși lucrurile acolo unde poți – nu reinventa roata. Dacă aveți o componentă care face un singur lucru, lucrați cu UX pentru a vedea cum puteți să o reutilizați. ”

Un al treilea principiu arhitectural este acela de a „evolua și de a învăța”, care este, în esență, Flight Center preia modelul arhitectural „felie subțire” găsit în Agile, împărțind un design în felii care pot fi evoluate gradual.

"Ce înseamnă asta este dacă un serviciu este pe cale să se extrem de complicat, atunci vom schimba arhitectura software, designul pentru a decupla asta chiar mai departe", a spus Frost.

Un al patrulea principiu este „pregătit global”; Frost a spus că este vorba în principal de construirea Soar-ului într-un mod în care se poate integra cu alte sisteme de bune practici cu care afacerea consideră că o valoare se interconectează.

Odată cu pregătirile stabilite, Flight Center a reunit toate echipele implicate cu Soar și a convenit în comun asupra unui program de lucru pentru „mișcare mai rapidă”.

Aceasta a inclus scrierea unor obiective inițiale și a rezultatelor cheie (OKR) – o metodologie de urmărire obiectivă favorizată de companiile mari de tehnologie.

„Am făcut o treabă destul de proastă de a scrie un OKR, dar a trebuit să începem de undeva”, și-a amintit Frost.

„Practic, am dorit să creștem implementările cu 50 la sută până la data x și acestea sunt lucrurile pe care urma să le măsurăm.

„Vom mări acest produs Prodigy, care este una dintre aplicațiile noastre de tip frontend, cu 50%, [and] monolitul nostru [booking system] cu 50 la sută … și vom reduce corecturile cu 20%.

Reclamarea timpului

Echipa lui Frost a realizat, de asemenea, o hartă a fluxului valoric pentru a arăta calea pe care a luat-o codul de la idee până la producție și timpul efectuat la fiecare pas.

„Una dintre marile zone … unde cea mai mare parte a timpului pe care îl petrecem este în jurul ideii și cerințelor de afaceri, dar nu am putut ataca asta – se pare că se descurcau foarte bine în acea zonă – așa că am atacat doar ceea ce puteam , care este în jurul orei de ciclu ", a spus Frost.

Acest lucru a pus două seturi de sprinturi de cincizeci de ani care acoperă testarea și programarea implementărilor, precum și o fereastră de șase ore pentru lansare, direct în linie pentru îmbunătățire.

Centrul de zbor a întrerupt timpul din proces prin introducerea DevOps și cloud.

De asemenea, a fost nevoie de timp substanțial în procesele existente – cum ar fi testarea – care nu a fost necesară.

„Cea mai mare, cea mai ușoară victorie pe care am avut-o pentru reducerea timpului a fost când am întrebat de ce au fost două săptămâni de testare și toți testerii au mers,„ a fost mereu așa ”, a spus Frost.

„Așa că am spus,„ ce faci în cele două săptămâni de testare? Și ei doar au spus: „executăm teste de regresie și apoi programăm ca activitatea să vină și să facem testări de acceptare”.
În urma examinării ulterioare, s-a constatat că testele de regresie au durat o zi, iar testele de acceptare a utilizatorului ar putea fi înfășurate în aproximativ două ore.

Rezultatul final a fost ca compania sa mutat de la două săptămâni de testare la trei zile.

"Apoi am mutat o parte din testare la stânga, ceea ce a fost de fapt destul de greu de făcut, în special pentru a primi achiziții de la dezvoltatori", a spus Frost.

„Ceea ce am făcut de fapt este să dorim ca dezvoltatorii să scrie de fapt mai multe teste. Nu dorim ca QA-urile să scrie testele pentru dezvoltatori, de fapt dorim teste unitare, teste funcționale și de integrare realizate de dezvoltatori și dorim ca evaluările de control să facă mai multe teste exploratorii.

„Acum funcționează destul de bine. Când ne dezvoltăm echipele de dezvoltare, nu trebuie neapărat să ne scalăm echipele de evaluare, deoarece majoritatea testărilor sunt acum făcute de dezvoltatori. "

Străbătând monolitul

Aceste schimbări încep acum să curgă către motorul Soar în sine, care este redimensionat de la un monolit la o platformă a cărei funcționalitate este susținută din ce în ce mai mult de o colecție de microservicii.

Centrul de zbor urmează un model mai ciudat pentru a face acest lucru. Modelul este adesea folosit pentru a înlocui treptat piese de funcționalitate într-o aplicație monolitică cu microservicii.

Compania a început prin „scoaterea unui serviciu mic” din Soar.

„În acest caz, a fost un serviciu de rotunjire a tarifelor și tot acest serviciu a fost atunci când un client a făcut o căutare, ar împinge toate rezultatele căutării la acesta, ar aplica o marjă de rotunjire a tarifelor și apoi ar împinge rezultatele înapoi”, a spus Frost. .

„De obicei, am construi asta în monolit. Dar de data aceasta, am avut doar un serviciu în lateral, s-a așezat în cloud și am discutat cu on-prem, și am aflat multe lucruri despre containerizarea și implementarea în cloud și așa am început. ”

Odată ce primul microservice a funcționat, alte proiecte „au început să vină prin zbor” și mai multe funcționalități au fost împărțite.

"Pe măsură ce am schimbat arhitectura, am început să ne împărțim echipele pentru a ne alinia la arhitectură", a spus Frost.

Odată cu creșterea complexității, monitorizarea tuturor serviciilor care au contribuit la funcții a devenit „mai crucială ca niciodată”, a spus el. „Noua relicvă ne ajută cu asta.”

Deplasarea rapidă

Frost a spus că Flight Center alcătuiește acum noi funcții în motorul său de rezervare, care poate fi pornit atunci când afacerea este gata de a merge.

"Am mers prea repede pentru afacere", a spus el. „Au spus doar„ nu mai mergem la producție pentru că nu am făcut-o [done our] marketing'.

„A trebuit să le explic despre comutarea funcțiilor – putem mereu desfășura în producție, iar atunci când vrem să activăm efectiv o întreagă caracteristică, trebuie doar să activăm.

„Aceasta reduce o mulțime de stresuri de eliberare a schimbărilor mari.”

Flight Center își perfecționează acum procesele pentru implementarea la cerere.

"Putem efectua implementări la cerere în acest moment", a spus Frost.

"Nu este perfect, dar ajungem acolo."



Source link

Lasă un răspuns