AWS re:Invent 2019, Run Serverless Kubernetes Pods Using Amazon EKS and AWS Fargate

El AWS re:Invent 2019 en Las Vegas ha presentado bastantes novedades para lo que es Kubernetes en AWS como es por ejemplo el poder ejecutar Pods de Kubernetes en Amazon EKS y AWS Fargate.v Ahora podemos utilizar Amazon Elastic Kubernetes Service (EKS) para ejecutar los pods de Kubernetes en AWS Fargate, el motor de cálculo sin servidor construido para contenedores en AWS. Esto hace que sea más fácil que nunca construir y ejecutar las aplicaciones de Kubernetes en la nube de AWS. [Leer más]

AWS re:Invent 2019, Amazon EKS on AWS Fargate

Recientemente, Amazon Elastic Kubernetes Service, podrá ejecutar “pods” de Kubernetes en AWS Fargate. EKS y Fargate facilitan así la ejecución de aplicaciones basadas en Kubernetes en AWS, eliminando la necesidad de aprovisionar y gestionar la infraestructura de los pods. Con AWS Fargate, no necesitaremos ser unos expertos de Kubernetes para ejecutar un clúster optimizado en costes y altamente disponible. Fargate nos elimina la necesidad de crear o gestionar instancias EC2 para nuestros clusters de Amazon EKS. [Leer más]

AWS re:Invent 2019, Amazon SageMaker Operators for Kubernetes

Otra de las novedades presentadas en AWS re:Invent 2019 en Las Vegas, ha sido el Amazon SageMaker Operators for Kubernetes que viene a facilitarles la vida, tanto para los desarrolladores como científicos de datos, que utilizan Kubernetes junto con la implementación de modelos de aprendizaje automático (ML) en Amazon SageMaker. Cuando se ejecutan cargas de trabajo de ML en Kubernetes, se tiene que gestionar y optimizar la infraestructura subyacente de ML, para poder garantizar una alta disponibilidad y fiabilidad, proporcionar herramientas de ML para que los científicos de datos sean más productivos y cumplir con los requisitos normativos y de seguridad adecuados. [Leer más]

Nuclio: Data Science Pipeline with Serverless Functions

Nuclio.io, es una interesante plataforma de código abierto (Open Source), gestionada sin servidores (Serverless), orientada a minimizar tanto gastos de desarrollo y mantenimiento como a automatizar la implementación de aplicaciones basadas en la ciencia de datos o #DataScience. Podemos ejecutar un entorno de Nuclio.io muy rápidamente, mediante #Docker: docker run -p 8070:8070 -v /var/run/docker.sock:/var/run/docker.sock -v /tmp:/tmp nuclio/dashboard:stable-amd64 Aunque si lo preferimos, en su GitHub podemos encontrar los pasos para ejecutarlo en Kubernetes. [Leer más]

Deployando Traefik en Kubernetes mediante Helm

Helm es un más que interesante gestor de paquetes en Kubernetes y, mediante ficheros YAML va a permitirnos una gestión de nuestro Clúster de una forma muy simple. Una de sus grandes opciones es que tiene un repositorio muy amplio (Charts), podemos descubrir algunos de sus ejemplos en: https://github.com/helm/charts/ En nuestro caso usaremos Kubernetes mediante la opción microk8s que ya hemos hablado anteriormente. Instalar Helm Por defecto, en snap no tenemos la opción y tendremos que determinar que queremos hacerlo mediante “classic”. [Leer más]

Micro Clúster Kubernetes en Ubuntu (MicroK8s)

Hoy contaremos como desplegar un “Clúster” Kubernetes en Ubuntu y lo haremos mediante su opción de “MicroK8s” (Kubernetes for workstations and appliances). Instalando Kubernetes MicroK8s Para ello, el primer paso será asegurarnos que tenemos instalado “snap” en nuestro Ubuntu: sudo apt install snapd. Una vez lo tengamos, podemos proceder a instalarlo con sudo snap install microk8s --classic. MicroK8s es una instalación mínima de Kubernetes diseñada para funcionar localmente. Para asegurarnos que ha quedado correctamente instalado lanzamos el comando: sudo microk8s. [Leer más]

API with Express, Mongoose & MongoDB

Cuando queremos tener una arquitectura desacoplada o, cuando necesitamos tener un acceso programático a nuestro producto y/o servicio, lo más normal y común es tener un servicio de API. Concretamente una API RESTful para, por ejemplo, poder ofrecer servicios como: GET para consultar y leer, POST para crear, PUT para editar y DELETE para eliminar. Bien, uno de los lenguajes más famosos y, recomendable, para poder construir nuestra API RESTful es NodeJS y más concretamente su Framework Express que nos proporciona muchas herramientas útiles para poder organizar nuestra aplicación. [Leer más]

Linkerd, Service Mesh microservice management

Las Arquitecturas basadas en Microservicios han facilitado y continúan facilitando mucho todos nuestros desarrollos, puestas en producción y release management, pero ciertamente se puede continuar mejorando y una forma es implementando un Service Mesh. ¿Qué es un Service Mesh? Pero: ¿Qué es un Service Mesh?. En modo resumen rápido podemos decir que es una infraestructura, basada en software, encargada de manejar las comunicaciones entre microservicios y/o distintos componentes. Para explicarlo mejor podemos ver unas funcionalidades ejemplos donde podríamos implementarlo: [Leer más]

Reference (Simple) Architectures con Traefik, Kubernetes y API Kong Gateway

Hacerlo todo complicado es algo, por desgracia, muy natural. Pero deberíamos tender a hacerlo a lo fácil y así asegurarnos que nuestros proyectos tienen un % mucho más elevado de éxito y no al contrario. Es por ello que quiero plantear éste post para intentar resolver ciertas dudas que me han llegado frente al diseño de nuestras arquitecturas en AWS. La idea no va más allá de construir una “mínima” arquitectura, pensando en dos tipologías de acceso: programático o humano, y con dos tipos de consumidores: usuarios internos (empleados) o usuarios externos (clientes). [Leer más]

OpenFaaS, Serverless Functions Made Simple for Docker & Kubernetes.

OpenFaaS es un marco para “empaquetar” código, binarios o contenedores como funciones sin servidor en cualquier plataforma: Windows o Linux. Hasta aquí, “parece fácil” pero realmente es una maravilla ya que nos elevará a un nuevo nivel. Veamos sus principales Highlights: Podremos crear funciones desde plantillas de código. Contruir funciones como se fueran imagenes Docker. Hacer Push de estas imagenes a Docker Registry. Hacer Deploy de las funciones. Invocar las funciones. [Leer más]