"Baza noastră de date nu se scalează."
Bază de date:
- 40GB date totale
- 12 interogări pe secundă
- 0 indexuri pe coloanele de interogare
- N+1 interogări peste tot
- Timp mediu de interogare de 200ms
Soluție:
- Fragment în 12 baze de date
- Adaugă replici citite
- Implementarea stratului de cache
- Trecerea la NoSQL "web scale"
Soluția reală:
- Adaugă 3 indici
- Fixarea interogărilor N+1
- timp de interogare 5ms
- Poștașe de 40$/lună
Nu ai o problemă de scalare.
Ai o problemă de competență.
Anunț de job: "Inginer DevOps"
Jobul propriu-zis:
- Implementarea manuală a fișierelor WAR pe Tomcat
- SSH către servere pentru a verifica jurnalele
- Repornirea serviciilor când acestea se blochează
- Actualizarea regulilor firewall-ului prin tichete
- Fără infrastructură ca cod
- Fără CI/CD
- Fără nor
Nu angajezi un inginer DevOps.
Angajezi un sysadmin care știe că Docker există.
Fii pur și simplu sincer în legătură cu rolul.
Administratorii de sistem sunt valoroși. Nu mai pretinde că faci DevOps când nu faci asta.
Fișierul tău Docker:
- DE la ubuntu:latest
- Instalează 47 de pachete
- Rulează ca rădăcină
- Dimensiunea imaginii de 2,3GB
- Reconstrucția durează 15 minute
- Scanarea de securitate arată 89 de vulnerabilități
Aplicația ta:
- Un script Python
- 3 Dependențe
- Ar putea rula pe Alpine într-o imagine de 50MB
Nu folosești recipiente.
Construiești mașini virtuale cu Dockerfiles.
Asta se întâmplă când oamenii învață Docker din articole aleatorii de pe Medium.