Cómo almundo se apoyó en docker para pasar de ser una empresa de turismo con 5 desarrolladores y 1 server (en las mismas oficinas) sirviendo su site, a una empresa de tecnología con más de 100 devs y 900 servers en cloud.
empaquetado dependiendo del lenguaje (jar, bundle de js, etc) SYSADMINS • Provisioning de cada vm dependiendo del lenguaje. • Scripts de deploy y startup de cada app dependiendo del lenguaje y muchas veces de cada app en particular.
sysadmin ya que tienen mucha responsabilidad. • Desarrolladores que solo conocen su código y no el stack real de su app. • Dificultad de innovar debido a que las recetas para cada lenguaje son compartidas por todos las apps y no es trivial hacer un cambio manteniendo retrocompatibilidad.
las necesidades de todas las apps. • Dificultad de cambiar esas recetas puesto que muchas contienen "if FOO- APP then ..." que con el tiempo nadie sabe por qué están o por qué surgió esa necesidad. • Es imposible para el equipo de sysadmins mantener las últimas versiones y features de cada runtime environment para cada lenguaje ya que no es la tecnología con la que trabajan ellos la mayor parte de su tiempo. • Escalado horizontal de las apps de forma manual.
JVM. • Manejo de distintas versiones de los agentes como NewRelic por cada app. • Cada app empezó a manejar su versión de node, pm2, etc. • Apps que necesitan cosas específicas del sistema operativo como scrappers con PhantomJs. • Etc, etc.
COPY package.json package.json RUN npm i COPY . . RUN npm run build # Runtime Image FROM node:boron-alpine as build COPY --from=build application application EXPOSE 5000 CMD node application/dist/app.js
sysadmin ya que tienen mucha responsabilidad. • Desarrolladores que solo conocen su código y no el stack real de su app. • Dificultad de innovar debido a que las recetas para cada lenguaje son compartidas por todos las apps y no es trivial hacer un cambio manteniendo retrocompatibilidad.
las necesidades de todas las apps. • Dificultad de cambiar esas recetas puesto que muchas contienen "if FOO- APP then ..." que con el tiempo nadie sabe por qué están o por qué surgió esa necesidad. • Es imposible para el equipo de sysadmins mantener las últimas versiones y features de cada runtime environment para cada lenguaje ya que no es la tecnología con la que trabajan ellos la mayor parte de su tiempo. • Escalado horizontal de las apps de forma manual.