Introducción al curso

1

Fundamentos de Cloud Computing para Desarrolladores y Empresas

2

Aplicación de Billetera Virtual: Conceptos y Funcionalidades Básicas

Cómo entender la nube

3

Conceptos Básicos de Servidores y Almacenamiento en la Nube

4

Tipos de Bases de Datos en la Nube: Relacional, No Relacional y Más

5

Infraestructura como Código y Microservicios en la Nube

6

Comparación entre On-Premises y Nube para Aplicaciones Empresariales

Introducción a Cloud Computing / Nube

7

Introducción a Cloud Computing: Conceptos y Beneficios de la Nube

8

Ventajas de Usar Cloud Computing para Empresas y Desarrolladores

9

Cambios al Implementar Platzi Wallet en la Nube

10

Infraestructura Global en la Nube: Regiones y Zonas de Disponibilidad

11

Modelos de Nube: Privada, Pública, Híbrida y Multinube

Conceptos de Cloud Computing / Nube

12

Conceptos y Beneficios de Cloud Native en Desarrollo de Aplicaciones

13

Arquitectura Cloud Native: Construcción de Aplicaciones Escalables

14

Arquitectura Serverless: Ventajas y Retos en Cloud Computing

15

Componentes clave en arquitecturas serverless

16

Patrón síncrono en arquitecturas serverless con Platzi Wallet

17

Principales Proveedores de Servicios Cloud y Sus Ventajas

Multi-Nube

18

Tipos de Lock-in en Arquitectura de Nube

19

Estrategias de Multinube: Cómo Elegir y Optimizar Proveedores de Nube

Modelos de servicio en Cloud Computing / Nube

20

Modelos de Servicio en la Nube: IaaS, PaaS y SaaS

Características de una arquitectura en Cloud Computing /Nube

21

Alta Disponibilidad y Tolerancia a Fallos en Arquitectura de Nube

22

Escalabilidad en la Nube: Vertical vs Horizontal y Alta Disponibilidad

Construyendo nuestra arquitectura

23

Diagramación de Arquitectura Agnóstica para Aplicaciones

24

Arquitectura de Servidores para Escalabilidad y Alta Disponibilidad

25

Arquitectura de Aplicaciones con Contenedores y Kubernetes

26

Arquitectura Serverless: Diseño y Escalabilidad de Funciones

27

Conceptos Clave de Arquitectura en la Nube

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Curso de Introducción a la Nube

Curso de Introducción a la Nube

Carlos Andrés Zambrano Barrera

Carlos Andrés Zambrano Barrera

Infraestructura como Código y Microservicios en la Nube

5/27
Recursos

¿Por qué es crucial la infraestructura como código?

Con el crecimiento de las aplicaciones en la nube, los conceptos de infraestructura como código se vuelven esenciales para los profesionales del mundo DevOps. Imagina que puedes desplegar toda la infraestructura de tu aplicación Platzi Wallet solo a través de código, lo que te permitirá automatizar, escalar y reutilizar fácilmente cada componente. La infraestructura como código ofrece múltiples beneficios, tales como:

  • Reutilización y colaboración: Puedes compartir un template de código con tus colegas para que desplieguen su propia infraestructura.
  • Recuperación ante desastres: Facilita la creación de copias de seguridad y el despliegue en diferentes nubes.
  • Herramientas populares: AWS CloudFormation, Google Cloud Deployment Manager y Azure ARM Templates, además de herramientas agnósticas como Pulumi y Terraform.

Utilizar estas herramientas te ahorrará tiempo y te guiará hacia las mejores prácticas en el mundo de la nube.

¿Qué son las funciones serverless y cuál es su importancia?

Las funciones serverless revolucionan la forma en que manejamos código en la nube. Aunque estas funciones se ejecutan en servidores, la carga administrativa es manejada por el proveedor, permitiendo que los desarrolladores se concentren más en el desarrollo que en el mantenimiento.

  • Función serverless: Ejecuta código bajo demanda sin preocuparse por la infraestructura.
  • Ejemplo de uso: En Platzi Wallet, una selfie tomada por un usuario puede ser automáticamente procesada y convertida en miniatura gracias a una función serverless.
  • Servicios destacados: AWS Lambda, Azure Functions y Google Cloud Functions.

Desarrollar para estas funciones requiere una mentalidad diferente, pero ofrece flexibilidad y eficiencia sin precedentes.

¿Cómo revolucionan los contenedores Docker el desarrollo en la nube?

Los contenedores Docker permiten ejecutar aplicaciones de forma aislada y portable, asegurando que funcionen de manera consistente en cualquier entorno. Estos contenedores reúnen todo lo necesario para que una aplicación funcione de manera efectiva.

  • Portabilidad: Una vez creado el contenedor, puede ejecutarse en cualquier sistema compatible con Docker.
  • Independencia: Cada contenedor es autónomo, permitiendo ejecutar múltiples contenedores en un solo servidor.
  • Integración con microservicios: Los contenedores son fundamentales para la arquitectura de microservicios.

¿Qué son los microservicios y cómo benefician a aplicaciones como Platzi Wallet?

Una aplicación construida sobre microservicios facilita el desarrollo, el mantenimiento y la escalabilidad. Cada microservicio realiza una función específica y se comunica con otros servicios, lo que permite una modularidad y flexibilidad excepcionales.

  • Ejemplos en Platzi Wallet:
    • Microservicio de pagos: Procesa transacciones y se comunica con el microservicio de consulta de saldo.
    • Microservicio de suscripciones: Administra pagos recurrentes para servicios como Netflix.
    • Microservicio de QR: Genera y escanea códigos QR para facilitar pagos.

Adoptar microservicios permite que equipos independientes trabajen simultáneamente en diferentes componentes de la aplicación, optimizando recursos y acelerando tiempos de desarrollo.

La infraestructura como código, las funciones serverless, los contenedores Docker y los microservicios son pilares en el desarrollo moderno en la nube. Comprender su aplicación práctica, como en Platzi Wallet, te prepara para ser un valioso actor en el mundo tech actual. ¡Sigue aprendiendo y ampliando tus habilidades en esta fascinante área!

Aportes 27

Preguntas 9

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

-Infraestructura como código: Permite gestionar y desplegar la infraestructura en un proveedor de servicios de nube a través de código, en vez de hacerlo con procesos manuales.

-Función: Es un entorno de ejecución serverless para ejecutar código sin la necesidad de administrar un servidor.

**-Contenedor Docker: ** Contenedor ejecutable, independiente que tiene todo lo necesario para ejecutar una aplicación.

-Microservicio: Un concepto en el cual una aplicación se construye como una serie de pequeños servicios.

  • Funciones (Computación sin servidor): Las funciones, también conocidas como computación sin servidor (serverless), son unidades de ejecución de código que se activan en respuesta a eventos específicos, como solicitudes HTTP, cambios en bases de datos, cargas de archivos, entre otros.
  • Microservicios: En lugar de construir una aplicación monolítica única, los microservicios dividen la funcionalidad en componentes más pequeños e independientes, conocidos como microservicios. Cada microservicio es responsable de una tarea específica y se ejecuta de manera autónoma. Los microservicios también ofrecen la ventaja de permitir actualizaciones y despliegues independientes de cada componente, lo que agiliza el ciclo de desarrollo.
  • Contenedores: Los contenedores son entornos aislados y ligeros que encapsulan una aplicación y sus dependencias, incluidas bibliotecas y configuraciones, en un único paquete. Utilizan tecnologías como Docker para asegurarse de que la aplicación se ejecute de manera consistente en diferentes entornos, independientemente de las diferencias entre sistemas operativos o configuraciones subyacentes.

Conceptos de básicos de la nube:

  • INFRAESTRUCTURA COMO CÓDIGO: Permite gestionar y desplegar la infraestructura en un proveedor de servicios de nube a través de código, en vez de hacerlo por procesos manuales. El servidor que vamos a desplegar con su almacenamiento base de datos para PlatziWalet lo vamos a construir a través de código. La infraestructura la debemos pensar como código. Podemos re-utilizarla (templates).

  • FUNCIÓN: es un entorno de ejecución SERVERLESS para ejecutar código sin la necesidad de administrar un servidor. EL CLOUD PROVIDE se encarga de la administración y nos provee la función. AWS (lambda functions), AZURE (azure functions), GOOGLE CLOUD (cloud function). Aprender a desarrollar basado en funciones.
    La función siempre está dormida hasta que un evento la dispara. Evento: suben foto usuario, entonces función minimiza foto.

  • CONTENEDOR DOCKER: contenedor ejecutable, independiente que tiene todo lo necesario para ejecutar una aplicación.

  • MICROSERVICIO: un concepto en el cual una aplicación se construye como una serie de pequeños servicios. Ejemplo: microservicio de pagos. Este microservicio de “pagos” se tiene que conectar con otro microservicio de “consulta del saldo”. Microservicios de PlatziWalet: pagos y cobros (pago a personas), formulario y promoción (suscripciones y pagos), generar y escanear (código QR), recarga y retiro (retiro y consignación).

En AWS, las funciones son unidades de código que se ejecutan en respuesta a un evento. Las funciones pueden ser utilizadas para implementar microservicios, tareas cron, procesamiento de eventos, y mucho más.

En el contexto de los microservicios, las funciones se pueden utilizar para implementar la lógica de negocio de un microservicio. Las funciones pueden ser escritas en una variedad de lenguajes de programación, incluidos Python, Java, Node.js, y Go.

Características de las funciones en AWS

Las funciones en AWS tienen las siguientes características:

  • Independientes: Las funciones son independientes entre sí, lo que significa que pueden ejecutarse de forma independiente.
  • Event-driven: Las funciones se ejecutan en respuesta a un evento.
  • Escalables: Las funciones se pueden escalar de forma automática para adaptarse al tráfico.
  • Costo por uso: Las funciones solo se cobran cuando se ejecutan.

Beneficios de las funciones en AWS

Las funciones en AWS ofrecen una serie de beneficios, entre los que se incluyen:

  • Flexibilidad: Las funciones pueden ser utilizadas para implementar una variedad de tareas.
  • Escalabilidad: Las funciones se pueden escalar de forma automática para adaptarse al tráfico.
  • Costo por uso: Las funciones solo se cobran cuando se ejecutan.

Ejemplo de función en AWS

Un ejemplo de función en AWS es una función que se ejecuta en respuesta a una solicitud HTTP. Esta función podría utilizarse para implementar un microservicio que proporciona información sobre un producto.

Conclusión

Las funciones son una herramienta poderosa que se puede utilizar para implementar microservicios y otras tareas en AWS. Las funciones son independientes, escalables y rentables.

Funciones en microservicios AWS

Las funciones se pueden utilizar en microservicios AWS de varias maneras. Una forma común de utilizar funciones es para implementar la lógica de negocio de un microservicio. Por ejemplo, una función podría utilizarse para procesar una solicitud de pago o para generar un informe.

Otra forma de utilizar funciones es para implementar tareas cron. Las tareas cron se ejecutan de forma periódica, lo que las hace ideales para tareas como la actualización de datos o el envío de correos electrónicos.

Las funciones también se pueden utilizar para procesar eventos. Los eventos son desencadenados por acciones externas, como la creación de un nuevo usuario o la actualización de un producto. Las funciones se pueden utilizar para procesar estos eventos y tomar las medidas adecuadas.

Herramientas y servicios de AWS para funciones

AWS ofrece una variedad de herramientas y servicios para ayudar a los desarrolladores a crear y administrar funciones. Estas herramientas incluyen:

  • AWS Lambda: AWS Lambda es un servicio de computación sin servidor que permite a los desarrolladores ejecutar código sin tener que preocuparse por la administración de servidores.
  • AWS API Gateway: AWS API Gateway es un servicio que permite a los desarrolladores crear y administrar APIs.
  • AWS CodePipeline: AWS CodePipeline es un servicio que automatiza el flujo de trabajo de desarrollo, implementación y lanzamiento.
  • AWS CodeDeploy: AWS CodeDeploy es un servicio que automatiza el despliegue de aplicaciones en producción.

Conclusiones

Las funciones son una herramienta poderosa que se puede utilizar en microservicios AWS para implementar una variedad de tareas. Las funciones son independientes, escalables y rentables.

No ubico el curso terraform que menciona, alguién lo esta llevando? Gracias!

En AWS, un microservicio es un componente independiente de una aplicación que se ejecuta en su propio proceso y se comunica con otros microservicios a través de una API. Los microservicios son una forma de organizar el software en unidades pequeñas y modulares que son fáciles de desarrollar, implementar y escalar.

En AWS, los microservicios se pueden implementar en una variedad de servicios, incluidos Amazon ECS, Amazon EC2, Amazon Lambda y Amazon Elastic Beanstalk. AWS también ofrece una variedad de herramientas y servicios para ayudar a los desarrolladores a crear y administrar microservicios, como Amazon API Gateway, AWS CodePipeline y AWS CodeDeploy.

Características de los microservicios en AWS

Los microservicios en AWS tienen las siguientes características:

  • Independencia: Los microservicios son independientes entre sí, lo que significa que pueden desarrollarse, implementarse y escalarse de forma independiente.
  • Cohesión: Los microservicios están diseñados para realizar una única función o tarea.
  • Comunicación: Los microservicios se comunican entre sí a través de APIs.
  • Escalabilidad: Los microservicios se pueden escalar de forma independiente, lo que permite que las aplicaciones se adapten al tráfico fluctuante.

Beneficios de los microservicios en AWS

Los microservicios en AWS ofrecen una serie de beneficios, entre los que se incluyen:

  • Mejor flexibilidad: Los microservicios permiten a los desarrolladores implementar cambios en partes específicas de una aplicación sin afectar a otras partes.
  • Mejor escalabilidad: Los microservicios se pueden escalar de forma independiente, lo que permite que las aplicaciones se adapten al tráfico fluctuante.
  • Mejor mantenibilidad: Los microservicios son más fáciles de mantener que las aplicaciones monolíticas, ya que cada microservicio es una unidad independiente.

Ejemplo de microservicio en AWS

Un ejemplo de microservicio en AWS es un servicio de procesamiento de pagos. Este servicio podría implementarse como un contenedor de Docker que se ejecuta en Amazon ECS. El servicio se comunicaría con otros microservicios, como un servicio de autenticación y un servicio de inventario, a través de APIs.

Conclusión

Los microservicios son una forma eficaz de organizar el software en AWS. Los microservicios ofrecen una serie de beneficios, entre los que se incluyen la flexibilidad, la escalabilidad y la mantenibilidad.

### Microservicios Los microservicios son una arquitectura de software que estructura una aplicación como un conjunto de servicios pequeños, independientes y comunicantes. Cada microservicio es responsable de una funcionalidad específica y se puede desplegar y escalar de manera independiente. #### **Características Clave** * **Descentralización**: Los microservicios permiten una gestión descentralizada de datos y decisiones. * **Despliegue Independiente**: Cada microservicio puede ser desplegado de forma independiente. * **Escalabilidad**: Facilita la escalabilidad horizontal, permitiendo escalar solo las partes necesarias. * **Tolerancia a Fallos**: Aislamiento de fallos, donde un fallo en un microservicio no afecta a toda la aplicación #### **Ejemplos de Uso** * **Aplicaciones Web Escalables**: Como sitios de comercio electrónico que manejan diferentes servicios para productos, pagos y usuarios. * **Servicios Bancarios**: Que requieren modularización para diferentes operaciones como transacciones, gestión de cuentas, etc. # Funciones Las funciones, en el contexto de la computación en la nube, suelen referirse a "Functions as a Service" (FaaS). Es un modelo de ejecución sin servidor donde el código se ejecuta en respuesta a eventos y es gestionado completamente por un proveedor de nube. #### **Características** * **Ejecución Basada en Eventos**: Las funciones se activan en respuesta a eventos específicos. * **Escalado Automático**: Escalan automáticamente en función de la demanda. * **Cero Administración de Infraestructura**: Los desarrolladores solo se centran en el código y la lógica. # Contenedores Los contenedores son una tecnología de virtualización a nivel de sistema operativo que permite empaquetar una aplicación y sus dependencias en un solo artefacto, asegurando que se ejecute de manera consistente en cualquier entorno. #### **Características** * **Portabilidad**: Los contenedores pueden ejecutarse en cualquier entorno que soporte el contenedor. * **Aislamiento**: Cada contenedor se ejecuta en un entorno aislado. * **Ligereza**: Más ligeros que las máquinas virtuales, ya que comparten el kernel del SO. ### Orquestación de Contenedores * **Kubernetes**: Plataforma de orquestación de contenedores que automatiza el despliegue, escalado y operaciones de contenedores. * **Docker Swarm**: Herramienta de orquestación de Docker para gestionar clústeres de Docker. #### Funciones * **AWS Lambda**: Ejecución de código en respuesta a eventos sin necesidad de administrar servidores. * **Azure Functions**: Ejecución de scripts y aplicaciones basadas en eventos en la nube de Azure. * **Google Cloud Functions**: Funciones gestionadas y escalables en la nube de Google.
### 1. **Infraestructura como Código (IaC):** **Infraestructura como Código** se refiere a la práctica de gestionar y provisionar infraestructura de TI utilizando scripts y archivos de definición, en lugar de configurar hardware físico o utilizar interfaces gráficas para configurar servidores y sistemas. Estos scripts y definiciones están escritos en lenguajes específicos y se pueden versionar, compartir y gestionar de la misma manera que el código fuente del software. Herramientas como Terraform y AWS CloudFormation son ejemplos populares que permiten a los desarrolladores y administradores describir la infraestructura deseada y luego crearla automáticamente. ### 2. **Serverless:** **Serverless** no significa que no haya servidores, sino que los desarrolladores no necesitan preocuparse por administrar servidores subyacentes. Es un modelo de computación en la nube donde los proveedores de servicios en la nube (como AWS Lambda, Google Cloud Functions y Azure Functions) gestionan automáticamente la infraestructura para ejecutar código sin necesidad de provisionar o administrar servidores. Los desarrolladores solo necesitan cargar su código y especificar cuándo y cómo debe ejecutarse, y el proveedor de servicios se encarga del resto. Este modelo es útil para aplicaciones que tienen picos de carga intermitentes, ya que solo pagas por el tiempo que se ejecuta el código. ### 3. **Contenedores:** **Contenedores** son unidades ligeras y portátiles que encapsulan aplicaciones y sus dependencias, lo que permite ejecutarlas en cualquier entorno sin problemas. Los contenedores proporcionan una forma estandarizada y coherente de empaquetar aplicaciones y sus dependencias, lo que facilita la implementación y garantiza que una aplicación se ejecute de la misma manera en cualquier entorno. Docker es la plataforma de contenedores más popular que permite a los desarrolladores crear, implementar y ejecutar aplicaciones en contenedores. ### 4. **Microservicios:** **Microservicios** es un enfoque arquitectónico para desarrollar una aplicación como un conjunto de servicios pequeños e independientes que se comunican entre sí a través de API. Cada microservicio se centra en una tarea específica o un conjunto de tareas relacionadas. Esta arquitectura permite que las aplicaciones sean altamente escalables, flexibles y fáciles de mantener y desplegar. Cada microservicio puede ser desarrollado, desplegado y escalado de forma independiente, lo que facilita la innovación y la iteración continua en una aplicación. La comunicación entre los microservicios puede ser síncrona o asíncrona, según los requisitos específicos de la aplicación.
Me gustaría saber cuál es el curso de Terraform
No encuentro el curso de Terraform alguien sabe donde esta
Una función es un bloque de código que se ejecuta en un modelo serverless, es decir, no se gestiona el servidor, y se activa por eventos, como cargar una imagen. En cambio, un microservicio es un componente de una aplicación que realiza una función específica y se comunica con otros microservicios a través de APIs. Mientras que las funciones son más ligeras y rápidas para tareas específicas, los microservicios son más robustos y pueden manejar lógica de negocio compleja en una arquitectura distribuida.
La clase se centra en tres conceptos clave: **microservicios**, **funciones** y **contenedores**. 1. **Microservicios**: Imagina que tu aplicación es como un equipo de superhéroes, donde cada héroe (microservicio) tiene una tarea específica, como procesar pagos o gestionar usuarios. Trabajan juntos, pero cada uno es independiente. 2. **Funciones**: Piensa en las funciones como pequeños robots que se activan solo cuando los necesitas. Por ejemplo, cuando subes una foto, un robot (función) se despierta y la transforma en miniatura. Esto es *serverless*, porque no tienes que preocuparte por el servidor. 3. **Contenedores**: Son como cajas que empaquetan todo lo necesario para que tus aplicaciones funcionen en cualquier lugar. Usan Docker para que, independientemente de dónde estés, tu aplicación funcione igual. Estos conceptos te preparan para construir aplicaciones en la nube de forma eficiente.
* Infraestructura como codigo. * Permite desplegar un servicio a la nube atraves de codigo ahorrando de hacer el proceso manualmente. * Es una buena practica hacerlo porque ahorra mucho tiempo el automatizar. * Herramientas para hacerlo. * AWS. * Cloud Formation. * Google Cloud. * Cloud Manager. * Azure, * ARM templates. * Azure Bicep * Agnosticas. * Pulumi : <https://www.pulumi.com/> * Terraform. * * Funcion. * Ejecuta un proceso de mucha demanda sin requerir de administrar un servidor. * Aunque la ejecucion se haga en servidor en la nube el usuario no tendra que preocuparse de este punto. * Las funciones son ejecutadas despues que ocurre un evento. * Ejemplos * AWS. * Lambda funcions. * Azure * Azure funcions. * Google Cloud. * Cloud Funcions. * Contenedores Docker. * Es una aplicacion que tiene todo lo necesario para ejecutar y es ejecutable. * Microservicio. * Es una aplicacion que se compone de pequenos servicios. * Los pequenos servicios podrian consultar informacion de otros servicios.
## **📌 Microservicios, Funciones y Contenedores en la Nube** Las arquitecturas modernas en la nube permiten desarrollar aplicaciones escalables y eficientes mediante **microservicios, funciones serverless y contenedores**. ## **1️⃣ Microservicios 🏗️** Los **microservicios** son un enfoque de desarrollo en el que una aplicación se divide en pequeños servicios independientes que se comunican entre sí mediante APIs. ### **🔹 Características de los Microservicios** ✅ **Desacoplamiento** – Cada servicio es independiente y puede desplegarse por separado. ✅ **Escalabilidad** – Se pueden escalar individualmente según la demanda. ✅ **Desarrollo Ágil** – Facilita la implementación continua y el desarrollo paralelo. ✅ **Resiliencia** – Fallos en un servicio no afectan a toda la aplicación. ### **🔹 Servicios en AWS para Microservicios** 📌 **Amazon ECS (Elastic Container Service)** – Orquestación de contenedores. 📌 **Amazon EKS (Elastic Kubernetes Service)** – Kubernetes gestionado para microservicios. 📌 **AWS API Gateway** – Gestión de APIs para la comunicación entre microservicios. 📌 **AWS Service Mesh (App Mesh)** – Permite el enrutamiento y monitoreo de microservicios. ## **2️⃣ Funciones Serverless ⚡** El modelo **serverless** permite ejecutar código sin administrar servidores. Ideal para tareas event-driven y procesamiento en segundo plano. ### **🔹 Características del Serverless Computing** ✅ **Sin gestión de infraestructura** – AWS maneja la ejecución del código. ✅ **Escalabilidad automática** – Se ajusta a la demanda sin intervención manual. ✅ **Pago por uso** – Se cobra solo por el tiempo de ejecución del código. ### **🔹 Servicios Serverless en AWS** 📌 **AWS Lambda** – Ejecuta código en respuesta a eventos sin servidores. 📌 **Amazon EventBridge** – Integración de eventos entre aplicaciones. 📌 **AWS Step Functions** – Orquestación de funciones serverless. ## **3️⃣ Contenedores 🐳** Los **contenedores** empaquetan aplicaciones con sus dependencias para garantizar que se ejecuten de la misma manera en cualquier entorno. ### **🔹 Beneficios de los Contenedores** ✅ **Portabilidad** – Funcionan en cualquier sistema con un runtime compatible. ✅ **Eficiencia** – Uso optimizado de recursos en comparación con las máquinas virtuales. ✅ **Rápido despliegue** – Permiten el escalado y despliegue ágil. ### **🔹 Servicios de Contenedores en AWS** 📌 **Amazon ECS** – Servicio de orquestación de contenedores basado en Docker. 📌 **Amazon EKS** – Kubernetes gestionado en AWS. 📌 **AWS Fargate** – Ejecuta contenedores sin administrar servidores. 📌 **Amazon Elastic Container Registry (ECR)** – Almacenamiento de imágenes de contenedores. ## **📌 Conclusión** ✅ **Microservicios** → Ideal para arquitecturas escalables y modulares. ✅ **Funciones Serverless** → Perfecto para ejecutar tareas bajo demanda sin administrar infraestructura. ✅ **Contenedores** → Facilitan el despliegue y portabilidad de aplicaciones.
La clase se centra en los conceptos fundamentales de Cloud Computing y la arquitectura serverless, analizando cómo estos se aplican en la creación de aplicaciones como Platzi Wallet. Se introduce el concepto de infraestructura como código (IaC), que permite desplegar infraestructura en la nube mediante código, facilitando la reutilización y la gestión eficiente de recursos. Se discuten las funciones en entornos serverless, que permiten ejecutar código bajo demanda sin la necesidad de gestionar servidores directamente. Los servicios como AWS Lambda, Azure Functions y Google Cloud Functions son ejemplos de este enfoque, donde el proveedor de nube se encarga de la infraestructura subyacente. Otro concepto clave es el de los microservicios, que son componentes independientes de una aplicación que interactúan entre sí para realizar tareas específicas. Se ilustra cómo Platzi Wallet podría estar estructurada en microservicios, como pagos, consultas de saldo y generación de códigos QR, cada uno manejando una parte del flujo de trabajo. Además, se presentan los contenedores, específicamente Docker, como una herramienta para empaquetar aplicaciones de forma que se puedan ejecutar de manera consistente en diferentes entornos. Esto complementa la arquitectura de microservicios, permitiendo que cada servicio funcione de manera aislada y escalable. Finalmente, se enfatiza la importancia de adoptar prácticas de infraestructura como código y comprender el desarrollo de aplicaciones en entornos serverless y basados en microservicios. Se recomienda explorar herramientas como Terraform para fortalecer estas habilidades y mejorar la eficiencia en el trabajo en la nube.
El desarrollo basado en funciones se refiere a la práctica de construir aplicaciones utilizando funciones como bloques de código independientes y reutilizables. En este enfoque, las funciones se invocan por demanda, lo que permite una escalabilidad eficiente y una administración simplificada. Este modelo es común en arquitecturas serverless, donde los proveedores de nube, como AWS Lambda, Azure Functions y Google Cloud Functions, manejan la infraestructura subyacente. Este enfoque es diferente al de los microservicios, que son más complejos y pueden incluir múltiples funciones agrupadas en una sola aplicación.
¡Hola! Veo que hay una pregunta recurrente sobre el curso de terraform. Lamento decirte que está descontinuado, sin embargo aun puedes encontrar las clases siguiendo este link: <https://platzi.com/home/clases/1712-devops-terraform/22851-que-es-terraform/> Como alternativa tienes los cursos de Servlerless Framework y CloudFormation, este ultimo exclusivo de AWS [Curso de Serverless Framework en AWS - Platzi](https://platzi.com/cursos/serverless/) [Curso Avanzado de Serverless Framework en AWS - Platzi](https://platzi.com/cursos/serverless-avanzado/) [Curso de Infraestructura Como Código en AWS - Platzi](https://platzi.com/cursos/iaac-aws/)
¿Qué es herramienta agnóstica?
Buenas alguien podría decir donde se encuentra el curso de terraform en platzi, por más que busco no lo veo.
lo único que me preocupa con respecto a la arquitectura basada en microservicios es la latencia resultante de todas las comunicaciones necesarias entre los request de los microservicios.
Gran resumen de conceptos.

osea que las funciones como lambda son para crear transformadores u ordenadores pre programados para ahorrarnos trabajo futuro?

Podría un plugin de Wordpress como Woocommerce considerarse un microservicio? Qué tal una extensión de VSC, sería también una microservicio?

Muy clara y didactica la explicación. Me da confianza la forma de explicar y sobre como lleva la ruta de formación. Muy bien.

## ¿Qué es la infraestructura como código? <https://aws.amazon.com/es/what-is/iac/>
Se podría interpretar los microservicios como cada una de las opciones disponibles en la app, dependiendo de qué tan aislada es la operación, como pagos y retiros, suscripciones y pagos, etc. Es más, hasta pagos, como tal, puede ser un microservicio que interactúa con otro, como el que indica el profesor de consulta de saldo. Similar a cuando es retiros.