Η πρώτη εβδομάδα με νέο πελάτη είναι κυρίως ακρόαση. Δείξτε μας το AWS console. Δείξτε μας τα repos. Δείξτε μας το on-call rotation. Δείξτε μας τα incidents του τελευταίου τριμήνου. Μέχρι την Παρασκευή παραδίδουμε μία σελίδα — τι είναι κόκκινο, τι κίτρινο, τι πράσινο και τι θα ακουμπούσαμε πρώτα, αν ήταν δικό μας σύστημα.
Το checklist παρακάτω είναι αυτό με το οποίο βαθμολογούμε. Τίποτα από αυτά δεν είναι καινούργιο. Το θέμα είναι να έχεις ένα ενιαίο artifact στο οποίο γυρνάς κάθε έξι μήνες και βλέπεις τα πράσινα να μαζεύονται.
Οι πέντε διαστάσεις
1. Security posture
2. Κόστος & σπατάλη
3. IaC κάλυψη
4. Observability & on-call
5. Ανθεκτικότητα & ανάκαμψη
Για κάθε μία βαθμολογούμε Red / Amber / Green με βάση μερικά binary checks. Ό,τι είναι Red πάει στη σελίδα ένα της αναφοράς. Ό,τι είναι Amber παίρνει μία γραμμή σχόλιο. Τα Green παίρνουν ένα ✓ και προχωράμε.
1. Security posture
Πράσινο αν όλα από τα παρακάτω:
- Multi-account AWS Organization (ή αντίστοιχο σε GCP/Azure). Κανένας άνθρωπος δεν έχει root keys για το management account.
- SSO μέσω Identity Center / Workspace / Entra. Μηδέν IAM users με long-lived credentials.
- S3 / GCS / Blob: account-level public access μπλοκαρισμένο. Κανένα bucket δεν εκθέτει αντικείμενα δημόσια χωρίς τεκμηριωμένο λόγο.
- CloudTrail (ή αντίστοιχο) ενεργό σε κάθε account, logs σε ξεχωριστό account, αμετάβλητο retention.
- Secrets σε manager (Secrets Manager, Vault, Doppler). Όχι secrets σε env vars committed στο repo.
- Production database δεν είναι άμεσα προσβάσιμη από το public internet.
Κόκκινο αν: long-lived IAM access keys σε ανθρώπους, public S3 buckets που κανείς δεν εξηγεί, ενεργή χρήση root account, secrets σε .env αρχεία στο repo.
2. Κόστος & σπατάλη
Πράσινο αν όλα από τα παρακάτω:
- Ο μηνιαίος λογαριασμός εξετάζεται από τουλάχιστον έναν άνθρωπο που μπορεί να τον μειώσει.
- Στο Cost Explorer δεν υπάρχει ενιαία γραμμή > 30% του λογαριασμού που να μην εξηγείται.
- NAT Gateway, Data Transfer και «Other» μαζί < 25% του λογαριασμού.
- Reserved Instances / Savings Plans καλύπτουν steady-state compute, ή υπάρχει τεκμηριωμένος λόγος που δεν.
- Tags υπάρχουν για
environment,service,owner, και τουλάχιστον 80% του κόστους είναι attributable. - Τα non-prod environments έχουν off-hours shutdown (ακόμη κι αν είναι «τρέχουμε spot»).
Κόκκινο αν: κανείς δεν έχει ευθύνη για τον λογαριασμό, η top γραμμή είναι «EC2 — Other», το non-prod τρέχει 24/7 σε full size, καμία στρατηγική tagging.
3. IaC κάλυψη
Πράσινο αν όλα από τα παρακάτω:
- Η production υποδομή είναι > 90% σε Terraform / Pulumi / CloudFormation. Το click-ops είναι η εξαίρεση που τεκμηριώνεις, όχι ο κανόνας.
- Το state είναι σε remote backend με locking. Κανείς δεν τρέχει
terraform applyαπό laptop στο prod. - Το state είναι σπασμένο σε layers ανά lifecycle (δες προηγούμενο post). Όχι ένα state αρχείο 4.000 resources.
- Το CI τρέχει
planσε κάθε PR· τα merges είναι gated σε καθαρό plan. - Μπορείς να ξαναχτίσεις ολόκληρο environment από το μηδέν σε < 4 ώρες, μόνο από κώδικα.
Κόκκινο αν: ένας senior είναι ο μόνος που μπορεί να κάνει deploy γιατί τα μισά resources είναι click-ops, το state είναι σε ένα S3 bucket χωρίς locking, δεν μπορείς να απαντήσεις «θα το ξαναχτίζαμε από το μηδέν;» με ναι.
4. Observability & on-call
Πράσινο αν όλα από τα παρακάτω:
- Τα logs από κάθε production service καταλήγουν σε ένα searchable μέρος (CloudWatch + Athena, Datadog, Grafana Loki — διάλεξε ένα).
- Metrics για τα τέσσερα golden signals (latency, traffic, errors, saturation) ανά service.
- Τα alerts σκάνε σε προβλήματα που βλέπει ο χρήστης, όχι σε εσωτερικά CPU thresholds. False-positive rate < 1 ανά εβδομάδα ανά on-call.
- Τεκμηριωμένη rotation on-call με paging, escalation, και runbook ανά alert.
- Τουλάχιστον ένας άνθρωπος μπορεί να pageθεί οποιαδήποτε ώρα. Τηλέφωνο, όχι Slack.
- Υπάρχουν dashboards που θα μπορούσε να ανοίξει ο CEO και να καταλάβει.
Κόκκινο αν: κανείς δεν page-άρεται εκτός ωραρίου, τα alerts πάνε σε αδιάβαστο Slack channel, «monitoring» σημαίνει kubectl logs όταν σπάει κάτι.
5. Ανθεκτικότητα & ανάκαμψη
Πράσινο αν όλα από τα παρακάτω:
- Τεκμηριωμένο RPO/RTO ανά κρίσιμη υπηρεσία. Νούμερα, όχι επίθετα.
- Αυτοματοποιημένα backups για κάθε stateful service. Restore τεσταρισμένο τους τελευταίους 6 μήνες.
- Το production τρέχει σε >1 AZ για stateless workloads. Τα stateful έχουν τεκμηριωμένο failover plan.
- Το τελευταίο incident έχει γραπτό postmortem με τουλάχιστον ένα merged action item.
- Μπορείς να απαντήσεις «τι γίνεται αν το AZ-A πέσει τώρα;» χωρίς να πεις «θα το μάθουμε».
Κόκκινο αν: τα backups υπάρχουν αλλά δεν έγιναν ποτέ restored, καμία postmortem, single-AZ production, το «DR plan» ζει στο μυαλό κάποιου.
Το deliverable
Μία σελίδα. Πέντε γραμμές. Κάθε γραμμή: Red / Amber / Green, εύρημα δύο γραμμών, πρώτη ενέργεια μίας γραμμής. Στη συνέχεια, μια λίστα προτεραιότητας με τα top πέντε για διόρθωση τις επόμενες 90 μέρες, με εκτιμήσεις προσπάθειας.
Αυτό είναι όλο το artifact. Όχι 40 σελίδες. Όχι slide deck. Μία σελίδα που ο CTO προωθεί στον CEO και στο board.
Το πλάνο 90 ημερών
Ό,τι κι αν δείξει το audit, το follow-up plan δεν έχει ποτέ πάνω από πέντε σημεία. Η προσοχή κάθε ανθρώπου έχει όρια. Οι δύο καθολικοί κανόνες:
- Διόρθωσε ένα Red πριν κυνηγήσεις δύο Ambers. Τα Reds γίνονται incidents.
- Οι νίκες κόστους χρηματοδοτούν το security work. Αν το audit βρει €4k/μήνα σπατάλη, η εξοικονόμηση πληρώνει τους δύο επόμενους μήνες remediation.
Τρέξε το μόνος σου
Μπορείς να κάνεις αυτό το audit και μόνος σου. Θέλει περίπου μία μέρα με δύο senior μηχανικούς και πρόσβαση στα cloud consoles. Το πιο δύσκολο κομμάτι είναι να είσαι τίμιος για τα Reds — αν έγραψες εσύ το σύστημα που εξετάζεις, θα το υπερασπιστείς ενστικτωδώς. Ζήτα από κάποιον εκτός ομάδας να βαθμολογήσει, ακόμη κι αν δεν ξέρει το stack σου. Οι ερωτήσεις είναι κυρίως binary.
Αν το κάνεις, στείλε μας το αποτέλεσμα. Θα σου πούμε ποιο εύρημα θα βάζαμε σε προτεραιότητα — δωρεάν, χωρίς sales call.
Αν το να το τρέξεις μόνος δεν είναι ρεαλιστικό, το κάνουμε εμείς, σταθερό scope, σταθερή αμοιβή, σε 1 εβδομάδα. Πες μας.