In this post I am expanding on an original question I asked recently where I am looking for an opinionated build/deploy solution. I will provide some context on the software delivery model and tools used today, challenges with it and issues I am seeking to answer.
I live in the backend Java/Kubernetes ecosystem for Cloud/SaaS services so all examples are in context of that world. Tools/frameworks listed are examples only.
There are numerous tools and frameworks that need to be stitched together to perform various necessary steps to deliver a cloud service. …
Kubernetes docs give a good explanation of what their probes are but for your app how can we best translate these?
Think of kubelet asking the following questions to your app and here are some suggestions on how you should answer. Note that kubelet continuously asks these questions, not just at startup.
Can this pod serve traffic?
Currently I have this limited to “can I connect to my database?” That is the absolute must have. If the database is unreachable then this pod is not ready.
One decision you need to make is about partial availability. For example some microservices may have multiple dependencies. If a subset of those fail (open circuit) does that mean your entire app should now no longer serve traffic? …