Implementing Cloud Foundry Series. Livecast #2. #CFlivecast Implementing Cloud Foundry Series. Livecast #2. How to Build a Cloud Foundry PoC With Renat Khasanshyn CEO @ Altoros Initial Considerations Choose an Infrastructure Measuring Success October 13, 2015 11 AM PDT
Initial Considerations Choose Infrastructure. Size. Deploy. Integrate. Agenda 10 min 20 min 5 min Initial Considerations Cloud-native Workloads Avoid Monolithic Apps Use 12-factor Apps Avoid Local File System Dependency Management Minimum Requirements Choose Infrastructure. Size. Deploy. Integrate. Examples of clusters Multi-region clusters Sizing examples Integrate & Enrich Train Measuring Success Examples of metrics for POC
Deploy cloud-native workloads Initial Considerations Deploy cloud-native workloads Data is separate from infrastructure Stateless sessions Not persistent
Deploy cloud-native workloads Initial Considerations Deploy cloud-native workloads Avoid monolithic apps Apps not tied to single servers Cloud Foundry needs microservices, 12-factor apps
Microservices?
Microservices? Master 12-factor apps first.
Deploy cloud-native workloads Initial Considerations Deploy cloud-native workloads Avoid monolithic apps Deploy 12-factor Apps Methodology Factors
12-factor Apps - Methodology Use declarative formats for setup automation, to minimize time & cost for new developers Have a clean contract with the underlying OS, offering maximum portability between execution environments Suitable for deployment on modern cloud platforms; no need for servers and systems administration Minimize divergence between dev & production, enabling continuous deployment for maximum agility Can scale up without significant changes to tooling, architecture, or development practices Source: 12factor.net
12-factor Apps - Factors source: 12factor.net 1. Codebase One codebase tracked in revision control, many deploys 2. Dependencies Explicitly declare and isolate dependencies 3. Config Store config in the environment 4. Backing Services Treat backing services as attached resources 5. Build, release, run Strictly separate build and run stages 6. Processes Execute the app as one or more stateless processes Source: 12factor.net 7. Port binding Export services via port binding 8. Concurrency Scale out via the process model 9. Disposability Max robustness w/fast startup & graceful shutdown 10. Dev/prod parity Devt, staging, and production as similar as possible 11. Logs Treat logs as event streams 12. Admin processes Run admin/management tasks as one-off processes
Deploy cloud-native workloads Initial Considerations Deploy cloud-native workloads Avoid monolithic apps Deploy 12-factor apps Avoid local file system Instances are ephemeral Stateless sessions Scaling up & down
Deploy cloud-native workloads Initial Considerations Deploy cloud-native workloads Avoid monolithic apps Deploy 12-factor apps Avoid local file system Dependency management Don’t rely on implicit existence Use Bundler or Maven Or create your own consistent dependencies
Cloud Foundry Use Case: Massive Cloud Migration Telco giant, $50 billion revenue & 240M customers in 29 countries Result: 1,000+ apps and services for an internal IT department migrated to a cloud environment Lessons Learned: Operations buy-in is essential. A test lab, "playground" environment is the best way to proceed. Unique aspects of a particular company must be addressed specifically, and the use of CF must conform to the company, not the other way around.
Massive Cloud Migration with ElPaaso Add-on to CF “We are working to capture what apps support in terms of environment variables,” says Berche “thus making this information explicit, so that the intimacy between developers and operations gets introduced with this explicit configuration.”
Deploy cloud-native workloads Production grade - multiple by 5x to 20x Initial Considerations Deploy cloud-native workloads Avoid monolithic apps Deploy 12-factor apps Avoid local file system Dependency management Absolute bare minimum sizing requirements for HA CF cluster. - Eight physical CPU cores 12GB RAM 1TB disk space Two NICs Production grade - multiple by 5x to 20x
Initial Considerations Choose infrastructure. Size. Deploy. Integrate. Agenda 10 min 20 min 5 min Initial Considerations Cloud-native Workloads Avoid Monolithic Apps Use 12-factor Apps Avoid Local File System Dependency Management Minimum Requirements Choose infrastructure. Size. Deploy. Integrate. Examples of clusters Multi-region clusters Sizing examples Integrate & Enrich Train Measuring Success Technical Success Auto-scaling, Rolling Updates, Automated Recovery Business Success Time to production, TCO, Security/Compliance, HA
Infrastructure Options Supported Infrastructure Options
http://bosh.io/docs/deploy-microbosh-to-aws.html http://bosh.io/docs/deploy-microbosh-to-openstack.html http://bosh.io/docs/deploy-microbosh-to-vsphere.html http://bosh.io/docs/vcloud-cpi.html Deploying MicroBOSH to AWS Deploying MicroBOSH to OpenStack Deploying MicroBOSH to vSphere Deploying MicroBOSH to vCloud
WWW.BOSH.IO After deploying CF, add 3rd party services
Cloud Foundry POC deployments Sizing Cloud Foundry POC deployments
Sizing Example: Production-Grade Cluster Sizing CF + Database services Logging Monitoring = 34 VMs x 8GB RAM 272GB RAM
Install Tools: Metrics & Logging For Ops & Security
Install tools: CF Admin Panel, with localizations, for Ops
Install tools: CF Admin Panel, with localizations, for Ops
Tools: Dashboards look good on wall-mounted TVs
Examples of Cloud Foundry POC Clusters
Example: Multi-region Cloud Foundry Deployment Overview vCloud Air vCloud Director
Example: Multi-region Cloud Foundry Deployment Routing Setup (without MPLS) vCloud Air vCloud Director
Example: Multi-region Cloud Foundry Deployment. Sizing CF + Data Services 272Gb RAM + an additional 272Gb RAM the dual-data center mode
Example: Multi-region Cloud Foundry Deployment. Distribution of tickets created by/responded by CF operating team, by type CF/BOSH issues Compatibility of various components Compute/storage/network related Application related
Training is key. Get your team excited.
Get two training programs For Developers For Operations / DevOps Why PaaS? Cloud Foundry Architecture Applications Lifecycle - Management “Deployment Playbook” Developing for the PaaS Runtimes High Availability BOSH Services Zero Down-Time Deployments Troubleshooting Admin Console Customizations App Scalability and High Availability CLI + Eclipse Plugin CF Scalability and High Availability Logging, Monitoring & Alerts Other tasks (DB migrations, one time tasks, etc) Hands-on exercises User management. Security
Ask your Altoros contact about instructor-led and online training options
Integrate & Enrich Frameworks -- Hadoop -- Grails -- Play -- Ruby on Rails -- Django Integrated Development Environment -- Eclipse Log Management -- LogLogic (Tibco) -- Loggly -- Splunk -- Sumo Logic Integrate & Enrich Configuration Management -- Bcfg2 (bee-config) -- CFEngine -- Chef -- Puppet Containers -- Docker -- Rocket Continuous Integration -- CloudBees -- Jenkins Databases -- Cassandra -- Couchbase -- MongoDB -- Redis
Choose an Infrastructure - High Availability (HA) - Security - Authorization - Monitoring - Scaling - Availability & Stability More Key Issues!
Initial Considerations Choose an Infrastructure Agenda 10 min 20 min 5 min Initial Considerations Cloud-native Workloads Avoid Monolithic Apps Use 12-factor Apps Avoid Local File System Dependency Management Minimum Requirements Choose an Infrastructure Measuring Success Technical Success Business Success
KPIs
this month vs previous month # of apps on CF: this month vs previous month KPIs
this month vs previous month # of apps on CF: this month vs previous month KPIs Deployment: frequency and speed
this month vs previous month # of apps on CF: this month vs previous month KPIs Service recovery Deployment: frequency and speed
APP PORTABILITY & MICROSERVICES WHAT WE DO Altoros brings “software assembly lines” into organizations through integration of solutions offered by the Cloud Foundry ecosystem Delivered by Altoros Delivered by Altoros Partner Popular! CF DEPLOYMENTS & PROOF OF CONCEPT Popular! APP PORTABILITY & MICROSERVICES DEVELOPER ADOPTION CONSULTING CF TRAINING: FOR OPERATORS FOR DEVELOPERS
Join us on an average month FACTS ON ALTOROS Buenos Aires Oslo London Zurich Sunnyvale, CA Copenhagen Minsk Santa Fe Boston 70% Male 256+ Full Time Enablers DevOps Software Engineers 30% Female +5 Join us on an average month
“ ” Customers We highly recommend CF IMPLEMENTATION & SUPPORT APP PORTABILITY & MICROSERVICES DEVELOPER ADOPTION CONSULTING TRAINING: FOR OPERATORS FOR DEVELOPERS “ We highly recommend Altoros to rapidly build complex applications using cutting edge technologies. Again, great job! Christopher Adorna, Sony Design Center, LA ”
GET more CF tutorials at CFLive! altoros.com/cflive LET’S MEET & TALK! LETS PLAN A POC! renat.k@altoros.com GET more CF tutorials at CFLive! altoros.com/cflive DOWNLOAD Architect’s Guide to Implementing CF: paas.ly/CF-guide LET’S MEET & TALK! Cloud Foundry Security Overview by Alex Prysmakou of Altoros Tuesday, November 3 • 12:05 - 12:35