4 ms·
The problem of learning by doing is that it's extremely hard to find good tutorials designed for production. Most of what I find these days is 'hello world'y an
by shrumm 7y ago
The problem of learning by doing is that it's extremely hard to find good tutorials designed for production. Most of what I find these days is 'hello world'y and then you need some tool like Sentry to catch edge cases that don't get caught in your limited testing.
I've 'rebuilt' our kubernetes cluster almost 3 times since I started by applying lessons learned from running the last iteration for a few months. It's just like anything else in software development, as you start your tech debt is high mostly due to inexperience. Force yourself to reduce that debt whenever you can.
As an example: the first version had a bunch of N1's (1 VCPU machines) with hand written yaml files, no auto scaling. I had to migrate our database and had a headache updating the DB connection string on each deployment. Then I discovered external services, which let me define the DB hostname once. (https://cloud.google.com/blog/products/gcp/kubernetes-best-practices-mapping-external-services https://cloud.google.com/blog/products/gcp/kubernetes-best-p...).
It's just to say with kubernetes, I think it's impossible to approach it thinking you'll get it right the first time. Just dedicate more time to monitoring at the beginning so you don't do anything 'too stupid' and take the time to bake in what you learn to your cluster.
- pjmlp 7y agoWhich is nice when one has the luxury of being allowed to redo stuff. On most consultancy projects, there is only one shot at every user story.
- zaphirplane 7y agoThe point of getting constants is the consultant brings in higher level of skills and experience to the table. I sympathize with the consultants but thats for them and their employer to sort out. Otherwise I’ll hire a contractor at another rate
- pjmlp 7y agoThere is also the other side, getting lemons for oranges, because no one wants to be left behind doing pitches, and naturally everyone is an expert, with x years of experience delivering solid applications in production with multiple 9. From my experience at corporate projects, you don't get to hire other contractor, rather management two levels above you get a nice lunch with the management level from the other side, and few things get sorted out among a couple of polite disagreements, and you need to be happy with whatever was delivered or go look for something else.
- deleted 7y ago[deleted]
- sschueller 7y agoThese getting started tutorials are also very annoying for IT departments that have developers pushing for containerization und not understanding that it isn't just a few commands when you are responsible for operating them in production. They aren't the ones that have to be on call in the middle of the night and make sure it's all running.
- dijit 7y agoDepends on your org. You should try applying SRE principles. Developers get the pager until their application meets a defined criteria that you both agree on with management but-in.
- MoOmer 7y agoSometimes, though, an infrastructure team will want to manage the service internally, even if a managed service (e.g. GKE) is available and compliant with the workloads, and would reduce overhead.
- ianlevesque 7y agoReduce overhead = eliminate their job
- lazyant 7y agoYes, this developers vs operations divide is originally the raison d'être for the "devops" (or SRE in google-speak) concept.
- stevepike 7y agoI'm just getting stared with kubernetes after years as a happy Heroku customer, and it's nice to hear others with similar experience. Not sure if you've seen it, but I read Kubernetes: Up and Running from a recommendation in another thread and it was very useful.