prefiero mi propio server
Introducción a Google Cloud Platform
Funciones de Python en Google Cloud Functions
Fundamentos de Deploy en Google Cloud Platform
Cloud Functions
Despliegue de Funciones Python en Google Cloud sin Autenticación
Análisis de imágenes con Google Cloud Functions y Vision API
Gestión de roles y permisos en Google Cloud IAM
Escalabilidad Horizontal y Vertical en Servicios de Nube
Supervisión de Funciones en Google Cloud: Métricas y Alertas
Creación de alertas en Google Cloud Logging
Reducción de Latencia en Comunicaciones con Google Cloud
Cloud Run
Balance entre Kubernetes y Serverless en Despliegue de Aplicaciones
Despliegue de KNative en Google Cloud Platform
Kubernetes: Despliega Contenedores en Google Cloud Platform
Configuración de Clúster Kubernetes en Google Cloud
Configuración Avanzada de Escalabilidad en Servidores Cloud
Supervisión Efectiva con Google Cloud Run y Prometheus
Integración Continua con Jenkins: Automatiza tus Despliegues
Automatización de Despliegue con Google Cloud Build y Registry
Integración de Funciones Cloud en Aplicaciones Web
Cierre
Despliegue de Aplicaciones con Kubernetes y Cloud Run
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Google Cloud Run es una plataforma que destaca en el mundo del serverless computing, permitiendo implementar y ejecutar aplicaciones de manera escalable y flexible, manteniendo las ventajas del pago por uso. Su versatilidad radica en que no solo permite ejecutar funciones, sino también ofrecer cierto grado de control y personalización, lo cual es vital para negocios que buscan soluciones adaptables a sus necesidades tecnológicas.
Una preocupación común en el uso de servicios en la nube es el vendor lock-in, la imposibilidad de migrar fácilmente aplicaciones y servicios a otros proveedores. La recomendación es crear soluciones que inicialmente resuelvan problemas de negocio, pero que también minimicen este riesgo. Para ello, los contenedores juegan un papel crucial al actuar como una solución intermedia, que facilita la portabilidad de las cargas de trabajo entre diferentes entornos sin el ancla de recursos específicos de un proveedor.
Los contenedores ofrecen una forma consistente de empaquetar aplicaciones y todas sus dependencias, asegurando que funcionen uniformemente en cualquier entorno. La base de los contenedores es el aprovechamiento de diversos componentes del sistema operativo, como los procesos, espacios de nombres, cgroups y el sistema de archivos en capa, combinando eficientemente:
Los contenedores brindan la posibilidad de ejecutar aplicaciones de forma aislada, asegurando que funcione igual en desarrollo como en producción, eliminando ese miedo a la frase "solo funciona en mi máquina". Además, su naturaleza modular facilita la portabilidad, asegurando que las aplicaciones puedan ser trasladadas y ejecutadas en distintos servicios compatibles con contenedores.
Comparando con otros esquemas, los contenedores simplifican el despliegue al enfocarse solo en la aplicación y sus dependencias, sin preocuparse por toda la infraestructura física subyacente. Mientras que en modelos tradicionales y de virtualización es necesario gestionar la infraestructura y el sistema operativo, los contenedores requieren:
Con el crecimiento de la utilización de contenedores, surge la necesidad de herramientas de orquestación, donde Kubernetes destaca por su capacidad de manejar cargas de trabajo complejas y múltiples contenedores. Aunque nació dentro de Google, ahora es un proyecto de software libre que forma parte de Cloud Native Computing Foundation (CNCF).
Kubernetes no es solo la solución para el manejo de contenedores, sino un ecosistema robusto para el desarrollo y despliegue de aplicaciones modernas y escalables.
Al elegir entre un enfoque serverless o un sistema basado en Kubernetes, es crucial evaluar las necesidades específicas del proyecto y los recursos disponibles:
Para decidir, es importante considerar la escala, flexibilidad, rendimiento esperado y necesidades de administración. Un enfoque híbrido, combinando lo mejor de cada mundo, podría ser el camino a seguir en muchos escenarios tecnológicos. ¡Sigue explorando!
Aportes 7
Preguntas 0
prefiero mi propio server
Kubernetes
Un servicio para manejar los clusters donde vamos a desplegar nuestras aplicaciones.
Me sonó muy similar a Docker por lo que investigué un poco al respecto y me encontré un post que habla de sus similitudes.
Al parecer Kubernetes se trabaja comúnmente con Docker para orquestar todos los contenedores. (aún no lo entiendo del todo, pero seguiré investigando, espero les sirvan estas pequeñas pistas)
Notas de Contenedores
Process
Recursos manejados por el sistema operativo que tiene su propia memoria virtual.
Namespaces
Alcances: Qué elementos son visibles, qué IPs puedo ver, qué árbol de directorios a los cuales tengo acceso.
CGroups
Cuánto CPU, Cuánta Memoria voy a ocupar
Union File System
Mecanismo que permite que se construya nuestra aplicación a través de capas en las que se definen las relaciones con las bibliotecas.
Containers: Codigo y dependencia empaquetados para que la aplicación se ejecute de forma rápida y confiable de un entorno a otro.
Kubernetes: Es una plataforma open source que automatiza las operaciones de los contenedores.
los contenedores facilitan muchisimo tareas que antes tomaban su tiempo, como levantar un aplicativo o desplegar un servicio
cuando manejamos kubernetes tenemos muchas posibilidades pero dependiendo el escenario hay que considerar el uso de serverless
“Kubernetes (K8s) es una plataforma de código abierto para automatizar la implementación, el escalado y la administración en contenedores.”
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?