KLIENDI PROJEKT · AWS PLATVORM · TARISTU KOODINA

25 teenusega AWS platvorm, ümber ehitatud nii, et arendajad ainult kirjutavad koodi.

Hollandi teenuste turuplats oli kasvanud 250 000 kasutajani kuus ja üle 50 miljoni API-kutseni, 25 backend-teenuse ja 23 tarbijale suunatud brändisaidi lõikes, ilma ühegi reata taristut koodina. Ehitasime kinnisvara ümber kolme isoleeritud konto peale, häälestasime selle all võrgu-, arvutus- ja andmekihid ning ühendasime CodePipeline'i 49 repositooriumi üleselt, nii et tarnimine lakkas olemast operatsioonitöö.

250K
KASUTAJAT KUUS
50M+
API-KUTSET KUUS
10x+
TOODANGU JUURUTUST PÄEVAS
49
REPOSITOORIUMI AUTOMATISEERITUD PIPELINE'IDEL
01·THE PROBLEM

Ei Terraformi, ei Terragrunti, ei mingit taristut koodina. Iga ressurss oli konsoolis klõpsuga loodud, samal ajal kui platvorm kasvas 250 000 kasutajani kuus. Väljalasked läksid välja umbes kaks korda päevas ja iga üks vajas inimest, kes mäletas, kuidas see oli ühendatud.

02·WHAT WE BUILT

Kolm isoleeritud AWS-i kontot, genereeritud ühest Terragrunti koodibaasist: kolmetasandiline VPC, kolm eriotstarbelist ECS-klastrit teenusevõrgu taga, häälestatud MySQL rotreeruvate mandaatidega ja identne CodePipeline kõigi 49 repositooriumi jaoks.

03·THE RESULT

Rohkem kui kümme korda suurem toodangu juurutusmäär, nulliajaga veerevatel väljalasetel tervisekontrollide ja katkestuslüliti taga. Arendaja liitub tiimiga, saab oma repositooriumid ja tarnib esimesel päeval, ilma et peaks kõigepealt platvormi õppima.

INSIDE THE PLATFORM
Otsused platvormi all.
Kolm kontot, üks koodibaas. Toodang, arendus ja jagatud juurkonto, igaüks oma oleku-ämbri, lukustabeli ja assume-rolliga. Arendus töötab täiesti eraldi domeenil, nii et eksinud hostipäis arenduses ei saa jõuda toodangukliendini.
VPC kolmes tasandis. Kolm saadavustsooni, igaühel avalik, privaatne ja andmebaasi alamvõrk. Avalik kannab IPv6 ja koormusjaoturit, rakendused asuvad privaatses NAT-i taga, ja andmebaasi tasand luuakse ilma NAT-marsruudita ja ilma internetilüüsi marsruudita üldse. Vooolgid arhiveeritakse S3-e.
Kolm ECS-klastrit, meelega. Backend-teenused, avalik API-lüüs ja brändisaitide park saavad igaüks oma klastri, nii et tipp turundussaitidel ei saa broneerimist ega makseid nälga jätta. Maht on Graviton spotil hinnalaega, automaatskaleerimine neli kuni kaheksa instantsi, Container Insights sees.
MySQL häälestatud, mitte lihtsalt ette valmistatud. skip_name_resolve eemaldab igalt ühenduselt pöörd-DNS-otsingu, innodb_read_io_threads on tõstetud 16-ni lugemismahuka töökoormuse jaoks, ja long_query_time 2 sekundil söödab aeglaste päringute logid CloudWatchi kõrvuti Performance Insightsiga.
Andmed jagatud, mitte koondatud. Mitu andmebaasi ja mitu EFS-failisüsteemi üle regioonide, nii et ükski failisüsteem ega andmebaasiinstants pole jagatud tõrkepunkt. Vastupidavus on see, mis lubas juurutustel muutuda sagedaseks ja igavaks.
Mandaadid, mida keegi ei tea. Secrets Manager rotreerib andmebaasi mandaate ajakava alusel Lambdast isoleeritud alamvõrkude sees. CloudWatchi reegel püüab rotatsiooni õnnestumise sündmuse ja veeretab mõjutatud ECS-teenused, nii et rakendused võtavad uue saladuse vastu ilma, et kedagi välja kutsutaks.
Üks pipeline'i muster, 49 repositooriumi. Iga teenus ja iga brändisait saab sama genereeritud ahela: CodeStar ühendus GitHubiga, CodeBuild ECR-i, seejärel ECS-juurutus. Uus repositoorium pärib kogu asja, mitte ei ühendata käsitsi.
Juurutused lakkasid olemast sündmused. Väljalasked veerevad koormusjaoturi tervisekontrollide taga, juurutuse katkestuslüliti sees, nii et halb ülesanne ei võta kunagi liiklust ja ebaõnnestunud juurutus pöörab end tagasi. Juurutuste sagedus tõusis rohkem kui kümnekordselt ilma ühegi platvormi hooldusaknata.
Liitumine on tiimiliikmelisus. GitHubi organisatsioon, selle tiimid ja nende repositooriumiõigused on kõik hallatud koodina. Arendaja liitub tiimiga, saab täpselt need repositooriumid, mida see tiim omab, ja lükkab pipeline'i, mis juba eksisteerib.
Mitme brändi pilveplatvorm
THE LOAD IT CARRIES
Üks päring läbi pinu. Lüüs hargneb viide teenusesse korraga, mis hoiab komponeeritud vastuse 25 ms lähedal. Järjestikused kutsed umbes kahekordistaksid selle.
Üks päring läbi pinu. Lüüs hargneb viide teenusesse korraga, mis hoiab komponeeritud vastuse 25 ms lähedal. Järjestikused kutsed umbes kahekordistaksid selle.
Kasutajat kuus250,000Turuplatsi ja selle brändide lõikes
API-kutset kuus50,000,000+Lüüsi kaudu võrku
Kasutaja kohta kuus~200 callsUmbes 50 ühe seansi kohta
Keskmine läbilaskevõime~19 req/sPüsiv kogu kuu vältel
Tipp-läbilaskevõime~100 to 200 req/sViis kuni kümme korda keskmine
Lähte vastuseaeg~25 ms averageMõõdetud lüüsis, võrk külastajani välja arvatud
Arvutus, mis seda kannab8 to 16 vCPUNeli kuni kaheksa Gravitoni spot-instantsi
Backend-teenused25App Meshi ja Cloud Mapi taga
Brändisaidid23Igaüks oma domeeni ja e-posti identiteediga

Me ei saa klienti nimetada: koostööd katab NDA ja turuplatsi kirjeldatakse siin anonümiseeritud kujul. Ülaltoodud arvud on avaldatud kliendi selgesõnalisel loal.

Tahad, et ehitaksime sinu oma?

Selliseid tooteid me disainime, ehitame ja tarnime algusest lõpuni: fikseeritud maht, tootmisvalmis, elus nädalatega. Räägi, mida ehitad, ja ütleme ausalt, kas see sobib.