When installing our software, whether as a SaaS/PaaS or a bring-your-own-cloud, here's our checklist:
1. How will we provision the physical servers?
2. How will we install our Foo software on those servers?
3. How will we configure our Foo software to match different configuration requirements? (eg. listener configurations, etc)
4. How will we do monitoring and alerting?
5. How will we fix issues such as low disk space or a server crash?
6. How will we configure secure network access to the Foo service?
7. How will we integrate with the customer's TLS PKI and/or OAuth infrastructure?
8. How will we do upgrades for the Foo service?
9. How will we deploy new parts of the Foo ecosystem, for example if we add an admin UI?
10. How will we deploy the dependencies of the Foo service (database, etc)?
We have really good answers to all 10 questions in Kubernetes (whether in our own cloud account, or a customer's cloud account). But along comes a prospect who says "our entire stack is on ECS" As of today, we have answers for a total of zero of those questions with ECS...
Some questions for the fantastic experts here:
1. Is it feasible to go back to that prospect and say "give us an IAM role, let us create an EKS cluster in your account, and we will manage Foo as a service in that manner"?
a. Specifically, how hard/dangerous is it to remotely manage an EKS cluster in a cloud account that we don't own? I would be much more comfortable with GKE...if only because GKE is much more mature
2. I'm worried that supporting ECS in addition to K8s would "double" the amount of questions we have to answer. (10 for K8s, 10 for ECS). Is that true?
3. Are there any other things you might add to the checklist?