Tech Lead/Team Lead. Senior WebDev.
Intermediate Grade on Computer Systems-
High Grade on Web Application Development-
MBA (+Marketing+HHRR).
Studied a bit of law, economics and design
Location
Spain
Education
Higher Level Education Certificate on Web Application Development
talking about docker: it's like a virtual machine with the environment and the project on it.
This can ensure working on the same environment on any stage (development, test, production).
Moreover when formatting or getting a new computer or hiring a new dev there's no need on wasting a morning preparing the working environment, you simply raise the docker and that's all.
This is also applicable when working on different projects.
For example I'm hands on a monolithic MVC with php, mysql, html, sass, js, smarty templates (which are 2 dockers, one for the DB and another for the php, symfony, smarty, html, css, js, webpack...)
Then another project with Angular (with webpack), another with Preact (with parcel.js), another using vanilla js, css, html, parcel and so.
At this point there's no need on installing all things on the main machine and switch between each project configuration needs each time a dev put its hands on a new (or existing) different project or switching work spans from a project to another. You again raise the docker and you can work in minutes. Oh and, that way you can maintain the developer preferences about system and software too. On my team there are people using Mac, others Windows and others Linux (different distributions each).
You can also raise as many dockers as you want or need (and your computer resources permits).
On deployment you also have a benefit such deploying the docker or pod (which is not needed but you can do it) the same way you raise it on any machine.
If you want you can also make a deploy machine where to raise docker, perform some builds into it and then send this "compiled, transpilated, minified, obfuscated" result into production "as is" on your CI script.
So, to resume:
Faster software delivery cycles
Better Application portability
Shines for microservices architecture
More efficient usage of system resources
Problems that docker containers don't solve:
It wonβt fix your security issues
It doesnβt turn applications magically into microservices
It isnβt a substitute for virtual machines
BONUS: If you are on Linux (windows and mac have docker gui) you'll be used to throw the same commands each time you arrive at work, those actions can be easily automated.
That's a very comprehensive response. Thanks a lot! I see some new terminologies but I would try to understand them and also go through your blogs π β€οΈ
Tech Lead/Team Lead. Senior WebDev.
Intermediate Grade on Computer Systems-
High Grade on Web Application Development-
MBA (+Marketing+HHRR).
Studied a bit of law, economics and design
Location
Spain
Education
Higher Level Education Certificate on Web Application Development
You must always check the official website of each technology you're interested in and lean the description and what is meant to; in fact each new tech must solve one or more issues or at least, automate tasks. That way you can internalize what is intended for and discern if it fits into your needs or not, also it's good to ask to the community as you did so you can get opinions and comments based on community's experience :)
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
talking about docker: it's like a virtual machine with the environment and the project on it.
This can ensure working on the same environment on any stage (development, test, production).
Moreover when formatting or getting a new computer or hiring a new dev there's no need on wasting a morning preparing the working environment, you simply raise the docker and that's all.
This is also applicable when working on different projects.
For example I'm hands on a monolithic MVC with php, mysql, html, sass, js, smarty templates (which are 2 dockers, one for the DB and another for the php, symfony, smarty, html, css, js, webpack...)
Then another project with Angular (with webpack), another with Preact (with parcel.js), another using vanilla js, css, html, parcel and so.
At this point there's no need on installing all things on the main machine and switch between each project configuration needs each time a dev put its hands on a new (or existing) different project or switching work spans from a project to another. You again raise the docker and you can work in minutes. Oh and, that way you can maintain the developer preferences about system and software too. On my team there are people using Mac, others Windows and others Linux (different distributions each).
You can also raise as many dockers as you want or need (and your computer resources permits).
On deployment you also have a benefit such deploying the docker or pod (which is not needed but you can do it) the same way you raise it on any machine.
If you want you can also make a deploy machine where to raise docker, perform some builds into it and then send this "compiled, transpilated, minified, obfuscated" result into production "as is" on your CI script.
So, to resume:
Problems that docker containers don't solve:
BONUS: If you are on Linux (windows and mac have docker gui) you'll be used to throw the same commands each time you arrive at work, those actions can be easily automated.
That's a very comprehensive response. Thanks a lot! I see some new terminologies but I would try to understand them and also go through your blogs π β€οΈ
You must always check the official website of each technology you're interested in and lean the description and what is meant to; in fact each new tech must solve one or more issues or at least, automate tasks. That way you can internalize what is intended for and discern if it fits into your needs or not, also it's good to ask to the community as you did so you can get opinions and comments based on community's experience :)