Cloud Native Platform Engineering Architectures - Armando Alexis Herra Cortez
kcdguadalajara
25 views
31 slides
Apr 03, 2025
Slide 1 of 31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
About This Presentation
Have you ever wondered how Platform Engineering Architectures are created?
How do you make this Architecture Cloud-Native?
How and why should an organization leverage a Cloud-Native Platform Engineering Architecture?
Let´s learn more about Platform Engineering and the Cloud-Native Ecosystem in thi...
Have you ever wondered how Platform Engineering Architectures are created?
How do you make this Architecture Cloud-Native?
How and why should an organization leverage a Cloud-Native Platform Engineering Architecture?
Let´s learn more about Platform Engineering and the Cloud-Native Ecosystem in this talk!
Size: 4.21 MB
Language: es
Added: Apr 03, 2025
Slides: 31 pages
Slide Content
Diapositiva de bienvenida
Creando Arquitecturas
para Platform
Engineering en AWS
Mi nombre es Armando Herra, soy un
Systems Architect @ EPAM Systems
Soy un apasionado de la tecnología y del
cloud computing.
Mi stack principal es la Nube, IaC &
Kubernetes.
¿Quieres ponerte en contacto conmigo?
Mis detalles están al final de la
presentación, gracias por estar aquí.
Diseño del programa
01Introducción a
Platform Engineering
05Comenzando a diseñar un
Stack para Platform
Engineering
02¿Por qué es difícil crear
una Plataforma
Moderna?
06Servicios de AWS útiles
para una Solución de
Platform Engineering
03Patrones de Diseño
para Platform
Engineering
07Ejemplo de una
Arquitectura para Platform
Engineering en AWS
04Prerrequisitos
importantes para
diseñar una
Plataforma Moderna
01: Introducción a
Platform
Engineering
Introducción a Platform
Engineering
•¿Qué es Platform Engineering?
•¿Para qué nos sirve Platform
Engineering?
•¿Qué es un Internal Developer
Platform?
•¿Qué tan diferente es Platform
Engineering a DevOps o Site
Reliability Engineering?
Una base de APIs de
autoservicio, herramientas,
servicios, conocimiento y
soporte, organizados como
un producto interno
atractivo.
Evan Bottcher
Cita obtenida de su artículo en martinfowler.com
¿Qué es Platform Engineering?
¿Para qué nos sirve el Platform
Engineering?
•Estandarizar el tech stack
•Hacer más eficiente el desarrollo
de aplicaciones en empresas
grandes
•Mejorar la experiencia del
desarrollador (DevEx)
•Aportar valor al negocio
•Y más...
Un IDP o Plataforma Interna de
Desarrollador es un "producto" que
toma la forma de una interfaz de
usuario que le permite al
desarrollador acceder a
herramientas, administrar sus
aplicaciones, crear despliegues y
más.
Es un componente de la plataforma
completa.
¿Qué es un Internal Developer Platform (IDP)?
•Hoy en día un DevOps Engineer se asocia más a
un ingeniero trabajando en temas de CI/CD
(Pipelines) y Despliegues de aplicaciones.
•Un Site Reliability Engineer se enfoca mucho en
temas de monitoreo, observabilidad, la fiabilidad
de la infraestructura y los servicios y trabajan
con SLA's, SLO's y SLI's, etc.
•Un Platform Engineer crea herramientas y
abstracciones que utilizan los desarrolladores y
otros ingenieros de plataforma, automatizando
procesos de infraestructura, etc.
¿Qué tan diferente es Platform
Engineering a DevOps o Site Reliability
Engineering?
02: ¿Por qué es difícil crear una
Plataforma Moderna?
¿Por qué es difícil crear una
Plataforma Moderna?
Se necesita personal
especializado para
mantener la solución a
largo plazo.
Hay muchas partes
involucradas en la
creación de una
plataforma para
uso productivo y a
gran escala
Se necesita una
interfaz y una
colección de
herramientas
para tus
necesidades
Intentan crear la
"Plataforma
Perfecta" desde
el día 1.
Crear una
solución
multi-cloud o
cloud-agnostic
aumenta la
complejidad
¿Por qué es difícil crear
una Plataforma
Moderna?
•Escoger un stack adecuado para
las necesidades de la empresa es
lo más difícil.
•Configurar varias herramientas
para cada parte del stack
también contiene su propia
complejidad, especialmente si
piensas ofrecer algunas de estas
características para más
infraestructura usando un
modelo de Cluster as a Service*
por dar un ejemplo.
•* Ver sección de Patrones de
Diseño para más contexto.
¿Quién necesita una Solución de
Platform Engineering?
NUESTRO EJEMPLO SOBRE EL QUE NOS
BASAREMOS PARA EXPLICAR LOS TEMAS DE HOY
Business Case: XYZ Corp es una empresa de TI
global especializada en ofrecer servicios SaaS
(Software as a Service) de diferentes tipos para
múltiples industrias. La empresa emplea a más de
5,000 empleados y tiene un departamento de
tecnología de 2,000 miembros.
La infraestructura de XYZ Corp abarca varios
entornos en la Nube de AWS, soportando al día de
hoy más de 500 aplicaciones* internas, desde
monolitos hasta microservicios contenerizados.
La empresa quiere modernizar su forma de trabajar
en la nube. Quiere estandarizar su tech stack,
facilitar el desarrollo y mantenimiento de sus
aplicaciones así como aumentar la fiabilidad y
monitoreo de sus servicios.
03: Patrones de Diseño
para Platform
Engineering
Patrones de Diseño
para Platform
Engineering
Platform as a
Service
Cluster as a
Service
Account as a
Service
Namespace as
a Service
Template as a
Service
04: Prerrequisitos
importantes para
diseñar una
Plataforma Moderna
Prerrequisitos importantes para diseñar
una Plataforma Moderna
Hay varias cosas importantes a tomar en
cuenta para diseñar una Plataforma Moderna,
algunas de ellas son:
•Una visión y entendimiento claro del producto que buscamos crear y de
su funcionalidad.
•Definir los Requerimientos Funcionales y No Funcionales de la
plataforma que quiere el negocio.
•Detalles Técnicos sobre la Plataforma Base (Despliegue, Monitoreo y
Administración).
•Capacidades Clave de la Plataforma (GitOps, Secrets Management,
Service Mesh, etc).
•Interfaz o Método de Interacción para los Desarrolladores (GUI, CLI,
API, IDP, etc)
•Entre otras cosas…
Prerrequisitos importantes para diseñar
una Plataforma Moderna
Ejemplos de Requerimientos Funcionales y No
Funcionales
•Requerimientos Funcionales
•“La plataforma debería desplegar la infraestructura necesaria
mediante un proceso automatizado y repetible”
•“La plataforma debería soportar pipelines de CI/CD para automatizar
builds, pruebas y despliegues de aplicaciones”
•“Proveer un portal de autoservicio para que un desarrollador solicite
el tipo de aplicación e infraestructura necesaria para su aplicación”
•“La plataforma debería ofrecer capacidades de monitoreo y
observabilidad integrados en las apps y en la infraestructura que el
desarrollador solicite”
•“La plataforma debería soportar capacidad de ajustar la cantidad de
recursos requeridos bajo demanda, con métricas configurables”
•Etc…
Prerrequisitos importantes para
diseñar una Plataforma Moderna
Ejemplos de Requerimientos
Funcionales y No Funcionales
•Requerimientos No Funcionales
•Escalabilidad
•Seguridad
•Extensibilidad
•Resiliencia
•Observabilidad
•Etc…
05: Comenzando a
diseñar un Stack
para Platform
Engineering
Comenzando a diseñar un Stack para
Platform Engineering
Dentro del mundo de Platform
Engineering hay 2 tipos de stacks que
han surgido y que podemos emplear
para crear nuestra propia plataforma
interna.
•BACK Stack (https://backstack.dev/)
•Backstage, ArgoCD, Crossplane & Kyverno
•CNOE Stack (https://cnoe.io/)
•No contiene tecnologías en específico este
“stack”. El propósito de éste es ser una guía
para quien quiera crear su propia
Plataforma Interna de una forma
Cloud-Native
Comenzando a diseñar un Stack para
Platform Engineering
Comenzando a diseñar un Stack para
Platform Engineering
CNOE Stack:
•Operation
•Developer Portal: Backstage
•Identity and Access: Keycloack
•Infra as Code: CloudFormation & Terraform
•Continuous Delivery: ArgoCD
•Workflow Orchestration: Argo Workflows
•Service Discovery: Cilium Service Mesh + Istio
•Observability: Datadog
•Secrets Management: AWS Secrets Manager
•Validation: Kubernetes Admission Control
•Compute Platform: Kubernetes
05: Servicios de AWS útiles
para una Solución de
Platform Engineering
Servicios de AWS útiles para una Solución de
Platform Engineering
AWS Proton
Amazon Elastic Container
Registry (Amazon ECR)
Amazon Elastic Kubernetes
Service (Amazon EKS)
Amazon CloudWatch
AWS Service Catalog
Amazon Route 53
Amazon Virtual Private
Cloud (Amazon VPC)
AWS Secrets Manager
Amazon Relational
Database Service
(Amazon RDS)
Amazon ElastiCache
AWS Organizations
AWS Command Line
Interface (AWS CLI)
AWS Tools
and SDKs
Amazon Simple Storage
Service (Amazon S3)
Amazon Elastic File System
(Amazon EFS)
Amazon Simple Queue
Service (Amazon SQS)
07: Ejemplo de una
Arquitectura para
Platform Engineering
Ejemplo de una Arquitectura para Platform
Engineering
Gracias!
●linkedin.com/in/armandoherra
Información Extra
Información Extra
●Why Gartner recommends Platform Engineering
and building Internal Developer Platforms
●Internal Developer Platform vs. Internal
Developer Portal
●What is platform engineering? (Microsoft)
●What is a Minimum Viable Platform (MVP)?
●Internal Developer Platforms: The Heart of
Platform Engineering
●What is an Internal Developer Platform (IDP)?
●Cloud Native Operational Excellence (CNOE)