Presenting the newest version of Cloudify - 4.6 including a orchestrated SD-WAN demo from MEF18 where Cloudify is used as the orchestration platform for uCPE based on containers.
2. 2
FYI
● The webinar is being recorded and you will receive
a copy of the slides and recording.
● Live Q & A session - Use the Button on your ZOOM
platform
● Duration - Roughly 50 Minutes
3. 3
Agenda
● The Cloudify Roadmap for Next Generation Orchestration
● Cloudify 4.6 Highlights and Features
● Demo Theatre from MEF18 PoC
Orchestrated SD-WAN: LSO-Enabled Solution With Container-Based uCPEs
● Live Q & A session
4. 4
Cloudify Strategic Focus
Please note that all references to future releases and timing represent indicative strategy and future product
plans known to Cloudify at this time, and that all references to dates and features are subject to change.
Cloudify retains the right to make changes at any time to future software development plans or timescales and
assumes no liability for the use of the information set out herein.
Edge Orchestration
Running enterprise grade edge networks requires top notch management and orchestration solution capable of supporting a huge number of devices and a wide range of operations
• Federated management solution
o Wide horizontal scaling (active-active management clusters)
o Vertical scaling leveraging edge site local (potentially lightweight) managers
• Criteria based orchestration – Automatically match services to deployment sites by context
• Edge dedicated actionable dashboards – easy provisioning and day2 operations
End-to-End Orchestration Manager
Networks are large, complex, and diverse. Existing VNFM solutions run segments of the networks. Cloudify solution provides overarching orchestration management
• Intuitive Service Composition
o Self aware services and sites capable of communication with each other
o Simple intent based declarations (combine advanced plugins into simplified composer actions)
• Policy Driven orchestration – Closed loop automation, Subscribe to deployment changes
Built for the Enterprise
Cloudify solutions are built with enterprise in mind. Operational aspects, regulatory compliance requirements and topology considerations are core themes.
• Manager of managers – scale, ease of deployment and maintenance, balance LOB requirements and operational needs..
• Cloud native - Microservice deployment
• Live updates with short-to-zero downtime
• Security & Ecosystem friendliness - Local user password policy, Audit service
• SaaS hybrid solution
5. 5
Cloudify 12-month Plan
Q1’ 2019 Q2’ 2019 Q3’ 2019 Q4’ 2019
V4.6
• Agents widget
• Namespaces and capability
declaration allow for easier
service composition
• Scheduled workflows
• Ansible plugin
• Kubespray integration
• Considerable reduction of
snapshot time (faster upgrades)
• Manager support for external DB
• Security improvements (AES256,
RabbitMQ Segregation)
V5.0
• Management horizontal scaling:
Active-Active Management
Clusters
• Sites and labels backend + simple
view
• Closed loop automation
connectors (ph.1)
• Ansible plugin
• Service composition: Component
• Input validation
• Manager of Managers aligned for
5.0
• Cloud native managers (ph. 1)
• Backend adjustments supporting
local and geo-resilience
• Preps for non-snapshot upgrade
V5.1
• Lightweight edge managers
• Criteria based orchestration
• Intuitive Service Composition
• Closed loop automation
connectors (ph.2)
• Audit service
• Cloud native manager -
microservice arch & K8S based
MoM
• Zero-downtime upgrades
Extend Cloudify’s repository of certified vendors and flows, Continuous alignment with TOSCA, Getting started materials
Please note that all references to future releases and timing represent indicative strategy and future product
plans known to Cloudify at this time, and that all references to dates and features are subject to change.
Cloudify retains the right to make changes at any time to future software development plans or timescales and
assumes no liability for the use of the information set out herein.
6. 6
Multi Cloud & Stack Orchestration
Service
Orchestration
E2E Service Definition
End to End Orchestration
ConfigurationWorkflowPolicy Infrastructure
uService
External Service
7. 7
Multi Cloud & Stack Orchestration
Service
Orchestration
E2E Service Definition
Infrastructure Orchestration
End to End Orchestration
Configuration
IaaS Orchestration Cloud Infrastructure Network Edge
Azure
ARM
WorkflowPolicy Infrastructure
uService
External Service
uService Orchestration
External service orchestration
8. 8
Multi Cloud & Stack Orchestration
Service
Orchestration
E2E Service Definition
uService Orchestration
Infrastructure Orchestration
End to End Orchestration
Configuration
IaaS Orchestration Cloud Infrastructure Network Edge
Azure
ARM
Configuration
Automation tools Service configuration Network Script
WorkflowPolicy Infrastructure
uService
External Service
External service orchestration
11. Enhanced Service Composition - Namespaces
Namespaces
Namespaces support in the Cloudify DSL allow for simpler service composition
through embedding blueprints inside other blueprints.
tosca_definitions_version: cloudify_dsl_1_3
imports:
- http://www.getcloudify.org/spec/cloudify/4.5/types.yaml
- web--blueprint:openstack_vm
- DB--blueprint:openstack_vm
node_templates:
app:
type: cloudify.nodes.Application
properties:
host_ip: { get_input: web--ip }
relationships:
- type: contained_in
target: web--vm
- type: connected_to
target: DB--vm
Import blueprint with namespace
Import an instance of the
openstack_vm blueprint and refer
to it as *web*, and another instance
of the same blueprint and refer to it
as *DB*
Inputs include namespace
Node names include namespace
tosca_definitions_version: cloudify_dsl_1_3
imports:
- http://www.getcloudify.org/spec/cloudify/4.5/types.yaml
- plugin:cloudify-openstack-plugin
inputs:
agent_user: centos
default: centos
flavor:
default: m1.medium
ip: {}
node_templates:
vm:
type: cloudify.openstack.nodes.Server
properties:
openstack_config: *openstack_config
agent_config:
user: { get_input: agent_user }
install_method: init_script
flavor: { get_input: flavor }
relationships:
- type: connected_to_security_group
target: security_group
12. Enhanced Service Composition - Deployment capabilities
Deployment can now declare it’s capabilities, allowing users, scripts and other deployment workflows to query these details in real-time
tosca_definitions_version: cloudify_dsl_1_3
imports:
- http://www.getcloudify.org/spec/cloudify/4.5/types.yaml
- web--blueprint:openstack_vm
node_templates:
app:
type: cloudify.nodes.Application
properties:
db_url: { get_capability: [
get_input: shared_db_dep_name, db_url ] }
tosca_definitions_version: cloudify_dsl_1_3
imports:
- http://www.getcloudify.org/spec/cloudify/4.5/types.yaml
- db--blueprint:openstack_vm
inputs:
...
node_templates:
db:
type: cloudify.nodes.DataBase
properties:
...
capabilities:
db_url: { concat: [ get_attribute: [db, ip], ‘thedb’ ] }
shared_db.yaml my_app.yaml
Deployment declares its
capabilities
Using the capabilities
13. Enhanced Service Composition
Composite and recursive intrinsic functions
Intrinsic functions allow usage of complex structures such as
lists or YAML and allow the selection of a certain item in
these objects. One may also use this recursively and use an
intrinsic function as a parameter in another intrinsic function
node_templates:
...
vm:
type: cloudify.openstack.nodes.Server
properties:
server:
image_name: { get_input: image_name }
key_name: { get_input: [ vm_info, key_name ] }
node_templates:
...
http_web_server:
type: cloudify.nodes.Compute
properties:
# The parser will first evaluate the result of the inner `get_input` and
# then using it's result, will evaluate the outter get_input.
# If the input available_ports = [8000, 8080] and web_server_port_no = 0,
# then http_web_server.port = 8000.
port: { get_input: [ available_ports, { get_input: web_server_port_no } ] }
...
14. Service Composition Best Practices
Code Example
● Provisioning of virtual network
appliances across multi-cloud
● Configuration automation through REST,
Ansible, Netconf etc..
● Service Chaining through composite
blueprint.
● Serve as best practice for Service
Chaining, VNFM, Multi Cloud, Enterprise
Networking patterns..
15. 15
Ansible plugin
● Cloudify Automation-First approach allowing users to leverage existing Ansible
playbooks to integrate into Cloudify rather than convert into a Cloudify format.
● Ansible playbooks are referred to via Cloudify blueprints
○ Map lifecycle operations to ansible-playbook runs
● New Examples
● DB-LB-App, a modular application utilizing Ansible Playbooks for MariaDB/Galera Cluster,
HAProxy, and Drupal7.
● Testing Examples with Vagrantfile (OpenVPN, Clearwater, LAMP, etc).
● More information
○ Blog Post
○ Documentation
16. 16
Kubespray support
● Built using the new Ansible Plugin
● Deploy Kubernetes clusters over Azure, AWS, Openstack or GCP.
● Orthogonal to the current Kubernetes plugin
● Example
○ Kubespray blueprint & resources
17. 17
Scheduled and resumable workflows
● Scheduling workflow execution time allows for more granular lifecycle management
○ Schedule updates to maintenance windows
○ Set TTL to trial / temp services
○ Orchestrate network and workload changes adjusting venue edge sites during events
● Resumable workflows allows easy response to deployment / workflow issues
18. 18
OpenStack v3 plugin
● OpenStack v3 is a *new* plugin
● What’s new?
○ Based on OpenStack SDK (recommended approach)
○ Plugin structure based on new best practices
○ Easier blueprint VIM migration
● Backward compatibility via node type aliases.
19. 19
4.6 enhancements
Service
Orchestration
E2E Service Definition
uService Orchestration
Infrastructure Orchestration
End to End Orchestration
Configuration
IaaS Orchestration Cloud Infrastructure Network Edge
Azure
ARM
Configuration
Automation tools Service configuration Network Script
WorkflowPolicy Infrastructure
uService
External Service
External service orchestration
Scheduled Workflow
Resumable Workflow
New Ansible plugin
New Openstack plugin
Kubespray
Enhanced service
composition
21. 21
Stay tuned ...
• Easy definition of different edge targets (types)
• Self aware edge targets allow for zero touch provisioning of
hosted edge services
• Capability and property tagging of services and edge
targets
o Workflow by criteria
• Provision services to edge targets by location / OS / type…
• Mistake free operations - define the audience for every workflow based
on capability / property matching
• Cloudify manager cluster scaling (active-active)
• and much more...
22. 22
Live Q & A
● Download Cloudify - Cloudify.co/download
● Questions? Hello@Cloudify.co
● Try a Cloudify Lab -
● Slack Channel - Cloudify.co/slack