Deploy Your First CF App on Azure with Template and Service Broker Thomas Shao, Rita Zhang, Bin Xia Microsoft Azure Team
Build, Stage, Deploy, Publish Applications with one Command Supporting Languages Hosting Cloud Providers Public Private Supporting Services More with Custom Services
All Open Source Ship an all open source version under the Apache 2.0 license. Provide consistent experience with all Cloud Providers. Align with Community s engineering practices. Simplified Deployment on Azure Provide resource template, automate Azure environment setup Committed Roadmap Joint support with Community Committed Long term roadmap for further Azure integration
Azure Service Operation s Azure Service Brokers Azure Services Applications Build, Deployed on CF Cloud Foundry Runs on Azure Platform Azure Platform Deploy & Management Bosh Azure CPI Azure Operations Azure Resource Manager Applications are built and deployed on CF Cloud Foundry runs on Azure, leveraging VMs, Storage, Networks, etc. Bosh deploys and manages the CF infrastructure Azure CPI interfaces with ARM, so Bosh can deploy and manage CF on Azure Service Broker allows CF to connect and use Azure Services CPI /Service Broker are std Interface for any cloud provider, implementation differs. No CF/Bosh design change is made for Azure Azure interfaces required by Bosh/CF are all supported on Azure; No Azure design change is made for Bosh/CF so far
5/30 Preview on Single VM 8/21 Preview 2 Community test Standard CF commands Q2 2015 Q3 2015 Q4 2015 2016 GA Upstream to community Cluster Support Azure storage integration China data center.net Support Azure Stack integration Azure service brokers
A. Prepare the Account Subscription Install CLI Service Principal B. Prepare the Azure Environment Resource group Storage account Static IPs V-Net (with 2 sub-nets) DNS server + Dev box Can be automated using ARM Template
A. Deploy Bosh (Bosh-Init) B. Deploy Cloud Foundry on Azure Generic Steps for all Cloud Providers
Preparation before deploying your application 1. Cloud Ready APP The Twelve-Factor APP Cloud Foundry may require modifications to your APP 2. Determine Deployment Options From command line Use a manifest file 3. Framework and runtime support for your APP Buildpacks 4. Bind your APP with the services Service Broker
Deploy a simple application 1. Write your APP 2. Push your APP to Cloud Foundry cf push game-2048 -m 64M -b https://github.com/cloudfoundry/staticfile-buildpack.git
Live Demo The first cf push on Azure
Deploy a complex application using Azure Storage 1. Deploy the service broker for Azure Storage Broker pushed as an application to Cloud Foundry user space Create and bind the service instance 2. Write your APP Get the credentials from environment variables VCAP_SERVICES Use Azure Storage SDK to consume Azure Storage Services 3. Push your APP to Cloud Foundry
Live Demo The second cf push on Azure
Case Study
https://github.com/azure/bosh GitHub Preview Preview 2
The System Admin s Problem Cloud Apps coming from Multiple Languages and Frameworks Multiple Cloud Platforms Cloud Apps demands Zero Downtime Update Quick Scale Zero Code Change Migration Diversified Services
Benefit Removing the cost/complexity of configuring app infrastructure Porting applications to different clouds without code change Broad application supports Highly scalable and available architecture Born for DevOps-friendly workflows Continuous delivery model Multi-tenant compute Hybrid, multi-cloud architecture
Deploy Cloud Foundry Prepare Azure environment Deploy Bosh Deploy Cloud Foundry through Bosh Deploy Applications Logon to CF domain, creating org and space Upload your application source, with manifest Run CF push : build, deploy, stage, publish the application Manage Application s life cycle Update, scale, terminate applications via CF commands Manage Cloud Foundry Monitor Cloud Foundry status Config and manage services via CF Manage VM via Bosh