Curso de Docker

Curso de Docker

Guido Vilari帽o

Guido Vilari帽o

Las tres 谩reas en el desarrollo de software profesional

2/32
Recursos

Aportes 73

Preguntas 12

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Reg铆strate o inicia sesi贸n para participar.

Problems when building:

  • Development dependencies (packages)
  • Runtime versions
  • Equivalence of development environments (code sharing)
  • Equivalence of production environments(go to production)
  • Versions / compatibility(integration of other services e.g.: databases)

Problems when distributing:

  • Different build generations
  • Access to production servers
  • Native vs. distributed execution
  • Serverless

Problems when executing:

  • Application dependencies
  • Operating System Compatibility
  • Availability of external services
  • Hardware Resources

Docker allows:

Build, distribute and run your code anywhere without worrying.

Resumen de la clase:

鈥淒ocker te permite construir, distribuir y ejecutar cualquier aplicaci贸n en cualquier lado.鈥

Problem谩ticas del desarrollo de software

1. Construir - Escribir c贸digo en la m谩quina del desarrollador. (Compile, que no compile, arreglar el bug, compartir c贸digo, etc. )

Problem谩tica:

  • Entorno de desarrollo (paquetes)
  • Dependencias (Frameworks, bibliotecas)
  • Versiones de entornos de ejecuci贸n (runtime, versi贸n Node)
  • Equivalencia de entornos de desarrollo (compartir el c贸digo)
  • Equivalencia con entornos productivos (pasar a producci贸n)
  • Servicios externos (integraci贸n con otros servicios ejem: base de datos)

2. Distribuir - Llevar la aplicaci贸n donde se va a desplegar (Transformarse en un artefacto)

Problem谩tica:

  • Output de build heterogeo (m煤ltiples compilaciones)
  • Acceso a servidores productivos (No tenemos acceso al servidor)
  • Ejecuci贸n nativa vs virtualizada
  • Entornos Serverless

3. Ejecutar - Implementar la soluci贸n en el ambiente de producci贸n (Subir a producci贸n)
El reto Hacer que funcione como deber铆a funcionar

Problem谩tica:

  • Dependencia de aplicaci贸n (paquetes, runtime)
  • Compatibilidad con el entorno productivo (sistema operativo poco amigable con la soluci贸n)
  • Disponibilidad de servicios externos (Acceso a los servicios externos)
  • Recursos de hardware (Capacidad de ejecuci贸n - Menos memoria, procesador m谩s debil)

Problema principal: 鈥淧ero en mi maquina corre鈥

鈥淒ocker te permite construir, distribuir y ejecutar cualquier aplicaci贸n en cualquier lado鈥

Una raz贸n por la que Docker es tan popular es que cumple la promesa de 鈥渄esarrollar una vez, ejecutar en cualquier lugar鈥. Docker ofrece una forma sencilla de empaquetar una aplicaci贸n y sus dependencias de tiempo de ejecuci贸n en un solo contenedor; tambi茅n proporciona una abstracci贸n en tiempo de ejecuci贸n que permite que el contenedor se ejecute en diferentes versiones del kernel de Linux.

Usando Docker, un desarrollador puede crear una aplicaci贸n en contenedor en su estaci贸n de trabajo, y luego implementar f谩cilmente el contenedor en cualquier servidor habilitado para Docker. No es necesario volver a probar o volver a sintonizar el contenedor para el entorno del servidor, ya sea en la nube o en las instalaciones

Si todo el curso va a tener el mismo entusiasmo con el que presento este video, va a estar chevere, a darle al docker! 馃槃

se ve muy bueno el curso鈥 al parecer voy a aprender de docker:

  • Mientras que Udemy me mira con ojos de tristeza 馃憖

馃槄

Docker en una imagen:

Este curso lo vi hace dos a帽os pero a pesar de conocer muy bien no existe nada como un review y el teacher uno de los mejores de Platzi

Ufff enserio docker cambia vidas sobre todo para mi y mis compa帽eros de trabajo nos ha ayudado mucho en el tema de solo tener que configurar el entorno una sola vez y que sirva para siempre ya demas no necesitas instalar nada sino un par de comandos que puedes documentar y listo

2. Las tres 谩reas en el desarrollo de software profesional

Construir, Distribuir, Ejecutar
Existen tres 谩reas en el desarrollo de software que, en cada una de ellas tiene sus propios desaf铆os.

  • Construir, en esta 谩rea se habla del c贸mo se construye el software y que es necesario.

  • Distribuir, el lugar donde debe estar el software para que pueda servirse o estar disponible

  • Ejecutar, como hacer que el software finalmente se ejecute en el lugar donde es solicitad

Respuesta que Docker da a muchas de las problem谩ticas
Docker te permite construir, distribuir y ejecutar cualquier aplicaci贸n en cualquier lado

驴Cu谩les son los problemas que Docker da soluci贸n en cada 谩rea en la construcci贸n software?

1. Realidad de Construir software

La realidad es que escribir c贸digo es una peque帽a parte del problema Los problemas complejos necesitan equipos

El Problema de construir software

  • Entorno de desarrollo,
    esto est谩 asociado con la herramienta que usan los desarrolladores para construir software, y que versiones de lenguaje est谩 usando.

  • Dependencias,
    Ning煤n software construido desde cero, esto est谩 relacionado con configuraciones, librer铆as, framework.

  • Entornos de ejecuci贸n,
    Las configuraciones para ejecutar el c贸digo dentro de cada m谩quina del equipo de desarrollo

  • Equivalencia con entorno productivo,
    este punto est谩 relaciona con, c贸mo hacer que el entorno de ejecuci贸n junto con la codificaci贸n sea lo m谩s parecido al entorno productivo, por ejemplo existe la posibilidad de que los desarrolladores est茅n codificando en windows y el despliegue final puede ocurrir en un servidor linux, entonces si existen la llamada a servicios de window puede ocurrir problemas al momento de realizar el despliegue en Linux.

  • Servicios externos,
    Est谩 relacionada con servicios externos por ejemplo consulta a bases de datos, consulta a API entre otros. La idea es como se van configurar estos servicios externos

2. Realidad de distribuci贸n de software
Tu c贸digo tiene que transformarse en un artefacto, o varios, que pueden ser transportados a donde tengan que ser ejecutados. Por ejemplo Si se trabaja con java este genera un . .jar o si es un proyecto Android este genera un .apk, entonces la pregunta es: 驴En cu谩l repositorio debe ser colocado?

Problemas al distribuci贸n de software

  • Divergencia de repositorios,
    Ejemplo: Un proyecto Android genera un .apk, entonces esta se alojar谩 en la playstore, y se tiene una bases de datos Mysql la cu谩l la aplicaci贸n har谩 uso, esta estar谩 alojada en otro lugar
  • Divergencia de artefactos,
    Ejemplo: Un proyecto Android genera un .apk, y si esta aplicaci贸n accede a una bases de datos, esta tiene otra extensi贸n y lo convierte en otro artefacto a parte.
  • versionado,
    驴C贸mo versionar cada artefacto que conforma nuestro software?

3. Realidad de Ejecutar Software
La m谩quina donde se escribe el c贸digo de software siempre es distintiva ala m谩quina de donde se ejecuta de manera productiva.

Problemas al distribuci贸n de software

  • Compatibilidad con el entorno productivo
  • Dependencias
  • Disponibilidad de servicios externos
  • Recursos de hardware.

Recuerdo que en el curso de arquitectura de software se mencionan los dos tipos de problemas o dificultades que enfrentamos en desarrollo de software:

馃槄 Problemas Esenciales:

Son los relacionados con la complejidad de necesidades, conformidad del cliente, cambios que nos solicitan y intangibilidad del software, estos son los m谩s recurrentes, los que Guido menciona, donde no existe la bala de plata para resolverlos 馃惡.

馃 Problemas Accidentales:

por otro lado estos tienen que ver con los lenguajes de programaci贸n, el multiprocesamiento, los entornos de programaci贸n y aqu铆 podr铆amos ubicar los problemas que se帽ala Guido, donde Docker 馃惓 nos apoya en la construcci贸n, distribuci贸n y ejecuci贸n del software, que alivio 3 problemas menos 馃

3锔忊儯 Las tres 谩reas en el desarrollo de software profesional

Apuntes

  • Existen 3 problemas que en toda tecnolog铆a o aplicaci贸n van a estar presentes
    1. Construir
    2. Distribuir
    3. Ejecutar

馃敤 Construir software

  • Escribir c贸digo es solo una (peque帽a) parte
  • Los problemas complejos necesitan equipos

Problemas al construir software

  • Entorno de desarrollo
  • Dependencias
  • Entorno de ejecuci贸n
  • Equivalencia con entorno productivo
  • Servicios externos

馃摝 Distribuir software

  • Tu c贸digo tienen que transformarse en un artefacto, o varios, que puedan ser transportados a donde tengan que ser ejecutados

Problemas al distribuir software

  • Divergencia de repositorios
  • Divergencia de artefactos
  • Versionado

馃懆鈥嶐煉 Ejecutar software

  • La m谩quina donde se escribe el software siempre es distinta a la m谩quina donde se ejecuta de manera productiva

Problemas al ejecutar software

  • Compatibilidad con el entorno productivo
    • No estamos seguros de que lo que necesitemos este instalado
  • Dependencias
  • Disponibilidad de servicios externos
  • Recursos de hardware

馃惓 Docker

鈥淒ocker te permite construir, distribuir y ejecutar cualquier aplicaci贸n en cualquier lado.鈥
~ Documentaci贸n oficial de Docker

Escuchar esas palabras me hace recuperar la f茅 en el proyecto que tengo atorado jajaja, pero ahora falta ver, cu谩les son los requerimentos de Docker xD

Problemas al construir:

Dependencias de desarrollo
Versiones de entornos de ejecuci贸n
Equivalencia de entornos de desarrollo
Equivalencia de entornos de producci贸n
Versiones / compatibilidad

Problemas al Distribuir:

Generaciones del build diferentes
Acceso a servidores de producci贸n
Ejecuci贸n nativa vs la distribuida
Serverless

Problemas al Ejecutar:

Dependencias de aplicaci贸n
Compatibilidad de sistema operativo
Disponibilidad de servicios externos
Recursos de hardware

Docker permite:
Construir, distribuir y correr tu c贸digo en cualquier lado

Problemas del desarrollo de software.

  • Construir: Escribir c贸digo es s贸lo una peque帽a parte

    • Entorno de desarrollo
    • Dependencias
    • Entorno de ejecuci贸n
    • Equivalencia con entorno productivo
    • Servicios externos
  • Distribuci贸n de software: Tu c贸digo tiene que transformarse en un artefacto, o varios, que puedan ser transportados a donde tengan que ser ejecutados.

    • Divergencia de repositorios
    • Divergencia de artefactos
    • Versionado
  • Ejecutar Software: La m谩quina donde se escribe el software siempre es distinta a la m谩quina donde se ejecuta de manera productiva.

    • Compatibilidad con el entorno productivo
    • Dependencias
    • Disponibilidad de servicios externos
    • Recursos de hardware.

Buen Intro

Docker help you to build , distribute and execute any application on any place

En mi opini贸n , creo que entre los problemas principales al momento de desarrollar software ser铆an, de manera muy puntual y resumida, la seguridad, la eficiencia del c贸digo y la potabilidad.

Por qu茅 usar Docker

https://aws.amazon.com/es/docker/

鈥溾淒ocker te permite construir, distribuir y ejecutar cualquier aplicaci贸n en cualquier lado.鈥濃

Me quedo con esta 煤ltima promesa 馃檶馃徑

鈥淒ocker te permite construir, distribuir y ejecutar cualquier aplicaci贸n en cualquier lado鈥

jajjajajajja sali贸 el chapul铆n colorado, este curso es lo m谩ximo 鉂わ笍

Felicidades al profe Guido, bajo muchismo de peso se ve genail y siempre estar mas saludale significa codear mejor.

welcome to the matrix

Un artefacto puede ser:

Un documento: como un Caso de Negocio o un documento de la arquitectura del Software.
Un modelo: como un modelo de caso de uso.
Un elemento de un modelo: como una sola clase de todo el Diagrama de Clases.

Los modelos y elementos de modelos, tienen reportes asociados a ellos. Un reporte saca informaci贸n acerca de los modelos y sus elementos mediante una herramienta. Un reporte presenta un artefacto o un conjunto de artefactos. La mayor铆a de los artefactos tienen directrices, las cuales describen los artefactos con m谩s detalle.

Para hacer el desarrollo de un sistema de Software manejable completo, los artefactos est谩n organizados en conjuntos correspondientes a las disciplinas. Muchos artefactos son usados en varias disciplinas; por ejemplo, la Lista de Riesgos, el Documento de Arquitectura del Software y el Plan de iteraci贸n. Este tipo de artefactos pertenecen al conjunto de artefactos donde ellos fueron originalmente creados.

Problemas al construir software
- Entorno de desarrollo
- Dependencias
- Entorno de ejecuci贸n
- Equivalencia con entorno productivo
- Servicios externos

Problemas al distribuir
- Divergencia de repositorios
- Divergencia de artefactos
- Versionado

Problemas al Ejecutar
- Compatibilidad con el entorno productivo
- Dependencias
- Disponibilidad de servicios externos
- Recursos de hardware

Ok, creo que amo Docker

Docker te permite construir software. Se debe tener en consideraci贸n que tenemos ciertos problemas y limitaciones en la creaci贸n.

distribuir software
para eso es importante nuestro repertorio

y tambi茅n nos permite ejecutar software

y las preguntas que se hacen las mayor铆as de desarroladores es quien nos puede ayudar

por lo tanto vamos a tener obst谩culos a la hora de programar

para eso esta docker

  • Los 3 grandes problemas del desarrollo profesional #Extractos
    1. Construir (c贸mo armamos el software)
      • Entorno de desarrollo
      • Dependencias
      • Entorno de ejecuci贸n
      • Equivalencia con entorno productivo
      • Servicios externos (Bases de datos)
    2. Distribuir (c贸mo los llevamos a donde tiene que estar)
      • Divergencia de repositorios
      • Divergencia de artefactos
      • Versionado
    3. Ejecutar (c贸mo hacemos que el software se ejecute como se debe ejecutar)
      • Compatibilidad con el entorno productivo
      • Dependencias
      • Disponibilidad de servicios externos
      • Recursos de hardware

Docker nos permite construir, distribuir y ejecutar cualquier aplicaci贸n en cualquier lado.

Bueno Guido y Platzi, espero cada vez entender m谩s e integrar mejor toda esta informaci贸n y me sienta m谩s capacitada para que me funcione y me corran los proyectos que proponen en los cursos. Gracias.

Problemas del Desarrollo de Software Profesional





1. Construcci贸n - Cuando se trata de realizar aplicaciones en la industria del software, normalmente no lo hacemos solos, lo hacemos con un equipo de trabajo. La raz贸n de esto es porque el trabajo en colaborativo resulta ser mucho m谩s productivo, ya que como dice el dicho 鈥淒os cabezas Piensan mejor que una鈥 pero as铆 como trabajar en equipo es una gran ventaja, tambien tiene sus contras, un ejemplo de esto es la organizaci贸n del equipo. A continuacion mencionare los problemas mas comunes asociado con la construcci贸n de software:

  • Entorno de desarrollo (Los paquetes de la aplicaci贸n mantenerlos acordes con los que tengan otros compa帽ero)
  • Dependecias (Se debe asegurar de utilizar las mismas versiones)
  • Entorno de Ejecuci贸n (Verificar que tenga la version correcta)
  • Equevalencia con entorno productivo (Si tu compa帽ero trabaja con linux y tu con windows deber铆as buscar la manera de que el entorno productivo sea lo mas parecido)
  • Servicios externos (铆ntegraci贸n de programas externos)


2. Distribuci贸n - Se relaciona con el lugar en donde vas a alojar tu aplicaci贸n 贸 tambien en donde alojara la misma para que esten disponibles y luego puedan ser ejecutados. Para hacer esto tu c贸digo debe tranformase en un artefacto, y aqui es donde pasan los siguentes problemas:

  • Divergencia de Repositorios
  • Divergencia de Artefactos
  • Versionado


3. Ejecuci贸n - Uno de los ultimos pasos es ver como quedo tu aplici贸n al final del d铆a pero aqui se viene un reto super importante y es verificar que la aplicaci贸n corra correctamente; en pocas palabras debes pasar tu aplicaci贸n del ambiente de desarrollo a uno de producci贸n. Estos son los problemas al ejecutar tu software:

  • Compatibilidad con el entorno productivo
  • Dependencias
  • Disponibilidad de servicios externos
  • Recursos de hardware

Problemas:

  • Construcci贸n: entorno, ide, dependencias
  • Distribuci贸n: divergencia de repositorios y artefactos, versionado
  • Ejecuci贸n: la maquina donde se escribe no es la misma donde se ejecuta de manera productiva, dependencias, recursos de hardware

Docker realmente cumple la promesa que hac铆an lenguajes de programaci贸n como Core Java con su famosa JVM y los archivos bytecode con extensi贸n .class

JAJAJA MUCHOS PROBLEMAS YA TENGO YO Y AHORA MAS PROBLEMAS JAJAJA

genial el homenaje al #chapulinColorado
(DevOps): Ohh!! y ahora quien podr谩 salvarnos???
(Docker): Yoo!!

Problemas del desarrollo de SW convencional:
1- Construir: trabajar en equipo, no es solo hacer c贸digo; algunos de los problemas son:
1.1- Entorno de desarrollo
1.2- Dependencias
1.3- Entorno de ejecuci贸n
1.4- Equivalencia con entorno de producci贸n
1.5- Servicios externos
2- Distribuir: llevar lo que se hizo a algun lado, generan artefactos que se llevan donde se deben ejecutar. Problemas:
2.1- Divergencia de repositorios
2.2- Divergencia de artefactos
2.3- Versionado
3- Ejecutar: correr el SW, problemas:
3.1- Compatiblidad
3.2- Dependencias
3.3- Disponibilidad de servicios
3.4- Recursos de HW

Los problemas son infinitos, siempre habra problemas, 驴Quien podra ayudarnos? Es Docker, permite construir, distribuir y ejecutar tu aplicaci贸n en cualquier lado.

Eliminar con docker lo que comunmente se dice 鈥淓n mi maquina funciona鈥

Aunque hoy d铆a tambi茅n existen otras propuestas por grandes empresas para manejar est谩ndares entre diferentes lenguajes de programaci贸n, Docker sigue siendo el referente en esta materia.

  • Construir.
    • Dependencias en el desarrollo.
    • Versiones de configuraci贸n de entornos ejecuci贸n, desarrollo, producci贸n.
  • Distribuir.
    • Generaci贸n en los binarios
    • Acceso a los servidores productivos.
  • Ejecutar.
    • Dependencias de la aplicaci贸n
    • Compatibilidad con el SO, Servicios externos y hardware
  • Docker, promete la soluci贸n a estos problemas de una manera simple y sencilla.

En proyectos serios, estaremos trabajando en equipos, esto nos exige lograr hacerlo de manera optima.
crear entornos de desarrollos reproducibles nos permite tener ese estandar de trabajo. Aqui entra docker.
Docker nos permite contruir, distribuir y ejecutar una aplicacion en cualquier lado.

Muy interesante la promesa de Docket.

me encanto el storytelling de la clase, comenzamos in media res, que te dan ganas de irte y hacer otra cosa con tu vida, pero luego el salvador, Que genial!!!
Pstd: Adem谩s como el enemigo se deshace de otros h茅roes.

Como armamos el software
Como lo llevamos
Y c贸mo hacemos que corra como lo esperamos

El problema de desarrollar software

  • Entorno de desarrollo

  • Dependencias

  • Entorno de ejecuci贸n

  • Equivalencia con entorno productivo

  • Servicios externos

El problema de Distribuir software

Tu c贸digo tiene que transformarse en un artefacto, o varios que puedan ser transportados a donde tengan que ser ejecutados.

  • Divergencia de repositorios

  • Divergencia de artefactos

  • Versionado

El problema de ejecutar software
La m谩quina donde se escribe el software siempre es distinta a la m谩quina donde se ejecuta de manera productiva.

  • Compatibilidad con el entorno productivo

  • Dependencias

  • Disponibilidad de servicios externos

  • Recursos de hardware

Docker te permite construir, distribuir y ejecutar cualquier aplicaci贸n en cualquier lado.

**Las tres areas en el desarrollo de software profesional

**Los grandes problemas:

Problemas del desarrollo de software profesional

  • Construir
  • Distribuir
  • Ejecutar

Construir software

  • Escribir c贸digo es solo una peque帽a parte
  • Los problemas complejos necesitan equipos.

Problemas al construir software

  • Entorno de desarrollo
  • Dependencias
  • Entorno de ejecuci贸n
  • Equivalencia con entorno productivo
  • Servicios externos

Distribuir software

Tu c贸digo tiene que transformarse en un artefacto, o varios, que puedan ser transportados a donde tengan que ser ejecutados.

Problemas al distribuir software

  • Divergencia de repositorios
  • Divergencia de artefactos
  • Versionado

Ejecutar software

La maquina donde se escribe el software siempre es distinta a la maquina donde se ejecuta de manera productiva.

Problemas al ejecutar software

  • Compatibilidad con el entorno productivo
  • Dependencias
  • Disponibilidad de servicios externos
  • Recursos de hardware

Docker nos ayudara con estos problema

porque docker permite construir, distribuir y ejecutar cualquier aplicaci贸n en cualquier lado.

Docker permite construir, distribuir y ejecutar cualquier aplicaci贸n en cualquier lado.

Docker es una bomba

The excitement around Docker arose in an environment characterized by a seemingly unquenchable demand for the latest and greatest apps. Docker鈥檚 promise of unicorn-like portability appealed to developers who wanted to build containerized apps on a single server, knowing they鈥檇 work on multiple servers. To this day, new innovations鈥攊ncluding Docker Extensions and Docker Desktop for Linux鈥攁re still helping developers work up new applications more efficiently.
Yet two key factors saw Docker鈥檚 popularity spring a leak in recent years:

Docker鈥檚 partial sale of its business to Mirantis in 2019
Microsoft鈥檚 warning of the deprecation of the Docker container runtime by Kubernetes in early 2022
**_El entusiasmo en torno a Docker surgi贸 en un entorno caracterizado por una demanda aparentemente insaciable de las mejores y m谩s recientes aplicaciones. La promesa de Docker de una portabilidad similar a la de un unicornio atrajo a los desarrolladores que quer铆an crear aplicaciones en contenedores en un solo servidor, sabiendo que funcionar铆an en varios servidores. Hasta el d铆a de hoy, las nuevas innovaciones, incluidas Docker Extensions y Docker Desktop para Linux, siguen ayudando a los desarrolladores a trabajar en nuevas aplicaciones de manera m谩s eficiente.

Sin embargo, dos factores clave hicieron que la popularidad de Docker se filtrara en los 煤ltimos a帽os:

Venta parcial de Docker de su negocio a Mirantis en 2019
Advertencia de Microsoft sobre la desaprobaci贸n del tiempo de ejecuci贸n del contenedor Docker por parte de Kubernetes a principios de 2022
tomado de Containers Rise in Docker鈥檚 Wake
October 27, 2022
by Don Boxley

Ya la inquietud se enfoca hacia cual sera el futuro de la contenerizacion y si entraran nuevos actores a la escena ademas de docker.

鉂わ笍 docker hace mis sue帽os posibles.

principles problemas
construir distribuir y ejecutar
ahi entra docker docker te permite construir distribuir y ejecutar en cualquier lado la aplicacion que estas desarrolando

Que sistemas de nombramiento para las versiones existen?

estuvo bueno el el chiste de el chapulin jaja

Problemas del desarrollo de software profesional

  1. Construir: Escribir c贸digo es s贸lo una peque帽a parte. Los problemas complejos necesitan equipos.
    1. Entorno de desarrollo
    2. Dependencias
    3. Entorno de ejecuci贸n
    4. Equivalencia con el entorno productivo
    5. Servicio externos
  2. Distribuir: El c贸digo tiene que transformarse en un artefacto, o varios, que puedan ser transportados a donde tengan que ser ejecutados.
    1. Divergencia de repositorios
    2. Divergencia de artefactos
    3. Versionado
  3. Ejecutar: La m谩quina donde se describe el software siempre es distinta a la m谩quina donde se ejecuta de manera productiva.
    1. Compatibilidad con el entorno productivo
    2. Dependencias
    3. Disponibilidad de servicios externos
    4. Recursos de hardware

docker te permite construir, distribuir y ejecutar cualquier aplicaci贸n en cualquier lado鈥

bien hasta ah铆 es el resumen de esta clase鈥

que bien explicado el alcance y finalidad del docker

Excelente forma de explicar!!!

Importante es establecer entornos homogeneos en la fase de desarrollo para los grupos de trabajo.

Problemas al construir:

  • Dependencias de desarrollo (paquetes)
  • Versiones de tiempo de ejecuci贸n
  • Equivalencia de entornos de desarrollo (c贸digo compartido)
  • Equivalencia de entornos de producci贸n (ir a producci贸n)
  • Versiones / compatibilidad (integraci贸n de otros servicios, por ejemplo: bases de datos)

Problemas al distribuir:

  • Diferentes generaciones de construcci贸n
  • Acceso a servidores de producci贸n
  • Ejecuci贸n nativa frente a distribuida
    sin servidor

Problemas al ejecutar:

  • Dependencias de la aplicaci贸n
  • Compatibilidad del sistema operativo
  • Disponibilidad de servicios externos
  • Recursos de hardware

Docker permite:

  • Cree, distribuya y ejecute su c贸digo en cualquier lugar sin preocupaciones.

problemas al construir
problemas al distribuir
problemas al ejecutar software

alguien sabe que aud铆fonos usa el profe

Los tres problemas del desarrollo est脿n en :

  • Construcci贸n
  • Distribuci贸n
  • Ejecuci贸n

los tres problemas m脿s importantes del software :

  • Fase se Constucci贸n
  • Fase de Distribuci贸n
  • Fase de Ejecuci貌n

Los 3 problemas m谩s importantes del software son: Construcci贸n, distribuci贸n y ejecuci贸n. Docker se enfoca en construir, distribuir cualquier aplicaci贸n en cualquier lado.

Docker te permite construir, distribuir y ejecutar cualquier aplicaci贸n en cualquier lado.

Problemas del desarrollo de software profesional:

  • Construir
    鈥 Entorno de desarrollo
    鈥 Dependencias
    鈥 Entorno de ejecuci贸n
    鈥 Equivalencia con entorno productivo
    鈥 Servicios externos
  • Distribuir
    El c贸digo tiene que transformarse en un artefacto, o varios, que puedan ser transportados a donde tengan que ser ejecutados.
    鈥 Divergencia de repositorios
    鈥 Divergencia de artefactos
    鈥 Versionado
  • Ejecutar
    La maquina donde se escribe el software siempre es distinta a la maquina donde se ejecuta de manera productiva.
    鈥 Compatibiliad con el entorno productivo
    鈥 Dependencias
    鈥 Recursos de Hardware
    鈥 Disponibilidad de servicios externos.
    Y ahora quien podra ayudarnos? Docker Heroe.

Virtualizaci贸n para tener un espacio para ejemplificar el 谩rea de producci贸n

Las tres 谩reas en el desarrollo de software profesional

Los tres grandes problemas


Construir:
C贸mo armamos el software
Distribuir:
C贸mo lo hacemos llegar a todos nuestros usuarios
Ejecutar
De qu茅 manera hacer que ese software corra, y de la manera que queremos que corra, en el lugar donde queremos que corra (Servidor, dispositivo m贸vil, computador, etc)

Construir Software

Escribir software es solo una peque帽a parte
Los problemas complejos necesitan equipos

Problemas al construir software

  • Entorno de desarrollo
  • Dependencias
  • Entorno de ejecuci贸n
  • Equivalencia con entorno productivo
  • Servicios externos

Distribuir Software

Tu codigo tiene que transformarse en un artefacto, o varios, que puedan ser transportados a donde tengan que ser ejecutados.

Problemas al distribuir software

  • Divergencia de repositorios
  • Divergencia de artefactos
  • Versionado

Ejecutar Software

La m谩quina donde se escribe el software siempre es distinta a la m谩quina donde se ejecuta de manera productiva

Problemas al ejecutar software

  • Compatibilidad con el entorno productivo
  • Dependencias
  • Disponibilidad de servicios externos
  • Recursos de hardware

Para todo esto Docker es aquel quien nos va a ayudar porque鈥

鈥淒ocker te permite construir, distribuir y ejecutar cualquier aplicaci贸n en cualquier lado鈥

Muy interesante

Hay una infinidad de problemas en el desarrollo de software, pero hay tres que siempre van a estar presentes en cualquier tecnolog铆a: construcci贸n, distribuci贸n y ejecuci贸n de la aplicaci贸n.

Construcci贸n del software
Escribir c贸digo es s贸lo una peque帽a parte de esta fase, porque cuando trabajamos en un proyecto serio solemos trabajar en equipo. Construir software no es s贸lo un problema de c贸mo escribimos el c贸digo o c贸mo tenemos un entorno de desarrollo que funcione, sino que tiene problemas m谩s grandes, y cuando trabajamos en equipo uno de ellos es el c贸mo compartimos el c贸digo, c贸mo manejamos las versiones en cada entorno de desarrollo, etc. Los que m谩s nos afectan son:

  • Entorno de desarrollo
  • Dependencias
  • Entorno de ejecuci贸n
  • Equivalencia con entorno productivo
  • Servicios externos

Distribuci贸n del software
Nuestro c贸digo tiene que transformarse en un artefacto, o varios, que puedan ser transportados a donde sean ejecutados.
Los problemas aqu铆 son:

  • Divergencia de repositorios
  • Divergencia de artefactos
  • Versionado

Ejecuci贸n del software
La m谩quina donde se escribe el software es siempre distinta a la m谩quina donde se ejecuta de manera productiva.
Problemas:

  • Compatibilidad con el entorno productivo
  • Dependencias
  • Disponibilidad de servicios externos
  • Recursos de hardware

Todos estos son problemas complejos, pero que en ellos nos puede ayudar Docker.

Docker nos permite construir, distribuir y ejecutar cualquier aplicaci贸n en cualquier lado. Esta es la promesa de Docker.