<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: mariomerco</title>
    <description>The latest articles on Forem by mariomerco (@mariomerco).</description>
    <link>https://forem.com/mariomerco</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F638255%2F1d20c257-01b7-4693-8720-09fb7ce2d290.jpeg</url>
      <title>Forem: mariomerco</title>
      <link>https://forem.com/mariomerco</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/mariomerco"/>
    <language>en</language>
    <item>
      <title>5 Razones de por qué aprender EKS practicando</title>
      <dc:creator>mariomerco</dc:creator>
      <pubDate>Mon, 14 Jun 2021 20:12:13 +0000</pubDate>
      <link>https://forem.com/aws-builders/5-razones-de-por-que-aprender-eks-practicando-1ale</link>
      <guid>https://forem.com/aws-builders/5-razones-de-por-que-aprender-eks-practicando-1ale</guid>
      <description>&lt;p&gt;Alguna vez has estado en la posición de aprender alguna herramienta nueva sobre tecnología y piensas &lt;strong&gt;"esto es increíble!"&lt;/strong&gt; pero cuando comienzas a aplicarla encuentras varios problemas que lo hacen realmente más difícil? Bueno, si has estado allí, &lt;strong&gt;definitivamente trabajas en TI!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;No es un secreto que las tecnologías de la información evolucionan todo el tiempo y muy rápido, haciendo que las cosas sean mejores y más rápidas, pero también a veces un poco abrumadoras. E incluso más allá de eso, ¡este escenario podría suceder en muchos otros dominios del conocimiento y experiencias de vida!&lt;/p&gt;

&lt;p&gt;Ahora, aterrizando más en nuestro tema, Kubernetes en AWS, hay muy buenos ejemplos, documentaciones, laboratorios y ejercicios que pueden ayudar a comenzar con nuevos conocimientos, por lo que esto le brinda las herramientas como piezas de &lt;em&gt;Lego&lt;/em&gt; para construir su propia solución, ya sea desde cero o con alguna línea de base. Esto es genial y funciona así en la mayoría de las piezas de TI.&lt;/p&gt;

&lt;p&gt;Pero hay veces en las que es necesario realmente mirar un proyecto (ya sea algo pequeño, incluso) y llevarlo de la mano con Kubernetes, porque en la teoría se pueden obviar cosas que en la práctica son necesarias y que solo es (la practica) la que podrá llenarlas. En otras palabras, &lt;strong&gt;no es lo mismo aprender a manejar una bicicleta por video tutoriales que montándote en una&lt;/strong&gt;. Por eso les dejo aquí 5 razones por qué aprender &lt;strong&gt;EKS&lt;/strong&gt; practicando.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Kubernetes es complicado: demasiadas piezas moviéndose
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9nk7mpo68acqyj5wcfnq.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9nk7mpo68acqyj5wcfnq.jpg" alt="Complicado" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Si bien Kubernetes se está convirtiendo cada vez más en un estándar cuando se habla de orquestación de contenedores, también es cierto que el manejo de las cargas de trabajo de producción es un desafío. Kubernetes es un conjunto de múltiples componentes como línea de base, luego comienza a contar a medida que implementas pods, configmaps, secretos, servicios y un largo etc. (ni siquiera hablamos de CRDs ...), por lo que antes de comprometer algo en producción, requiere probar, no solo la aplicación en sí, sino su infraestructura implementada en Kubernetes.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Las redes necesitan atención
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F852epm7i3sb3rljqduk2.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F852epm7i3sb3rljqduk2.jpg" alt="Red" width="800" height="532"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A medida que comience a implementar sus aplicaciones (especialmente si se comunican entre sí), inmediatamente se enfrentará con DNS, IP, equilibrio de carga, etc. Aunque la mayor parte de esto se maneja con conceptos simples de Kubernetes, su infraestructura subyacente requiere una infraestructura de red bien establecida.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Los permisos de IAM son muy detallados
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa09ukhnz55fmv4uy08xx.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa09ukhnz55fmv4uy08xx.jpg" alt="Permisos" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Si los desarrolladores tienen un acceso amplio al espacio de AWS, codificarán sus aplicaciones usando el SDK de AWS probablemente sin preocuparse por los permisos ... ¡hasta que obtenga Kubernetes! Los contenedores intentarán solicitar acceso a la API de AWS y, si el rol de IAM que abarca la aplicación no está configurado con los permisos adecuados, simplemente fallará.&lt;/p&gt;

&lt;p&gt;Hay varias soluciones para esto, como &lt;a href="https://github.com/jtblin/kube2iam" rel="noopener noreferrer"&gt;Kube2IAM&lt;/a&gt;, &lt;a href="https://github.com/uswitch/kiam" rel="noopener noreferrer"&gt;KIAM&lt;/a&gt; y &lt;a href="https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html" rel="noopener noreferrer"&gt;IAM Roles for Service Accounts&lt;/a&gt; que, si estamos en AWS y EKS (ejecutándose en instancias EC2), esta es mi opción de preferencia 😎.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. La automatización también requiere pruebas
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz7uf3lkg4r44hl3fpkjh.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz7uf3lkg4r44hl3fpkjh.jpg" alt="Automatización" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;La automatización está, en la mayoría de los casos, relacionada con la codificación, y la codificación también está relacionada con errores. Entonces, en este caso, tomaría la palabra "práctica" reemplazada por "prueba". Entonces, los flujos de trabajo de CICD que quizás desee crear son, al final, un código que se ejecuta en algún lugar y puede tener problemas. Es por eso que tener varios entornos (al menos un entorno de PRUEBA) antes del de producción es importante para probar realmente cómo se realizará el aprovisionamiento de sus recursos.&lt;/p&gt;

&lt;p&gt;Kubernetes también se incluye en esta sección, porque automatiza la orquestación de contenedores según las configuraciones que proporciones. Pero si sus configuraciones son incorrectas, podrían llevarlo a un problema de implementación o un entorno mal configurado.&lt;/p&gt;

&lt;p&gt;En resumen, siempre &lt;strong&gt;PRUEBA!&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Cuidado con el $orpri$e$ 💲💲💲
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftrnbijxmqh8chc1tjppy.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftrnbijxmqh8chc1tjppy.jpg" alt="Malgastando dinero" width="800" height="1200"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Esto es simple: &lt;strong&gt;Cuantos más nodos agregue, más dinero pagará&lt;/strong&gt;. Por ejemplo, una de las ideas principales de tener contenedores y Kubernetes encima es &lt;strong&gt;Ajuste de escala automático&lt;/strong&gt;, y hay varias formas, &lt;a href="https://docs.aws.amazon.com/eks/latest/userguide/cluster-autoscaler.html" rel="noopener noreferrer"&gt;Ajuste de escala automático de clúster&lt;/a&gt;, &lt;a href="https://docs.aws.amazon.com/eks/latest/userguide/horizontal-pod-autoscaler.html" rel="noopener noreferrer"&gt;Horizontal Pod Autoscaler&lt;/a&gt; y &lt;a href="https://docs.aws.amazon.com/eks/latest/userguide/vertical-pod-autoscaler.html" rel="noopener noreferrer"&gt;Vertical Pod Autoscaler&lt;/a&gt;. Lo mejor para configurar todo esto siempre depende del tipo de aplicación que esté creando. Tendrá que entender cómo se comporta, cuál es la mejor métrica para escalar, etc. y si esto no se toma con cuidado, podría escalar sin realmente necesitarlo y costarle mucho más. ** ¡O, incluso peor! **, podría reducirse de manera muy agresiva y dañar su disponibilidad y respuestas, ¡impactando directamente al usuario final! Así que es mejor estar preparado probando escenarios y desarrollando una estrategia de revisión de estas tareas a medida que su negocio aumente en usuarios finales.&lt;/p&gt;

&lt;h2&gt;
  
  
  Suena aterrador 🎃
&lt;/h2&gt;

&lt;p&gt;Y puede que si lo sea 😅, pero realmente EKS ha ido creciendo y madurando en las herramientas que provee para hacer más fácil su aprendizaje y mantenimiento. Desde Managed Worker Nodes, add-ons y actualizaciones automáticas, hasta correr contenedores en Fargate (a lo Serverless) y miles de integraciones opensource por la comunidad de Kubernetes, de AWS y de ambos! Así que, aunque suene complejo, EKS brinda facilidades para hacerlo un servicio atractivo y una solución productiva, segura y efectiva en costo.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;PD:&lt;/em&gt; Si tienes subscripción de A Cloud Guru, te invito a mi curso &lt;a href="https://acloudguru.com/course/a-practical-guide-to-amazon-eks" rel="noopener noreferrer"&gt;A Practical Guide To Amazon EKS&lt;/a&gt;, donde muchos de estos temas los cubrimos &lt;strong&gt;practicando!&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>eks</category>
      <category>kubernetes</category>
      <category>aws</category>
      <category>spanishaws</category>
    </item>
    <item>
      <title>5 Reasons why to learn EKS practicing</title>
      <dc:creator>mariomerco</dc:creator>
      <pubDate>Sun, 13 Jun 2021 19:06:29 +0000</pubDate>
      <link>https://forem.com/aws-builders/5-reasons-why-to-learn-eks-practicing-5gaf</link>
      <guid>https://forem.com/aws-builders/5-reasons-why-to-learn-eks-practicing-5gaf</guid>
      <description>&lt;p&gt;Have you ever been in the position of learning some new tool on tech and think &lt;strong&gt;“this is awesome!”&lt;/strong&gt; but when you start applying it find multiple issues that makes it actually harder? Well, if you’ve been there, you definitely work on IT!&lt;/p&gt;

&lt;p&gt;That’s not a secret that information technologies evolve all the time and very quick, making things better and faster, but also some times a bit overwhelming. And even beyond that, this scenario could happen in multiple other domains of knowledge and live experiences! &lt;/p&gt;

&lt;p&gt;Now, landing a more in our topic, Kubernetes in AWS, there are really good examples, documentations, labs and exercises out there that can get you started with some new knowledge, so this gives you the tools as lego pieces to build your own solution, whether from scratch or with some baseline. This is great and works just like that in most of IT pieces. &lt;/p&gt;

&lt;p&gt;But there are times when it is necessary to really look at a project (even be it something small) and take it by the hand with Kubernetes, because in theory you can ignore things that in practice are necessary and that is only (the practice) the one that will be able to fill them. In other words, &lt;strong&gt;it is not the same to learn to ride a bicycle through video tutorials rather than riding one&lt;/strong&gt;. So here are 5 reasons why you should learn &lt;strong&gt;EKS&lt;/strong&gt; by practicing. &lt;/p&gt;

&lt;h3&gt;
  
  
  1. Kubernetes is complicated - too many moving pieces
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9nk7mpo68acqyj5wcfnq.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9nk7mpo68acqyj5wcfnq.jpg" alt="Complicated"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;While Kubernetes is getting more and more like a standard when talking about container orchestration, is also truth that handling for production workloads is challenging. Kubernetes is a set of multiple components as a baseline, then start counting as you deploy pods, configmaps, secrets, services, and a long etc (not even talking about CRDs…), so before commiting something to production, it requires testing of, not only the app itself, but it’s infrastructure deployed in Kubernetes.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Networking needs attention
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F852epm7i3sb3rljqduk2.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F852epm7i3sb3rljqduk2.jpg" alt="Network"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As you start deploying your apps (specially if they talk to each other) you immediately will face with DNS, IPs, load balancing, etc. Although most of this is handled with simple concepts by Kubernetes, your underlying infrastructure requires a well established networking infrastructure.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. IAM permissions is very granular
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa09ukhnz55fmv4uy08xx.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa09ukhnz55fmv4uy08xx.jpg" alt="Permissions"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If developers has a wide access to the AWS space, they’ll code their apps using the AWS SDK probably without worrying about permissions… until it gets Kubernetes! The containers will try to request access to the AWS API and, if the IAM role that is embracing the application is not setup with the proper permissions, will simply fail. &lt;/p&gt;

&lt;p&gt;There are multiple solutions for this like &lt;a href="https://github.com/jtblin/kube2iam" rel="noopener noreferrer"&gt;Kube2IAM&lt;/a&gt;, &lt;a href="https://github.com/uswitch/kiam" rel="noopener noreferrer"&gt;KIAM&lt;/a&gt;, and &lt;a href="https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html" rel="noopener noreferrer"&gt;IAM Roles for Service Accounts&lt;/a&gt; which, if we are in AWS and EKS (running in EC2 instances), this one is my go-to 😎.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Automation also requires testing
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz7uf3lkg4r44hl3fpkjh.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz7uf3lkg4r44hl3fpkjh.jpg" alt="Automation"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Automation is, in most of the cases, related to coding, and coding is also related to bugs. So in this case, I would take the word "practice" replaced by "test". So the CICD workflows that you might want to create is, at the end, code running somewhere, and it can come with issues. That's why having multiple environments (at least a TEST environment) before the production one is important to actually test how the provisioning of your resources are going to happen. &lt;/p&gt;

&lt;p&gt;Kubernetes also falls in this section, because it automates the orchestration of containers based on the configurations that you provide. But if your configs are wrong, they could lead you to a deployment issue or missconfigured environment. &lt;/p&gt;

&lt;p&gt;In summary, always &lt;strong&gt;TEST!&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Watch out the $orpri$e$ 💲💲💲
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftrnbijxmqh8chc1tjppy.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftrnbijxmqh8chc1tjppy.jpg" alt="Wasting money"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is simple: &lt;strong&gt;The more nodes you add, the more money you pay&lt;/strong&gt;. For example, one of the main ideas of having containers and Kubernetes on top of them is &lt;strong&gt;Autoscaling&lt;/strong&gt;, and there are multiple ways, &lt;a href="https://docs.aws.amazon.com/eks/latest/userguide/cluster-autoscaler.html" rel="noopener noreferrer"&gt;Cluster Autoscaling&lt;/a&gt;, &lt;a href="https://docs.aws.amazon.com/eks/latest/userguide/horizontal-pod-autoscaler.html" rel="noopener noreferrer"&gt;Horizontal Pod Autoscaler&lt;/a&gt;, and &lt;a href="https://docs.aws.amazon.com/eks/latest/userguide/vertical-pod-autoscaler.html" rel="noopener noreferrer"&gt;Vertical Pod Autoscaler&lt;/a&gt;. The best to set all of this up always depends on the type of application you are building. You'll have to understand how it behaves, what's the best metric to take for scaling, etc. and if this is not taken with care, could scale up without really needing it and costing you much more. &lt;strong&gt;Or, even worst!&lt;/strong&gt; it could scale down very aggressively and damaging its availability and responses, impacting directly the end user! So better be prepared testing scenarios and developing a strategy of reviewing theses tasks as your business increase in end users.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sounds scary 🎃
&lt;/h2&gt;

&lt;p&gt;And it may be 😅, but really EKS has been growing and maturing in the tools it provides to make learning and maintenance easier. From Managed Worker Nodes, add-ons and automatic updates, to running containers in Fargate (the Serverless way) and thousands of opensource integrations by the Kubernetes community, AWS and both! So, although it sounds complex, EKS provides facilities to make it an attractive service and a productive, safe and cost-effective solution.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;PD:&lt;/em&gt; If you have A Cloud Guru subscription, I invite you to my course &lt;a href="https://acloudguru.com/course/a-practical-guide-to-amazon-eks" rel="noopener noreferrer"&gt;A Practical Guide To Amazon EKS&lt;/a&gt;, where many of these topics we cover &lt;strong&gt;practicing!&lt;/strong&gt;. &lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>eks</category>
      <category>kubernetes</category>
      <category>aws</category>
      <category>practice</category>
    </item>
  </channel>
</rss>
