This document discusses managing hybrid deployments using Cloud Foundry on Microsoft Azure. It provides an overview of Azure's support for Cloud Foundry, including using BOSH CPI to deploy Cloud Foundry on Azure. Templates are used to simplify deployment and provide a consistent user experience across clouds. The document also covers Azure's goals in being part of the open source Cloud Foundry community and providing a fully open source version. It demonstrates deploying a sample "Hello CF" application on Azure.
Designing IA for AI - Information Architecture Conference 2024
Managing Hybrid Cloud deployments using Cloud Foundry on Azure
1. Managing Hybrid deployments using Cloud
Foundry on Azure
NING KUANG & KUNDANA PALAGIRI – PROGRAM MANAGERS , AZURE COMPUTE
2. 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.
3. 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.
4. Azure Engineering Goals
All 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.
5. Why Azure?
Azure as an open cloud supports
◦ Hyper scale
◦ Enterprise Grade
◦ Hybrid Environments.
7. 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
8. 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 Virtual
Machines
My App
[SQL CONFIG] VM (2x)
DEPENDS ON SQLDEPENDS ON SQL
SQLCONFIG
9. 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)
14. Azure Cloud Foundry Components
Bosh 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
15. 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.
16. 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.
17. Demo
1. Creating an Azure environment via ARM (Azure Resource Manager)
2. Deploy a “Hello CF” Application on Azure
18. Learnings from the CF Project
Learnings:
• 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.
19. 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.