Tag Archives: Development

3 recursos para aprender Docker

Si bien es cierto esta tecnología lleva [más de cinco años en el mercado], he notado que todavía es novedad para muchos desarrolladores de software. Yo creo que no tendría sentido crear contenido explicando a dealle [¿qué es Docker?] o [en qué se diferencia con tecnologías de máquinas virtuales], pues ya hay mucho de ellos en la red. En vez de eso podríamos reflexionar y hacernos las siguientes preguntas:

  • ¿Tenemos problemas para preparar un nuevo ambiente de desarrollo? Quizá esto se puede hacer pero requiere mucho tiempo y revisar un manual que pocos logramos comprender.
  • ¿Tenemos un programa que solo funciona en la máquina de un desarrollador? Es decir, ni siquiera en la máquina de otro desarrollador.
Fuente: [Geek Republic]
  • ¿Tenemos problemas de instalación por las dependencias entre aplicaciones o versiones de librerías?

Si hemos tenido al menos uno de estos casos, quizá le tenemos que dar una oportunidad a Docker, tecnología que nos permite aislar nuestro entorno de trabajo de nuestras máquinas, haciendo que nuestros desarrollos sean más portables.

Arquitectura Docker, fuente: [XenonStack]

Debido a que hay muchos caminos para aprender esto sugiero que nuestro punto de inicio considere lo siguiente:

  1. Este [video de 12 minutos], que si bien es cierto está en inglés, lo explica todo de una forma tan sencilla que hasta te da ganas de entrar a la línea de comandos y empezar a trabajar 🙂
  1. Este [tutorial que explica paso a paso] lo mínimo indispensable de Docker y este [con una explicación sencilla] de cómo crear una aplicación real 🙂
  1. La [documentación oficial], si bien es cierto fue una de las primeras cosas que revisé cuando empecé a experimentar con Docker, les recomiendo que primero revisen los dos puntos anteriores luego de jugar un poco sigan los ejemplos recomendados en su sección [get-started]
  1. (Bonus) Si por algún motivo, razón o circunstancia (jaja, esa frase es lo máximo) no pueden instalar Docker en sus máquinas, pueden practicar en [este lab]. Para ello solo necesitan una cuenta en Docker y listo 🙂
Play with docker, fuente: archivo personal

Espero que estos recursos sean de utilidad, por mi parte pondré en mis pendientes traducir los tutoriales del punto #2, me parecen muy buenos y creo que con eso eliminaríamos la barrera del lenguaje. Ahora, si alguno ya empezó o se anima a hacerlo, bienvenido sea!

Un abrazo,

Chau MySql. Hola Amazon RDS

Ayer descubrí que la base de datos de mi blog tuvo dos caídas en la última semana. Estaba cansado de seguir dándole vueltas al asunto así que decidí que los grandes hagan lo que mejor saben hacer.

Hoy pude desconectar mi mysql y empecé a usar Amazon RDS 🙂

El procedimiento no es complicado:

  1. Saqué una copia de mi base de datos. Para eso puedes usar el comando mysqldump [ejemplo]
  2. Creé una instancia en RDS MySQL y una base de datos [tutorial]. En este punto se recomienda que la versión soportada sea la misma a la que estemos usando.
  3. Configuré un usuario con privilegios sobre la nueva base de datos [ejemplo]
  4. Restauré la base de datos [ejemplo]
  5. Me aseguré de que hubiera conexión entre el servidor donde está alojado el blog y la instancia RDS creada: Si encuentro un ejemplo sobre esto lo colocaré en los comentarios, pero en resumen deben configurar la VPC de tal forma que ambos elementos (host EC2 y el RDS) puedan verse.

Luego de cambiar la configuración en wordpress pude apagar el mysql que estaba usando 🙂

Continue reading Chau MySql. Hola Amazon RDS

En serio ¿Qué es DevOps?

Esta semana conversaba con un amigo sobre cómo el mercado ha transformado un gran concepto en un aspecto netamente comercial que a su vez ha generado nuevos roles, herramientas y cosas que de alguna u otra forma, estamos agregando a nuestro CV.

Si bien es cierto el título del post es algo pretencioso, es lo que pienso y digo cada vez que converso sobre este tema.

Las pocas veces que he conversado con expertos en la materia (quienes por “extrañas” razones, no lo mencionan como la clave de su hoja de vida), además de notar cierta molestia en ellos, me encuentro con dos cosas que pueden parecer obvias:

  1. DevOps no es un conjunto de herramientas.
  2. DevOps es una cultura, una filosofía.

devops-culture-cartoon
Fuente: LinkedIn

Continue reading En serio ¿Qué es DevOps?

Visual Studio for Mac – Preview 3 – sigue siendo Xamarin Studio

A pesar de que Visual Studio for Mac me tiene algo decepcionado, hoy lo abrí luego de mucho tiempo y como todavía sigue en modo Preview (ni siquiera en Beta, como mi blog :D), no me sorprendió que al abrirlo me haya salido el updater 🙂

Visual-Studio-for-Mac-Updating

Mientras pasaba de Preview 1 a Preview 3, me puse a leer las notas del release y además de corregir bugs propios de una versión preview, se incluyen mejoras en la compatibilidad con F#, los proyectos de Visual Studio –aquí se refieren a la versión oficial–, MSBuild, unit testing y soporte a .net core. Esto último me tiene confundido pues estaba seguro de que ya estaba.

Continue reading Visual Studio for Mac – Preview 3 – sigue siendo Xamarin Studio

Deuda técnica en el 2017

Si bien es cierto nunca he escrito sobre la deuda técnica, reconozco que cada cierto tiempo reviso o empiezo un nuevo borrador al respecto y lo dejo –con mucho dolor– en la lista de apuntes sin publicar.

Hoy por la noche voy a borrar aquellos apuntes y tengo un sinsabor que aumenta con el paso de los años.

Antes de continuar con ello y para quitarme el clavo, aquí algunos apuntes:

  1. Ward Cunningham indica que la deuda está asociada a la programación/reprogramación/corrección que harás más adelante, pues hoy –o ayer– no hiciste un programa sin seguir las recomendaciones, estándares o buenas prácticas de programación y/o arquitectura.
  2. McConnellFowler clasifican las causas como deliberadas, por desconocimiento o incluso ingeniudad.
  3. Por mi parte y considerando que más que software se entrega una solución, pienso que la deuda se debe analizar en todo sentido, en cada capa, etapa, proceso, modelo o secuencia utilizada para la creación del producto.
    • Esto significa que también se debe hacer una mención al hecho de cómo se definen las necesidades de los usuarios o cómo es que se compila, distribuye o instala el software resultante.
    • Tampoco se debe olvidar el prototipado/maquetado de la solución. El cual a veces es olvidado y otras es tan sobrevalorado que hasta llegas a odiarlo.
  4. La deuda se debe mitigar de a pocos ni bien se vaya identificando. Sería ideal eliminarla pero casi nunca es así.
  5. Para finalizar, creo que para no confundir, la deuda técnica debería cambiar de nombre o al menos de versión, pues la realidad ha cambiado y con tantos nuevos jugadores, debería existir algo así como una “Deuda Técnica 2.0”

Continue reading Deuda técnica en el 2017