> What if you're in the ground-zero scenario: there is an application but practically no infrastructure?
> I'm in that situation now (with a SaaS product), and my approach so far has been:
> * set up tests
> * set up Docker images
> * set up docker-compose for easy local deployments
In my personal opinion, this is all good work to do. One minor nit: You probably want to get out of the habit of thinking about `docker-compose up` as a deployment, and just think of it as a much cleaner, much more "prod-like" local development environment.
> * do lots of work to make the app behave inside Docker
I'm curious about this. What was the overall nature of the work? Things you would have had to figure out in a distributed platform anyway, or container-specific issues?
> * take control of AWS and IAM using CloudFormation, making it easy to set up and roll back permissions
This is amazing, I applaud you for your foresight. I wish we had known about this pattern much earlier.
> * bootstrap KOPS/K8s with CloudFormation
This is where there's going to be another giant time sink, unless you're already pretty familiar with Kubernetes' resources—Deployments, Services, PersistentVolumeClaims, Secrets, etc—how they work together, what they enable, what their limitations are, and so on. Not to mention picking a network overlay plugin, deciding on a service discovery model, and understanding how Kubernetes works. BTW I am currently working on this very knowledge, and at least for me it's been pretty heady stuff at times.
>Future work:
>* set up Jenkins CI on top of K8s
>* K8s deployments of the app for CI
>* staging K8s deployments
>* K8s in production
Everything here seems relatively sane, in broad terms. I mainly caution against moving too quickly and also against spending engineering efforts on this if you are also an IC for the applications your teams are writing.
>This has been my first venture in operations and it's been very interesting and rewarding, but at times it gets very intimidating to "be" operations with no senior guidance.
Honestly, you seem to have the right mindset for this and so far you haven't mentioned anything that I see as a huge red flag.
>I enjoy the freedom and responsibility and I feel like I at least have a significantly better grasp on this than anyone else in the company, but I wish I knew of a way to feel like my work was good in an absolute sense, like "definitely good enough".
Welcome to ops! There will never not be an operational issue that either needs to be fixed or is silently waiting to strike at 3AM on Monday morning.