I agree with most of these points. They are a good starting point. I'd probably steer clear of kubernetes until you actually really really need it. ECS is good enough for most things, and a fucktonne more simple to look after.
but, where I hard diverge is the lack of metrics. Everything should be generating metrics. Logs are great, but they are crap for giving you near realtime trends.
Everytime your container gets a connection: increment a counter. Every message processed, counter. every message failed, counter. Every KB of data sent out, counter. Every service call, counter by service.
metric all the things, in a sensible, mostly automated way, with a decent schema.
Then you can combine all those metrics into a dashboard that shows your system performing against business goals.
but, where I hard diverge is the lack of metrics. Everything should be generating metrics. Logs are great, but they are crap for giving you near realtime trends.
Everytime your container gets a connection: increment a counter. Every message processed, counter. every message failed, counter. Every KB of data sent out, counter. Every service call, counter by service.
metric all the things, in a sensible, mostly automated way, with a decent schema.
Then you can combine all those metrics into a dashboard that shows your system performing against business goals.