Deployment Automation on OpenStack with TOSCA and Cloudify

download Deployment Automation on OpenStack with  TOSCA and Cloudify

of 35

  • date post

    15-Jan-2015
  • Category

    Technology

  • view

    3.353
  • download

    0

Embed Size (px)

description

TOSCA (Topology and Orchestration Specification for Cloud Applications) is an emerging standard for modeling complete application stacks and automating their deployment and management. It’s been discussed in the context of OpenStack for quite some time, mostly around Heat. In this session we’ll discuss what TOSCA is all about, why it makes sense in the context of OpenStack, and how we can take it farther up the stack to handle complete applications, both during and after deployment, on top of OpenStack.

Transcript of Deployment Automation on OpenStack with TOSCA and Cloudify

  • 1. Deployment Automation on OpenStack with TOSCA and Cloudify Nati Shalom @natishalomUri Cohen @uri1803

2. ProvisionWhat It Really Takes to Deploy and Manage AppsScaleInstallMonitorConfigureDeploy 3. Large Parts Are Mostly Manual Measure performance against expected SLAs Set and tune Alerts thresholds Match Policy to IncidentReal Time AnalyticsSend MetricsCorrelate with Historical Events Collect and Analyze Logs TroubleshootExecute PolicyFeedbackSetup Monitoring and AlertsDeploy and Configure Applications Setup Machine, Network, Sto rage Push updates 4. The Impact of Human Errors80%ofoutages impacting mission-critical services will be caused by people and process issues50%of those outages willbe caused by change/configuration/release integration and hand-off issues 5. The Cost of Downtime Up by 60% 6. EFFECTIVENESSThe Current Reality.. 83%BE HERE WANT TO61% ARE HERETIME 7. The Solution ChallengesSolution: Automation & Orchestration 80% Remove Manual Intervention out ofof outages impacting mission-critical services will be caused by people and process83%are facing significant roadblock keeping them from moving to the next phase (Politics, Budget, Time, Stuff)the application deployment process Reduce Complexity and Dynamically align to the business needs 8. Automating The Application DeploymentReal Time AnalyticsReal Time AnalyticsCloud InfrastructureSend MetricsCorrelate with Historical EventsExecute PolicyScale FeedbackFailover DeployHistorical dataIntelligent Orchestration 9. TOSCA The Glue for Putting all This TogetherTOSCA 10. What is TOSCA? Topology & Orchestration Specification of Cloud Application By OASIS Sponsored by IBM, CA, Rackspace, RedHat, Huawei and others 11. What is TOSCA? Goal: cross cloud, cross tools orchestration of applications on the Cloud Status: Version 1 approved (XML ) Version 2 (YAML!) in design 12. Standard Can DescribeWhy TOSCA? Any Topology Any Automation Process Portable between Clouds and Tools 13. The TOSCA Building Blocks Application Topologies WorkflowsPolicies 14. What do we see here? 15. HostApp moduleWhat do we see here? Middlewareconnection 16. An application topology 3 layersWhat Weve Seen Infrastructure (Cloud or DC objects) Platform or Middleware (App containers) Application modules, schemas and configurations Relationships between components: Whats hosted on what or installed on what Whats connected to what 17. Whats in a TOSCA Topology? component in the topology are called Nodes Each Node has a Type (e.g. Host, BD, Web server). The Type is abstract and hence portable The Type defines Properties andInterfaces An Interface is a set of hooks (named Operations) Nodes are connected to one another using Relationships 18. Topology InfrastructureMiddlewareApplicationHostNetworkRouterApacheTomcatMySQLMod_proxyWARSchema 19. Types and Nodes Portable BlueprintConcrete TypesNode in TopologyNode Implementation Instance ofInstance of ImplementsAbstract TypeConcrete Type UsesdefinesLifecycle Interface Lifecycle: create: start: stop: delete:ImplementsConcrete Plugin 20. Types and Nodes Portable BlueprintConcrete TypesFrontend_hostMy_OpenStack_Host Instance ofInstance of ImplementingOpenStack HostHostUsesdefinesLifecycle Interface Lifecycle: create: start: stop: delete:ImplementingNova Plugin Lifecycle: create: nova_provisioner.create start: nova_provisioner.start stop: nova_provisioner.stop delete: nova_provisioner.delete 21. Relationships Node in TopologyConnnected_toNode in TopologydefinesHosted_onRelationship InterfaceNode in Topology source_interfaces: cloudify.interfaces.relationship_lifecycle: - preconfigure - postconfigure - establish - unlink target_interfaces: cloudify.interfaces.relationship_lifecycle: - preconfigure - postconfigure - establish - unlink 22. Relationships HostConnnected_toNetworkdefinesHosted_onRelationship InterfaceTomcat source_interfaces: cloudify.interfaces.relationship_lifecycle: - preconfigure - postconfigure - establish - unlink target_interfaces: cloudify.interfaces.relationship_lifecycle: - preconfigure - postconfigure - establish - unlink 23. NodeTranslated to TOSCANodeHosted_on relationshipNode Connected_to relationship 24. Properties Portable BlueprintConcrete TypesFrontend_hostMy_OpenStack_Host Instance ofInstance of ImplementingOpenStack HostHostMemory size = 2GB Image_Id=1235 Memory SizeProperties schemaProperty valuesImage Id Generic Properties Schema 25. Policies TOSCA 1.0 didnt elaborate much on policies TOSCA 2.0 (draft) discusses specific DSL for specific policies such as SLA of a Node Out take: Policies are imperative Policies are NOT in YAML and are tool dependent (were using Riemann.io) 26. TOSCA 1.0 Workflows (Plans) are in any WF language. Strong preference for BPMN 2.0Workflows TOSCA 2.0 No change Cloudify 3.0 take Workflows are also tool specific, currently we use Radial (Ruby based DSL) but seeking an alternative for future versions 27. TOSCA Template (Blueprint in Cloudify) contains:Putting It All Together Application Topology Nodes Interfaces Properties Artifacts (Plugins in Cloudify) Relationships Interfaces Workflows Policies 28. Portable Blueprint 29. Openstack_host type 30. Type implementation 31. Invokes Reports CreatesArchitectureCloudify Manager REST + File Server ProxyGUIMetrics VM Blueprint + Runtime DataWorkflow EnginePolicy EngineTask ManagerMonitoring DataAgentLogs + Events App VMRemote Agents Application Stack Agent Agent AgentAgentMonitoring Agent 32. HOW IT FITS INTO THE OPENSTACK UNIVERSE 33. The AWS Stack 34. The OpenStack EquivalentsOpenShift/ CloudFoundry **Solum**?HeatNova, Cinder, Neutron etc.. 35. References OASIS TOSCA https://www.oasis-open.org/committees/tosca/ TOSCA Session from the HK Summit https://wiki.openstack.org/w/images/a/a1/TOSCA_in_Heat_-_20130415.pdf Cloudify 3.0 (AKA Cosmo) on github https://github.com/cloudifysource/cosmo-manager https://github.com/cloudifysource/cosmo-cli