3 ms·
Docker & kubernetes are modern Dev ops tools - the former abstracts away the host specific quirks, and the latter allows managing many (docker) containers in pr
by mankash666 9y ago
Docker & kubernetes are modern Dev ops tools - the former abstracts away the host specific quirks, and the latter allows managing many (docker) containers in production.
Should you learn this - it depends. If you plan on building microservices whose devops you'll need to manage, docker is highly recommended. You can get away not learning kubernetes by relying on AWS ECS equivalents, and that's probably what you should do as a beginner wanting to deploy.
If your app architecture is event-driven, and can be rest based AWS lambda is a great option where you don't have to learn either. Beware of costs if invoking in the millions, but if your service ever scales to that, you've probably already found a lucrative opportunity that can afford experienced help
- mickeyp 9y agoSorry, but you don't need to be building microservices to even consider using tools like Docker and Kubernetes. The former (or containers in general) is an excellent way to build repeatable and re-usable environments for development, then your test and CI environment(s), and then finally production, as you -- in a greenfield project, for instance -- crystallise your requirements as you go from the trappings of a blank project to a final one. To say that either tool is aimed at microservices only is very misleading. I will also take some exception to the notion that using Lambda with event sourcing means you don't have to learn how Lambda or, indeed, event sourcing works (pros and cons). OP, your main goal is to ask yourself: a) Can these two tools make my life easier (Docker? Definitely. K8s? Maybe.) b) Do they improve the quality of the work I do so my client/boss is happy?
- mankash666 9y agoRepeatable, reusable environments for development doesn't need docker. And my statement on AWS Lambda is valid - while learning is always a net positive, knowing the innards of lambda's container scheduling isn't necessary for using it. One needn't learn chip design to program a computer, but you probably will write better assembly code of you designed the processor
- mickeyp 9y agoThey don't need it - but they sure do make it easier.