Parseando JSON con Golang y las naves de spaceX

Golang se ha convertido en uno de mis lenguajes favoritos y hoy escribiré de como podemos usar go para poder consumir la API de spaceX y obtener información de las naves lanzadas al espacio

Soy admirador total de Elon musk y de todas sus compañías, una de ellas es spaceX, una compañía dedicada al transporte aeroespacial y hoy por medio de Golang vamos a obtener información de su ultima nave lanzada al espacio.

Read More

Creando un cluster de kubernetes en GCP con terraform

 

Terraform, es una de las herramientas mas potentes de hashicorp y hoy en día es usada por grandes compañías para mantener infraestructura en la nube.

Terraform destaca porque podemos trabajar con múltiples providers al mismo tiempo, ¿ que quiere decir esto ? que le podemos decir a terraform que cuando se cree una nueva instancia en GCP al mismo tiempo  genere un registro DNS en route53 en AWS, esto de una manera muy sencilla.

Pero hoy no vamos a hablar de AWS, hoy vamos a hablar de GCP, una nube muy poderosa que tiene características muy interesantes para tener en cuenta y en este caso, construiremos un cluster de Kubernetes en GCP usando terraform.

Conectandonos a Google Cloud platform:

Para conectarnos a GCP solo necesitamos determinar:

  • Credentials : En este caso tenemos que generar un account service y usar el archivo json que se genera con los permisos necesarios
  • Project  : Determinamos el proyecto en GCP en el cual vamos a trabajar
  • region : Determinamos la región por el cual vamos a trabajar.

Despues de determinar los valores mencionados anteriormente, los seteamos en el siguiente archivo.

Read More

Utilizando Traefik como Dynamic Reverse Proxy en Docker Swarm sobre AWS

Traefik es una herramienta muy potente gracias a que soporta varios providers como backend, en este caso usaremos traefik para que nos sirva como Dynamic Reverse Proxy sobre un cluster de Docker Swarm en Amazon Web Services.

Componentes:

3 Instancias (1 Manager  y 2 worker):

Manager: Esta instancia sera la que controlara todo el cluster, en ella desplegaremos traefik y los servicios que no son worker, esta instancia estará sobre una subnet , la cual llamaremos “subnet frontend” y tendrá su respectivo Secure Group

Worker: las instancias llamadas workers son dichas instancias donde correran nuestros servicios desplegados en AWS, sin tener en cuenta los servicios de “management” que podemos desplegar en la subnet de frontend, aquí desplegaremos los servicios que necesitemos como un web server, un micro servicio, etc, estas dos instancias estarán sobre otra subnet, la cual la llamaremos “subnet backend” y tendrá su respectivo Secure Group Read More

Traefik: Load Balancer y Reverse Proxy para Docker


Cuando trabajamos con docker en ambientes productivos, la mayoría de casos usamos tecnologías para orquestar y poder ofrecer alta disponibilidad sobre nuestros micro servicios, debido a esto, nosotros corremos multiples aplicaciones sobre un mismo host que haga parte de nuestro stack de orquestación. Para que estas aplicaciones puedan ser consumidas sin necesidad de exponer un puerto, necesitamos un reverse proxy para poder consumir estos servicios desde un único puerto.

Traefik es un reverse proxy  y load balancer compatible con docker escrito en Go, creado especialmente para micro servicios, Traefik soporta diferentes Backends como: (Docker, docker Swarm, Kubernetes, Rancher, Amazon ECS y muchos mas ) su configuración es bastante sencilla y cuenta con un Dashboard donde podemos visualizar nuestros Micro servicios.

Read More

Howto: Instalando Rocket.Chat en Docker

Rocket.chat para mi es una de las mejores plataformas de chat OpenSource que existen, es muy flexible a la hora de adaptarlo y lo mejor, tiene cliente para toda las plataformas.

En este caso, realizaremos la instalación de Rocket.chat en docker, por el cual no importara la distribución linux que utilicemos, pero en este caso utilizare Centos 7 como host de mis contenedores para hacer el despliegue.

Instalación:

Vamos a usar varios contenedores y para lograr la comunicación entre ellos, se usara Docker Compose, el cual nos permite hacer despliegues de servicios el cual involucra varios contenedores.

Docker:

Instalamos docker usando el script que se encuentra en su pagina oficial.

Al finalizar el proceso usamos systemctl para subir el servicio y dejarlo habilitado para que inicie cuando se inicie el servidor.

Read More