Ciudad de Mexico 27 de Septiembre 2018
Desarrollando Nativamente en la Nube con Cloud Foundry Naubert Aparicio Business Development Manager Dell EMC
Qué es una Plataforma Nativa en La Nube? (Cloud-Native) - Una plataforma que permite una puesta en producción predecible y que permite operaciones de software en cualquier lugar reemplazando tareas incómodas, repetitivas y propensas a errores con abstracciones que son fáciles de usar por los desarrolladores (y operadores). - Consiste en tres capas de soportan el ciclo completo de vida de la aplicación desde desarrollo a producción.
Diseño de un APP usando los 12 factores Son guías para construir aplicaciones modernas que son Nativas en Cloud - Uso de una base de código (codebase) y múltiples deployments - El Código es la única constante - Automatización - Construcción para permitir cambios
La Plataforma que ayuda a transferir y ejecutar todos los tipos de aplicación en una forma segura y altamente disponible, en cualquier lugar que se desee.
Arquitectura de Pivotal Cloud Foundry DYNAMIC ROUTE SERVICES / API MANAGEMENT YOUR APPLICATIONS PLATAFORMA MODERNA CLOUD NATIVE SERVICIO DE APLICACIÓN DE PIVOTAL APP MICROSERVICES TECHNOLOGY Spring Boot Elastic Runtime Steeltoe Concourse Spring Cloud Services App Autoscaler PLATFORM DATA MICROSERVICES TECHNOLOGY Spring Cloud Data Flow PCF Metrics Cloud Cache CredHub RabbitMQ MySQL Orgs, Spaces, Roles and Permissions SERVICE BROKER API PIVOTAL CLOUD FOUNDRY BOSH EMBEDDED OS Windows Linux CONTAINER ORCHESTRATION CLOUD ORCHESTRATION MULTI CLOUD Amazon Web Services Microsoft Azure Google Cloud Platform Open Stack VMWare
Auto Aprovisionamiento y Auto Puesta en Producción cf push Velocidad y Consistencia ~45 segundos Código Completo y Probado Conseguir servidores disponibles Instalar y configurar el runtime Instalar y configurar el middleware Copiar el código de la aplicación Recuperar las librerías necesarias Crear el paquete de la aplicación Instalar y configurar servicios requeridos Desplegar los contenedores Configurar las variables de ambiente Configurar el balanceador de cargas Configurar los firewalls Actualizar el servicio de monitoreo Configurar el consolidador de logs Aplicación en Producción 2 Días 1 Día 1 Días ¼ Día ¼ Día ¼ Día 2 Días ½ Día ¼ Día 2 Días 2 Días 3 Días 1 Día ~15+ Días
Soporte a Múltiples Lenguajes con Buildpacks
Desplegar código fuente que la plataforma convierte a un contenedor o Desplegar imágenes de contenedores que ya están hechos
Desplegar código fuente que la plataforma convierte a un contenedor o Desplegar imágenes de contenedores que ya están hechos
Desplegar código fuente que la plataforma convierte a un contenedor o Desplegar imágenes de contenedores que ya están hechos
cf push Part 1: App Save cf-cli Cloud Controller CCDB Blobstore cf push 1 2 4 Create App Upload App Files 3 Save App Metadata Esto completa salvar la aplicación Save App Files 5
cf push Part 2: Staging cf-cli Cloud Controller Blobstore Diego Cell cf push 1 6 Start App 7 Stage App La aplicación es salvada como un Droplet y lista para desplegarse Stream output Save Droplet 8 9 = App + Buildpack Staging Complete 10
cf push Part 3: Run cf-cli Cloud Controller Diego Brain Diego Cell Diego Cell Diego Cell cf push 1 6 Start App 11 Start Staged App El contenedor de la aplicación (Droplet) está ahora corriendo y cf-cli muestra información sobre la aplicación App Info 13 App Running 11 auction Start Container(s) 12
La abstracción subyacente
Cloud Foundry BOSH Un conjunto de herramientas open source para la ingeniería de lanzamiento, la puesta en producción y manejo del ciclo de vida de aplicaciones distribuidas en gran escala Empaquetamiento con/ embedded OS Aprovisionamiento de servidores en cualquier IaaS Despliegue de software entre clusters Monitoreo de Salud (servidores Y procesos) Monitoreo del estado del servicio Self-healing con Auto Recuperación Manejo de Almacenamiento Rolling upgrades via canaries
Actualizaciones con cero Downtime para OS, Aplicaciones y parches con CF BOSH
Multi-Cloud con BOSH + CPI
Fácil Expansión CF app Cloud Foundry El Modelo Broker de Servicios entre todas las abstracciones simplifica las operaciones y permite la integración de múltiples esquemas K8s app Kubernetes Service Catalog (alpha) Service Broker Any app Any Platform
Ecosistema de Pivotal Cloud Foundry SIEM/Log/Audit API Gateways Messaging Mobile Networking Storage Data Management Security BPM Search App Integration IaaS DevOps Tooling APM/Monitoring Other IDE/Code IAM Commerce CRM Microservices Management
PCF construye el contenedor El Desarrollador entrega un contenedor hecho Continuous delivery Github Application Code & Frameworks Buildpacks Spring Boot Spring Cloud Steeltoe Pivotal Network Concourse Pivotal Application Service (PAS) Pivotal Container Service (PKS) Pivotal Services Marketplace Public Cloud Services Customer Managed Services v1 >cf push >kubectl run Pivotal and Partner Products CVEs Product Updates Java.NET NodeJS Elastic Packaged Software Spark v2 3Rs v3... Embedded OS (Windows & Linux) NSX-T Repair CVEs Repave Rotate Credhub Concourse vsphere Openstack CPI (15 methods) AWS Google Cloud Azure & Azure Stack
Todo lo que necesitas para una Transformación Digital Cultura, herramientas, y Plataforma Data / AI Apps Proceso y Cultura Herramientas Plataformas Construir para el Cambio Mejorar Continuamente Cualquier App, Todas las Nubes, Una Plataforma Pivotal Labs Tracker / Spring / Concourse PCF 2.0
La Transformación es Real! T-Mobile logró transformar su actualización de software de 7 meses y 72 pasos a hacerla en despliegues de un día. Liberty Mutual construye y despliega un Producto Base Funcional en un mes y desarrolla una versión que genera ingresos a los pocos meses después. The Home Depot activa cambios al ambiente de producción 1500 veces al mes, y 17000 veces a todos los ambientes. Comcast soporta más de 1500 desarrolladores con un equipo de 4 operadores. Express Scripts pasó de 45 días para parchar un producto en 9 ambientes a hacerlo en cinco días.