Managing Hybrid deployments using Cloud Foundry on Azure NING KUANG & KUNDANA PALAGIRI – PROGRAM MANAGERS , AZURE COMPUTE
Jul 25, 2015
Managing Hybrid deployments using Cloud Foundry on Azure
N I N G KUA N G & KU N D A N A PA L A G I R I – P R O G R A M M A N A G E R S , A Z U R E C O M P U T E
Session Takeaways
◦ Learn about Azure Support for Cloud Foundry.
◦ How to manage your workloads using Cloud Foundry in Azure
Cloud or a Hybrid Cloud Environment.
Cloud Foundry on Azure
BOSH CPI Implemented using the Azure Resource Manager APIs(Under public preview).
Leverages Azure Templates for simplifying deployment steps.
Embraces the community model for the CPI.
Consistent user experience for multi cloud strategy.
Extends onprem workloads to Azure seamlessly.
Azure Engineering GoalsAll Open Source
◦ Ship an all open source version under the Apache 2.0 license.
◦ Project URL : https://github.com/Azure/bosh
Be Part of the Community◦ Provide consistent experience with all Cloud Providers.
◦ Align with Community’s engineering practices.
Simplified Deployment on Azure◦ Provide resource template to automate the Azure environment setup.
◦ Provide guidance for Cloud Foundry cluster setup.
Committed Roadmap◦ Ongoing commitment to enhance CF support on Azure.
Growing list of Open Source Technologies on Azure
Via HTMl/JS, cross-platform and native
Ecosystem Provided
Languages, Dev
Tools, & App
Containers
PaaS &
orchestration
Devices
Databases
Management
MS Integrated
Operating
systems
Ubuntu
SUSE, OpenSUSE,
OpenLogic CentOS-based
Oracle Linux, CoreOS
Bring
your own
DocDB
DataStax
Ansible
Puppet
Azure PaaS
Azure VM Scale Set
Azure Service Fabric
Azure Templates can:
• Ensure Idempotency
• Simplify Orchestration
• Simplify Roll-back
• Provide Cross-Resource Configuration and Update
Support
Azure Templates are:
• Source file, can be checked-in
• Specifies resources and dependencies (VMs,
WebSites, DBs) and connections (config, LB sets)
• Support parametrized input/output
Instantiation of repeatable config.Configuration Resource Group
Azure Resource Manager
SQL Website VirtualMachines
My App
[SQL CONFIG] VM (2x)
DEPENDS ON SQLDEPENDS ON SQL
SQLCONFIG
Pre-requisites for setting up a Bosh VM- Using a Template
Create a Storage Account
Create a Virtual Network
Create a Reserved IP for Bosh
Prepare a Bosh client(dev box)
Azure Cloud Foundry ComponentsBosh Release
◦ Cloud Provider Interface (CPI) for Bosh.◦ BOSH components to support Azure
Azure Stem Cell
Azure Resource Manager Template for setting up the environment
Guidance for both single node and multi node CF deployments
Guidance for CF Cluster setup
CF Deploy Experience
AZURE ENVIRONMENT
Account ◦ Subscription, Storage Account
Network environment◦ V-net with 2 sub-nets
◦ Reserved IP for Bosh and CF
Security◦ Service principal for the subscription
DEPLOY CF ON AZURE
Create a Dev working machine ◦ Linux or a Mac.
◦ Download Stemcell and Bosh release.
Configure and deploy Micro Bosh.
Configure and deploy Bosh (Optional)
Configure and deploy CF
Single click deployment of the above using an Azure Template.
CF Deploy steps that’s consistent with other clouds.
CF Template for Azure
Create the Azure network resource and Storage account
◦ VM, V-net, Public IP, Storage account
Access from Azure portal or scripting
Customize the parameters and settings
3 Simple steps Load an existing template
Customize it
Deploy
◦ All of the above can be automated.
Demo
1. Creating an Azure environment via ARM (Azure Resource Manager)
2. Deploy a “Hello CF” Application on Azure
Learnings from the CF ProjectLearnings:
• Leverage the power of community : Well structured and a compatible model to fit into different cloud platforms.
Great help from the Community: Nicholas Terry, Dmitriy Kalinin
Abundant resources: libraries, docs and forums.
Quick iterative process for validation.
• Align internal goals with Community Goals: Have a single unified goal as opposed to two.
Challenges • Working with moving parts.
Looking forward to external CPI model.
What's coming next?
1. Preview this week, from GitHub
2. Community Beta, moving to external CPI
3. Upstream code into CF source tree, getting community approval
4. CF on Azure cluster end to end deployment guidance.
5. Hybrid integration.
Resources
GitHub Project Link: https://github.com/Azure/bosh
Use GitHub for feedbacks and bugs