<?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>DEV Community: Adrian</title>
    <description>The latest articles on DEV Community by Adrian (@eydrian).</description>
    <link>https://dev.to/eydrian</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1179952%2F0d20691b-d3bd-49ed-8c1f-f15faabd04e5.png</url>
      <title>DEV Community: Adrian</title>
      <link>https://dev.to/eydrian</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/eydrian"/>
    <language>en</language>
    <item>
      <title>Cómo construí un ecosistema de agentes de IA para automatizar la seguridad del código</title>
      <dc:creator>Adrian</dc:creator>
      <pubDate>Fri, 26 Jun 2026 13:10:02 +0000</pubDate>
      <link>https://dev.to/eydrian/como-construi-un-ecosistema-de-agentes-de-ia-para-automatizar-la-seguridad-del-codigo-10np</link>
      <guid>https://dev.to/eydrian/como-construi-un-ecosistema-de-agentes-de-ia-para-automatizar-la-seguridad-del-codigo-10np</guid>
      <description>&lt;p&gt;🔐 Automaticé la seguridad del código con Agentes de IA — y esto es lo que aprendí.&lt;/p&gt;

&lt;p&gt;En los últimos meses lideré el diseño y la implementación de un ecosistema completo de agentes de inteligencia artificial que transformó la forma en que gestionamos la seguridad del código en la empresa.&lt;/p&gt;

&lt;p&gt;El problema que resolvimos: Los equipos de desarrollo desplegaban código sin una capa consistente de análisis de seguridad. Las revisiones manuales no escalaban, los hallazgos se perdían entre herramientas desconectadas, y no existía trazabilidad centralizada de las vulnerabilidades detectadas.&lt;/p&gt;

&lt;p&gt;La solución: 4 agentes de IA especializados, orquestados por GitHub Actions y conectados a Jira.&lt;/p&gt;

&lt;p&gt;🧠 Cada agente usa Google Gemini (Vertex AI) como motor de razonamiento, pero no se limita a "preguntar a la IA". Integra herramientas de análisis estático de referencia en la industria (Semgrep, Trivy, detect-secrets) y usa la IA para triar, contextualizar y generar remediaciones accionables.&lt;/p&gt;

&lt;p&gt;Los agentes en acción:&lt;/p&gt;

&lt;p&gt;🔐 PR Security Analyzer — Analiza cada Pull Request buscando fallas OWASP Top 10, secretos expuestos y bugs lógicos. El desarrollador recibe feedback de seguridad antes de mergear.&lt;/p&gt;

&lt;p&gt;🐳 Dockerfile Security Analyzer — Audita contenedores en cada PR. Propone builds multi-stage, ejecución non-root y optimizaciones específicas para AWS ECS Fargate.&lt;/p&gt;

&lt;p&gt;📦 Dependency Vulnerability Analyzer — Escanea lockfiles de cualquier lenguaje (Node, Python, Go, Ruby, PHP). Diferencia entre dependencias directas y transitivas para no bloquear builds innecesariamente.&lt;/p&gt;

&lt;p&gt;🔒 Production Security Scanner — Escaneo profundo programado (cron semanal) o a demanda. Combina 3 herramientas + triaje con Gemini Flash + análisis de explotación con Gemini Pro. Genera reportes completos con código de remediación.&lt;/p&gt;

&lt;p&gt;La parte que más valor genera: la automatización de Jira 🎫&lt;/p&gt;

&lt;p&gt;No alcanza con detectar vulnerabilidades — hay que gestionarlas. Implementé un flujo inteligente donde:&lt;/p&gt;

&lt;p&gt;✅ Si el escáner encuentra vulnerabilidades → crea un ticket en el tablero de Jira con enlace directo al Issue de GitHub ✅ Si las vulnerabilidades persisten en el próximo escaneo → actualiza el ticket existente (sin duplicados) ✅ Si el equipo resolvió todas las vulnerabilidades → el ticket se cierra automáticamente con transición al estado RESUELTO&lt;/p&gt;

&lt;p&gt;Cero intervención manual. Ciclo de vida 100% autónomo.&lt;/p&gt;

&lt;p&gt;Lo que viene: Drift Detection Agent 🧭&lt;/p&gt;

&lt;p&gt;Estamos diseñando un agente de drift de seguridad que compara líneas base entre escaneos. ¿Apareció una nueva CVE que antes no estaba? ¿Un fix anterior reapareció como regresión? ¿Cambió una configuración de seguridad sin aprobación? El drift agent lo detecta y alerta automáticamente cuando el delta supera un umbral definido.&lt;/p&gt;

&lt;p&gt;Stack técnico: Google Vertex AI · Gemini Flash &amp;amp; Pro · GitHub Actions · Semgrep · Trivy · detect-secrets · Jira Cloud API · Google Chat Webhooks · Workload Identity Federation (GCP) · Node.js&lt;/p&gt;

&lt;p&gt;Impacto medible: 📉 Reducción del tiempo de detección de vulnerabilidades de días a minutos 📊 Tablero SECOP centralizado con visibilidad ejecutiva 🔄 Ciclo de vida de incidentes completamente automatizado 🛡️ Cobertura de seguridad en cada PR, cada Dockerfile, cada dependencia y cada repositorio en producción&lt;/p&gt;

&lt;p&gt;Flujo 1: Pipeline de Seguridad en Pull Requests&lt;/p&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fnltpgyt8xzu4q5u3swkx.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fnltpgyt8xzu4q5u3swkx.jpg" alt=" " width="800" height="152"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Flujo 2: Escaneo de Producción + Jira Automation&lt;/p&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fs97t7djoc6rei8ooe43q.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fs97t7djoc6rei8ooe43q.jpg" alt=" " width="458" height="930"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Flujo 3: Drift Detection Agent (Próxima Fase)&lt;/p&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F7h3q3zfg9mq40566z7rt.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F7h3q3zfg9mq40566z7rt.jpg" alt=" " width="514" height="915"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title># ECS vs Kubernetes</title>
      <dc:creator>Adrian</dc:creator>
      <pubDate>Tue, 14 Apr 2026 14:25:05 +0000</pubDate>
      <link>https://dev.to/eydrian/-ecs-vs-kubernetes-1hj1</link>
      <guid>https://dev.to/eydrian/-ecs-vs-kubernetes-1hj1</guid>
      <description>&lt;p&gt;No toda plataforma de contenedores necesita la complejidad operativa de &lt;code&gt;Kubernetes&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Cuando el objetivo es desplegar aplicaciones de forma rapida, segura y con bajo overhead operativo, &lt;code&gt;Amazon ECS&lt;/code&gt; suele ofrecer una relacion mucho mas simple entre valor y esfuerzo:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Menor complejidad de operacion y mantenimiento.&lt;/li&gt;
&lt;li&gt;Integracion nativa con servicios de &lt;code&gt;AWS&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Curva de aprendizaje mas corta para equipos pequenos o medianos.&lt;/li&gt;
&lt;li&gt;Menos componentes que administrar.&lt;/li&gt;
&lt;li&gt;Menor tiempo de puesta en marcha.&lt;/li&gt;
&lt;li&gt;Muy buena opcion para workloads HTTP, APIs internas, backends y procesos batch.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;Kubernetes&lt;/code&gt; sigue siendo una excelente alternativa cuando hay requerimientos claros de portabilidad, ecosistemas multi-cluster complejos, operadores avanzados o estandares de plataforma muy maduros. Pero no deberia ser la eleccion por default.&lt;/p&gt;

&lt;p&gt;La mejor decision no es "usar la tecnologia mas popular", sino elegir la que resuelve el problema con la menor friccion operativa posible.&lt;/p&gt;

&lt;h2&gt;
  
  
  Beneficios De Usar ECS
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Menos carga operativa
&lt;/h3&gt;

&lt;p&gt;Con &lt;code&gt;ECS&lt;/code&gt; el equipo puede enfocarse mas en la aplicacion y menos en administrar el orquestador. En muchos casos no hace falta ocuparse de:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;upgrades del control plane&lt;/li&gt;
&lt;li&gt;administracion de etcd&lt;/li&gt;
&lt;li&gt;networking avanzado entre multiples componentes&lt;/li&gt;
&lt;li&gt;capas extra de observabilidad y add-ons solo para que el cluster funcione bien&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Si ademas se usa &lt;code&gt;AWS Fargate&lt;/code&gt;, tambien se elimina la administracion de nodos.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Mejor alineacion con AWS
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;ECS&lt;/code&gt; se integra de forma natural con:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Application Load Balancer&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;CloudWatch&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;IAM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ECR&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Auto Scaling&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Secrets Manager&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;VPC&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Eso simplifica mucho el diseño de una plataforma estandar para publicar servicios.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Menor costo de complejidad
&lt;/h3&gt;

&lt;p&gt;Muchas veces el costo mas alto no esta en la infraestructura sino en la complejidad operativa:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;mas piezas para aprender&lt;/li&gt;
&lt;li&gt;mas riesgos de configuracion&lt;/li&gt;
&lt;li&gt;mas tiempo para diagnosticar incidentes&lt;/li&gt;
&lt;li&gt;mas esfuerzo de onboarding&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Si el caso de uso no necesita las capacidades avanzadas de &lt;code&gt;Kubernetes&lt;/code&gt;, ese costo no siempre se justifica.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Time to market mas rapido
&lt;/h3&gt;

&lt;p&gt;Para equipos que quieren publicar microservicios o aplicaciones internas con rapidez, &lt;code&gt;ECS&lt;/code&gt; permite construir una plataforma repetible con menos decisiones tecnicas y menos puntos de falla.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Escala suficiente para muchisimos casos reales
&lt;/h3&gt;

&lt;p&gt;Existe una idea comun de que "si hay contenedores, entonces tiene que haber Kubernetes". En la practica, muchisimas cargas productivas funcionan perfectamente sobre &lt;code&gt;ECS&lt;/code&gt;, especialmente cuando:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;el entorno ya vive mayormente en &lt;code&gt;AWS&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;el equipo prioriza simplicidad&lt;/li&gt;
&lt;li&gt;no existe necesidad real de portabilidad multi-cloud&lt;/li&gt;
&lt;li&gt;los servicios comparten patrones de despliegue similares&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  6. Infraestructura y despliegues mas predecibles
&lt;/h3&gt;

&lt;p&gt;Cuando la infraestructura se define como codigo y los despliegues se automatizan con &lt;code&gt;GitHub Actions&lt;/code&gt;, el beneficio no es solo tecnico: tambien mejora la forma de operar del equipo.&lt;/p&gt;

&lt;p&gt;Esto aporta:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;entornos repetibles y versionados&lt;/li&gt;
&lt;li&gt;menor riesgo de configuraciones manuales inconsistentes&lt;/li&gt;
&lt;li&gt;trazabilidad completa de cambios&lt;/li&gt;
&lt;li&gt;revisiones por pull request antes de modificar infraestructura o aplicaciones&lt;/li&gt;
&lt;li&gt;despliegues mas rapidos y estandarizados&lt;/li&gt;
&lt;li&gt;menos dependencia de pasos manuales y conocimiento tribal&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;La combinacion de &lt;code&gt;ECS&lt;/code&gt; + &lt;code&gt;Terraform&lt;/code&gt; + &lt;code&gt;GitHub Actions&lt;/code&gt; permite construir una plataforma simple de entender y facil de escalar operativamente.&lt;/p&gt;

&lt;h2&gt;
  
  
  Cuando ECS Tiene Mucho Sentido
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;ECS&lt;/code&gt; suele ser una decision muy solida para:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;APIs y backends de negocio&lt;/li&gt;
&lt;li&gt;aplicaciones internas&lt;/li&gt;
&lt;li&gt;microservicios HTTP&lt;/li&gt;
&lt;li&gt;workers y jobs programados&lt;/li&gt;
&lt;li&gt;equipos de plataforma pequenos o en crecimiento&lt;/li&gt;
&lt;li&gt;organizaciones que quieren estandarizar despliegues sin operar una plataforma demasiado compleja&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Cuando Kubernetes Puede Ser Mejor
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;Kubernetes&lt;/code&gt; puede ser la mejor opcion cuando hay necesidades concretas como:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;portabilidad fuerte entre clouds o datacenters&lt;/li&gt;
&lt;li&gt;ecosistema basado en operadores, CRDs o service mesh avanzado&lt;/li&gt;
&lt;li&gt;requerimientos de plataforma multi-tenant mas sofisticados&lt;/li&gt;
&lt;li&gt;estandarizacion corporativa ya consolidada sobre Kubernetes&lt;/li&gt;
&lt;li&gt;equipos con experiencia profunda administrando clusters y sus componentes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;La clave es que esas necesidades sean reales, no asumidas.&lt;/p&gt;

</description>
      <category>architecture</category>
      <category>aws</category>
      <category>devops</category>
      <category>kubernetes</category>
    </item>
    <item>
      <title>how to launch elastic cache with terraform</title>
      <dc:creator>Adrian</dc:creator>
      <pubDate>Mon, 27 Nov 2023 22:42:56 +0000</pubDate>
      <link>https://dev.to/eydrian/how-to-launch-elastic-cache-with-terraform-24c4</link>
      <guid>https://dev.to/eydrian/how-to-launch-elastic-cache-with-terraform-24c4</guid>
      <description>&lt;p&gt;A developer from the compañy I work asked me about the posibility of adding a new database for a new requirement. After asking some question about what he needs to do, we decided to moved to elastic cache. &lt;/p&gt;

&lt;p&gt;First.&lt;br&gt;
we need to crete a security group to permit port 6379&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;resource "aws_security_group" "allow_cache" {
  name        = "allow_cache-${local.app_name}-${terraform.workspace}"
  description = "Allow cache inbound traffic"
  vpc_id      = var.vpc-id

  ingress {
    description      = "cache from VPC"
    from_port        = 6379
    to_port          = 6379
    protocol         = "tcp"
    cidr_blocks      = [var.allowed_cidr_block-1]
   }

  egress {
    from_port        = 0
    to_port          = 0
    protocol         = "-1"
    cidr_blocks      = ["0.0.0.0/0"]
   }

  tags = {
    Name = "allow_cache"
  }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Lambda role&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;resource "aws_iam_role" "lambda_vpc_role" {
  name = "lambda-vpc-role-${local.app_name}-${terraform.workspace}"
  assume_role_policy = jsonencode({
    Version = "2012-10-17"
    Statement = [
      {
        Action = "sts:AssumeRole"
        Effect = "Allow"
        Principal = {
          Service = "lambda.amazonaws.com"
        }
      }
    ]
  })
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;attachmet&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;resource "aws_iam_role_policy_attachment" "lambda_vpc_role_policy" {
  policy_arn = "arn:aws:iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole"
  role       = aws_iam_role.lambda_vpc_role.name
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Cluster elastic cache with output&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;resource "aws_elasticache_cluster" "hr_cache" {
  cluster_id           = "clusterforlambdatest-${local.app_name}-${terraform.workspace}"
  engine               = "redis"
  node_type            = "cache.t4g.micro"
  num_cache_nodes      = 1
  port                 = 6379
  #engine_version       = "3.2.10"
  subnet_group_name    = aws_elasticache_subnet_group.subnet-sg.id
  security_group_ids   = [aws_security_group.allow_cache.id]
    tags = {
    nombre  = "hr_cache"
    deploy  = "terraform"
  }
}


output "elasticache_endpoint" {
  value = aws_elasticache_cluster.hr_cache.cache_nodes.0.address
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;all code here:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;resource "aws_security_group" "allow_cache" {
  name        = "allow_cache-${local.app_name}-${terraform.workspace}"
  description = "Allow cache inbound traffic"
  vpc_id      = var.vpc-id

  ingress {
    description      = "cache from VPC"
    from_port        = 6379
    to_port          = 6379
    protocol         = "tcp"
    cidr_blocks      = [var.allowed_cidr_block-1]
   }

  egress {
    from_port        = 0
    to_port          = 0
    protocol         = "-1"
    cidr_blocks      = ["0.0.0.0/0"]
   }

  tags = {
    Name = "allow_cache"
  }
}


resource "aws_iam_role" "lambda_vpc_role" {
  name = "lambda-vpc-role-${local.app_name}-${terraform.workspace}"
  assume_role_policy = jsonencode({
    Version = "2012-10-17"
    Statement = [
      {
        Action = "sts:AssumeRole"
        Effect = "Allow"
        Principal = {
          Service = "lambda.amazonaws.com"
        }
      }
    ]
  })
}

resource "aws_iam_role_policy_attachment" "lambda_vpc_role_policy" {
  policy_arn = "arn:aws:iam::aws:policy/service-role/AWSLambdaVPCAccessExecutionRole"
  role       = aws_iam_role.lambda_vpc_role.name
}


#resource "aws_subnet" "example" {
#  vpc_id     = aws_vpc.example.id
#  cidr_block = "10.0.0.0/8"
#
#  tags = {
#    Name = "my-subnet"
#  }
#}

resource "aws_elasticache_subnet_group" "subnet-sg" {
  name       = "my-cache-subnet"
  subnet_ids = [var.subnet-t-app-net]
}



resource "aws_elasticache_cluster" "hr_cache" {
  cluster_id           = "clusterforlambdatest-${local.app_name}-${terraform.workspace}"
  engine               = "redis"
  node_type            = "cache.t4g.micro"
  num_cache_nodes      = 1
  port                 = 6379
  #engine_version       = "3.2.10"
  subnet_group_name    = aws_elasticache_subnet_group.subnet-sg.id
  security_group_ids   = [aws_security_group.allow_cache.id]
    tags = {
    nombre  = "hr_cache"
    deploy  = "terraform"
  }
}


output "elasticache_endpoint" {
  value = aws_elasticache_cluster.hr_cache.cache_nodes.0.address
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;in order to test this, we can install a tool called redis comander&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;redis-commander --redis-host clusterforlambdatest-xxxx-prd.xxxxxxxxxx.cache.amazonaws.com
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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%2Ff9ms66cjrnvk5fh05n20.png" 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%2Ff9ms66cjrnvk5fh05n20.png" alt="redis cluster"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If we are saving data correctly into the Elastic Cache, we can see it here.&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
