Dell IT Proven: Cloud Native Applications at Your Service Raj Markala, Sr. Manager, Cloud Platforms, Dell IT Ian Cheasty, Principle Developer, Dell IT
Agenda 1 Cloud Native Agenda 2 Pivotal Cloud Foundry Journey 3 Pivotal Cloud Foundry Platform 4 Microservice vs Monolith 5 Pivotal Cloud Foundry and MyService360 2
Our customers want to Achieve cost and time efficiency to develop, deploy & operationalize applications Applications Develop Create/Modify Deploy Run/Protect Operationalize Scale/Integrate Cost Time 3
Our customers X Developers 10X+ Developers IT Developers LOB Developers DELL-EMC Product Developers Greenfield or Traditional IT apps migrating to cloud-native BU productivity/ BU managed apps EMC SaaS/hosted products (revenue and revenue-supporting) e.g. elicensing e.g. Global Services Titan, Sizers e.g. CloudIQ 4
PCF journey NOV 2014 Go Big on PCF Maximize the learning experience: Transformational elicensing Service (TeS) Architecture team led training for multiple developers to build cloud-native apps FEB 2015 Evangelize Free Sandbox Get a v1.0 on the catalog Learn more about what customers need WE ARE HERE Enhance Extend PCF marketplace services Enable developers outside of IT Build PCF in Dell DC External (public ) /internal infrastructure to support consumption at scale from BU s and IT 2014 Build for Scale Create capacity for multiple customers JUL 2015 Launch as a Service PCFaaS launched Support training knowledge transfer 5
A cloud application maturity model Cloud Native Cloud Friendly Cloud Resilient Cloud Ready Microservices architecture API-first design Fault-tolerant and resilient design Cloud-agnostic runtime implementation Bundled metrics and monitoring Proactive failure testing 12 Factor App methodology Horizontally scalable Leverages platform for high availability No permanent disk access Self-contained application Platform-managed ports and networking Consumes platformmanaged backing services 6
Run re-platformed monoliths more efficiently Multiple Languages Microservices Support Services Marketplace DEVELOPMENT Native User Provided Partner App Deployment & Management Availability Visibility & Administration OPERATIONS CI/CD Tools, ID, Security Health, Metrics, Patching Apps & Platform Dashboards AUTOMATION To Lower Your Ops Cost and Increase Your Velocity FREEDOM To Run Your App on Any Cloud VISIBILITY End-to-End Logging, Monitoring and Auditability GOVERNANCE Common Set of Developer-Self- Serviced Frameworks Operating System Container Orchestration RESILIENCY Auto-Scale, Blue/green Deployments and Health Mgmt. 7 7 Cloud API SPEED Move Cycle Time from Months to Weeks to Days or Hours
PCF core components Applications/APIs/Microservices BOSH Managed Services Brokered Services PCF Tools Apps Manager UI (App Admin UI) CLI REST APIs PCF Metrics Dashboard Ops Manager UI (Cloud Admin UI) Compiled, staged, containerized, deployed and managed by platform Java.NET Ruby Node.js Python PHP Go Automated, Polyglot Build Package/ Deploy Integrated Logging/M etrics* Security* PCF Elastic Runtime Infrastructure Automation (BOSH) Container Scheduling Dynamic Routing & Extensible Route Services Self-Healing & High Availability* Pre-packaged container deployed and managed by platform Elastic (Auto)Scale Dev + Ops Role-Based Self-Service Access Zero Downtime Upgrades & Patches* PIVOTAL MySQL Gemfire Redis RabbitMQ Spring Cloud Services Single Sign On Mobile Push Notifications Infrastructure Agnostic Software Packaging Multi-Cloud Orchestration of Infrastructure Provisioning Distributed Software Configuration and Health/Lifecycle Management Dell EMC USER PROVIDED SSO Oracle DB MS SQL Server IBM MQ Postgresql Infrastructure 8
Cost saving on custom developed legacy apps Platform Ops Platform Dev IaaS Utilization 40% 30% 20% 9
Background OLS and MyService360 OLS MyService360 Monolith architecture Quarterly release cycle 12+ hours of downtime Limited automation Code developed in SVN trunk Full regression test Code freeze Break fix release Microservices architecture Sprint and ship every two weeks Zero downtime deployments Automated deployments Code developed in GIT feature branches Limited regression test No code freeze 10
Microservice or monolith Microservice Architectural approach that emphasizes decoupling complex functionality into smaller, independent (micro)services Each microservice consists of simpler functionality with fewer, focused concerns that can only be accessed via well defined interfaces (i.e. callers cannot rely on knowledge about underlying implementation details). A collection of microservices jointly comprise an application, and each microservice is independently deployed, scaled, managed. Effectively deploying and operating Microservices heavily relies upon automation (e.g., CI/CD, container orchestration, etc.). Monolith An architectural approach that results in an entire application being self-contained and consisting of multiple related but distinct modules being bundled, deployed and run together in the same process and/or server. Most web application deployed to app servers (e.g. Weblogic, Websphere, JBoss, etc.) fall in this category. 11
Monolith architecture vs microservice architecture Support.emc.com Apache / SSO Angular statistics (nginx) Support.emc.com Apache / SSO MVC Layer Pivotal Cloud Foundry Business Logic Layer Angular statistics (nginx) dvs-api-gateway Core (ZUUL) Service Discovery (Eureka) SR SVG IB Cloud Config IM CRM UTIL dvs-filter Rabbit MQ Service/Data Access Layer crmgroup crm-site dvs-sr dvs-ib dvs-svg dvs-im Reds 12
Continuous integration and delivery Deliver high quality software faster and continuously, from idea to production AUTOMATION. Integrate tools and automate processes from testing to builds and deployment SPEED. Release more frequently with smaller bits will reduce complexity and improve time-to-market QUALITY. Reduce feedback loop using testdriven development to surface problems sooner and be responsive AGILITY. Push updates on regular basis with no downtime to improve customer experience and time to market Build Pipeline Operations Commit Code Change Automate Build & Test (Unit Test, Static Code Analysis) Store Binaries & Build Artifacts Automated Integration Testing Acceptance, Performance & Load Zero Downtime Upgrade to Production Tool Chain GitlLab Jenkins archiva Development Test + UAT + Staging Production Share binaries and manage distributions. Manage artifact lifecycle. Develop, test, QA and production on the same platform. Simple, developer friendly commands and APIs. Operational benefits for every app. Built-in ecosystem services. Deploy, operate and scale on any IAAS 13
MyService360 and Pivotal Cloud Foundry How did this improve the development process? Shorter lead time from requirement to delivery Automated deployments make a build available for QA earlier in the development sprint Consistent environments allow development and deploy with confidence Spring Cloud integration with PCF simplifies the process of creating a new microservice Easy integration from PCF with ELK for logs and New Relic for monitoring PCF makes it easier to pick the language most suited for the task PCF makes it easier to try technologies from the marketplace 14
Future state Cloud native ecosystem BUs IT Developers BU Developers Applications Pivotal Cloud Foundry IT An Open Ecosystem API Marketplace & Management Data Services Business Services Utility Services Platform Services Runtime Multi-cloud Systems of Record ESRS Oracle SAP CLM-SYR Licensing Data Lake SFDC SSO Virtustream Virtustream Gov Azure IT Data Center 15
16