Idei
Articole tehnice și perspective despre inginerie software, AI pragmatic și arhitectură modernă.
Agentul tău nu are nevoie de tot internetul: controlul egress și permisiunile pe AWS
Cum limitezi ce poate accesa și face un agent AI pe AWS: allowlist de domenii cu Network Firewall, de ce nu ajunge filtrarea DNS, un rol IAM per agent cu session policies, aprobări și kill switch.
Fargate vs App Runner, la cost: aceeași aplicație, calculată în ambele variante
Fargate vs App Runner la cost, calculat pe aceeași aplicație Next.js: prețuri de listă, ALB, IPv4 public și NAT incluse, plus pragul de la care câștigă Fargate.
Cum construim cloud și DevOps: trei conturi, un singur codebase CDK și niciun cluster
Operăm AWS pentru produsele noastre și pentru o platformă de client cu utilizatori reali și bani reali care trec prin ea.
Infrastructure as code nu înseamnă Terraform. CDK, Pulumi și întrebarea care decide de fapt
Pe undeva prin 2019, „infrastructure as code” a devenit sinonim cu Terraform în majoritatea conversațiilor, așa cum „căutare” înseamnă Google.
Cozi fără Kafka: SQS, EventBridge și singurul loc în care chiar am avut nevoie de un stream
Fiecare platformă ajunge la momentul în care o cerere face prea multe. Handler-ul de checkout trimite un email, actualizează indexul de căutare, anunță…
Rate limiting: la margine, în gateway sau în aplicație? Trei straturi, trei treburi
„Adaugă rate limiting” e un tichet de un rând care ascunde trei probleme diferite.
Health check-uri care mint: șase moduri în care serviciul tău zice „ready” când nu e
Un health check e un contract între aplicația ta și lucrul care îi rutează traficul. Router-ul întreabă „poți lua un request?” și aplicația răspunde.
Backup-urile pe care nu le-ai restaurat niciodată nu sunt backup-uri. Un exercițiu de restaurare, cronometrat.
Fiecare data store din AWS are backup-uri pornite implicit sau printr-o bifă. Aurora păstrează backup-uri automate. DynamoDB are point-in-time recovery.
Un runbook de incident pentru o echipă fără on-call
Companiile mari au rotații de on-call, incident commanderi, matrici de severitate și un buget de tooling pe măsură.
Rotația parolei de bază de date fără downtime: lucrul pe care îl tot amâni
Toată lumea e de acord că parola bazei de date ar trebui rotită. Aproape nimeni n-o face, iar motivul nu e lenea.
WAF pentru o aplicație Next.js: regulile managed care blochează trafic legitim, și ce am făcut cu ele
Să pornești AWS WAF în fața unei aplicații web e un construct CDK și o bifă de grupuri de reguli managed.
Secrete în CDK: Secrets Manager, Parameter Store și niciodată nimic în template
Un template CloudFormation e un fișier text. E stocat de CloudFormation, e în cdk.out pe discul fiecărui developer, e în logurile de CI de la ultimul synth…
Reserved, Savings Plans sau nimic: când un angajament pe un an chiar merită la scară mică
AWS îți dă până la 72 % reducere la compute dacă promiți să continui să plătești pentru el timp de trei ani.
Costul AWS NAT Gateway: cea mai scumpă linie pe care n-o vezi
Cât costă un AWS NAT Gateway pe lună? $32,85 pe gateway fără trafic, plus $0,045/GB. Exemple calculate, factura noastră de $102 și cinci moduri de a o reduce.
Deploy-urile fără downtime nu sunt o funcție a platformei. Sunt o disciplină a migrărilor de schemă.
Orice platformă de containere îți va spune că face deployment-uri fără downtime.
Dev, staging și prod din prima zi: de ce o echipă de trei n-ar trebui să aștepte
„Separăm mediile mai târziu, când avem utilizatori.” Am auzit propoziția asta de la fiecare echipă mică cu care am lucrat și am spus-o și noi.
Nu ai nevoie de Kubernetes. Ai nevoie de un Dockerfile bun și de un loc unde să-l rulezi.
La câteva luni, o echipă de trei până la cinci ingineri ne întreabă dacă ar trebui să se mute pe Kubernetes.
Cât costă cu adevărat observabilitatea managed la 100 GB pe zi: Datadog, Grafana Cloud, self-hosted
Factura de observabilitate e cea care surprinde de două ori. Prima dată, când sosește și e o treime din factura de compute.
Alerte care nu știu în ce cloud rulează
Fiecare cloud îți vinde alarme. CloudWatch Alarms, reguli de alertă Azure Monitor, politici de alertare Cloud Monitoring: fiecare e preconfigurată, fiecare e…
Nici trace-urile tale nu ar trebui să știe în ce cloud rulează
Am argumentat că logurile aplicației n-ar trebui deținute de cloud: aplicația emite, un agent ștampilează cloud-ul pe ele, un backend neutru le stochează.
Același tag, niciun deploy: de ce cdk deploy cu o imagine neschimbată nu face nimic, și scriptul de 300 de linii pe care l-am scris în jurul lui
Două povești despre același pipeline de deploy, spuse împreună pentru că a doua există din cauza primei.
Politici de protecție a datelor în CloudWatch: mascarea PII înainte să ajungă în loguri
Un inginer de suport a cerut un log de debug pe o rută de API, „doar o săptămână”, ca să vâneze un bug în validarea adreselor.
Aurora Serverless v2 după șase luni: pragul de 0,5 ACU și mitul auto-pause
Aurora Serverless v2 se vinde cu o singură propoziție: plătești capacitatea de bază de date pe care o folosești, scalată în fracțiuni de secundă.
Limita de 500 de resurse din CloudFormation și cum am spart un stack fără să pierdem date
Ai atins limita de 500 de resurse din CloudFormation? Cum am împărțit un stack CDK fără să pierdem date: resurse stateless, import pentru cele stateful.