Application Model for Cloud DeploymentADD07Komal Mangtani, Snr R&D Manager, VMware, Inc.
DisclaimerThis session may contain product features that are currently under development.This session/overview of the new technology represents no commitment from VMware to deliver these features in any generally available product.Features are subject to change, and must not be included in contracts, purchase orders, or sales agreements of any kind.Technical feasibility and market demand will affect final delivery.Pricing and packaging for any new technologies or features discussed or presented have not been determined.“THESE FEATURES ARE REPRESENTATIVE OF FEATURE AREAS UNDER DEVELOPMENT. FEATURE COMMITMENTS ARE SUBJECT TO CHANGE, AND MUST NOT BE INCLUDED IN CONTRACTS, PURCHASE ORDERS,OR SALES AGREEMENTS OF ANY KIND. TECHNICAL FEASIBILITY AND MARKET DEMAND WILL AFFECT FINAL.”
AgendaOrigins of Cloud deployments – the essence of *aaSTypes of Cloud environmentsCloud adoption trends Problems to solveEfforts within VMwareDetails of app modelSummary
Origins of Cloud Deploymentsdeveloptestreleaseinstallconfigoperateoperatedeveloptest
The Essence of “aaS” (as a Service)It just plain worksSomeone else is responsible for keeping it runningSomeone else is responsible for keeping it up to dateSomeone else is responsible for capex and capacity planningAgilityDaily, weekly, monthly release cycle (as appropriate)Continuous improvement: performance, features, languages and frameworks, services, etcQuickly react to trends: competitors, business plan options, distribution optionsVisibilityAggregate analytics and metricsPage views per day, hour, by region, organization, partnerLanguage and framework usage by region, organization, partner
Various Cloud EnvironmentsPublicPrivatePaaSApplication stacks + languages + frameworksIaaSInfrastructure modelwith servicesUtilityHosted infrastructure –physical and virtual machines
Cloud Adoption Trends We Are ObservingLarge enterprises starting their journey to pure Clouddeployments with Virtualization first and then Private cloudsPublic Cloud in use for development and testingSwitch to private Cloud for production deploymentsDevelopers getting involved in defining the application deployment environment along with infrastructure teamsAll you can see in Cloud is your app! Application level management becoming more critical
Problems to SolveEase deployment in dev, test, production zones across CloudsEnable collaborative hand-off of applications between applications group and infrastructure groupPreserve the knowledge built during deployment to create optimalruntime env for appsAutomate generation of run book steps Most automation tools are useful AFTER run book steps are determined by userHelp derive hardware requirements from application topologyApplication-centric management Application level operationsBackup, DRS, start/stop operations at app levelView chargeback information at app levelMapping of applications to VMs and hosts underneath
Efforts within VMware
What Are We Up To?Vision Collaborative portal for discovering/modeling, deploying, configuring and monitoring enterprise applications Target usersEnterprise customers currently using vCenter and vCloudApplication groups in IT organizationTargeted applicationsClustered, complex app deploymentsN-tier web applicationsVarious app stacks : JEE, RoR, .NetLet the cloud richness shine throughSupport  deployments in various Clouds by leveraging the richness of eachCloud environment
vCloud(off-premise)AmazonApplications Management in Various CloudsVMVMappserver clusterVMweb server   load balancerProvisioningconfiguration managementapp-aware DRSCloud Driversapp-aware BackupmonitoringVMVMdatabase clusterexternal pluginsdiscoveryApp specific SolutionsApplications Managementapp awareChargebackDRSBackupvCentervCenterESX hosts
Key Link: Application Modelapplication modelEnforce app modelProvision app modelDesign app modelInitial EnforcementPlacement rules
Cpu/mem reservations
Security requirements
Configuration mappingsRuntime EnforcementRuntime monitoring
Raise policy violations
Analyze drift from original modelCreate new apps OR Discover appsComponent based model
Simple relationships :
Containment
Association
Map configuration properties
Model network
Model node and node arrays
Model policies
Cloud agnosticServer ApplicationsDeploy and/or
Package as appliance
Configure  apps
In-place updates
Rolling upgradesDeployment PlatformsvCenter
vCloud
amazon cloudGoals for our Application ModelSeparate application definition from deployment platformEnable late binding of model to the platformDevelopers should be able to model application topologyIncluding internal and external dependencies for their appInfrastructure administrators can have control over final deploymentEnsure IT policies are adhered toShould be able to see deployment plan and add additional activiesCarry information about various phases of an application lifecycleApp model travels with the applicationDeployment time changes allowedPolicies to enforce during runtimeImpact of updates and rollback of a s/w component on the applicationCorrelate monitoring information to parts of application Leverage OVF standard for vm/vApp descriptionRelies on OVF for virtual machine description
Our Application ModelComponent basedConsists of Application profile aka app blueprint  Deployment profile aka platform bindingsApplication compositionApplication components  eg: db component, tc component, war componentRelationships between componentsConfiguration properties for each componentMapping of app components to nodesBindings to external dependencies Application assemblyDerives the process of deploying the applicationAllows adding maintenance operations at certain pointsOperational policiesAffinity  and anti-affinity rules Resource allocation policies
Modeling ApplicationStep 1:Define components (parts) of your application
Step 1: Component DefinitionComponent models a specific part of your applicationTypical 3-tier JEE contains Database component, appserver component, war component, monitoring agent componentComponent definition contains ContentInstall/config scriptsProperties it exposesDependencies to other components

Application Model for Cloud Deployment

  • 1.
    Application Model forCloud DeploymentADD07Komal Mangtani, Snr R&D Manager, VMware, Inc.
  • 2.
    DisclaimerThis session maycontain product features that are currently under development.This session/overview of the new technology represents no commitment from VMware to deliver these features in any generally available product.Features are subject to change, and must not be included in contracts, purchase orders, or sales agreements of any kind.Technical feasibility and market demand will affect final delivery.Pricing and packaging for any new technologies or features discussed or presented have not been determined.“THESE FEATURES ARE REPRESENTATIVE OF FEATURE AREAS UNDER DEVELOPMENT. FEATURE COMMITMENTS ARE SUBJECT TO CHANGE, AND MUST NOT BE INCLUDED IN CONTRACTS, PURCHASE ORDERS,OR SALES AGREEMENTS OF ANY KIND. TECHNICAL FEASIBILITY AND MARKET DEMAND WILL AFFECT FINAL.”
  • 3.
    AgendaOrigins of Clouddeployments – the essence of *aaSTypes of Cloud environmentsCloud adoption trends Problems to solveEfforts within VMwareDetails of app modelSummary
  • 4.
    Origins of CloudDeploymentsdeveloptestreleaseinstallconfigoperateoperatedeveloptest
  • 5.
    The Essence of“aaS” (as a Service)It just plain worksSomeone else is responsible for keeping it runningSomeone else is responsible for keeping it up to dateSomeone else is responsible for capex and capacity planningAgilityDaily, weekly, monthly release cycle (as appropriate)Continuous improvement: performance, features, languages and frameworks, services, etcQuickly react to trends: competitors, business plan options, distribution optionsVisibilityAggregate analytics and metricsPage views per day, hour, by region, organization, partnerLanguage and framework usage by region, organization, partner
  • 6.
    Various Cloud EnvironmentsPublicPrivatePaaSApplicationstacks + languages + frameworksIaaSInfrastructure modelwith servicesUtilityHosted infrastructure –physical and virtual machines
  • 7.
    Cloud Adoption TrendsWe Are ObservingLarge enterprises starting their journey to pure Clouddeployments with Virtualization first and then Private cloudsPublic Cloud in use for development and testingSwitch to private Cloud for production deploymentsDevelopers getting involved in defining the application deployment environment along with infrastructure teamsAll you can see in Cloud is your app! Application level management becoming more critical
  • 8.
    Problems to SolveEasedeployment in dev, test, production zones across CloudsEnable collaborative hand-off of applications between applications group and infrastructure groupPreserve the knowledge built during deployment to create optimalruntime env for appsAutomate generation of run book steps Most automation tools are useful AFTER run book steps are determined by userHelp derive hardware requirements from application topologyApplication-centric management Application level operationsBackup, DRS, start/stop operations at app levelView chargeback information at app levelMapping of applications to VMs and hosts underneath
  • 9.
  • 10.
    What Are WeUp To?Vision Collaborative portal for discovering/modeling, deploying, configuring and monitoring enterprise applications Target usersEnterprise customers currently using vCenter and vCloudApplication groups in IT organizationTargeted applicationsClustered, complex app deploymentsN-tier web applicationsVarious app stacks : JEE, RoR, .NetLet the cloud richness shine throughSupport deployments in various Clouds by leveraging the richness of eachCloud environment
  • 11.
    vCloud(off-premise)AmazonApplications Management inVarious CloudsVMVMappserver clusterVMweb server load balancerProvisioningconfiguration managementapp-aware DRSCloud Driversapp-aware BackupmonitoringVMVMdatabase clusterexternal pluginsdiscoveryApp specific SolutionsApplications Managementapp awareChargebackDRSBackupvCentervCenterESX hosts
  • 12.
    Key Link: ApplicationModelapplication modelEnforce app modelProvision app modelDesign app modelInitial EnforcementPlacement rules
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
    Analyze drift fromoriginal modelCreate new apps OR Discover appsComponent based model
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
    Model node andnode arrays
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
    amazon cloudGoals forour Application ModelSeparate application definition from deployment platformEnable late binding of model to the platformDevelopers should be able to model application topologyIncluding internal and external dependencies for their appInfrastructure administrators can have control over final deploymentEnsure IT policies are adhered toShould be able to see deployment plan and add additional activiesCarry information about various phases of an application lifecycleApp model travels with the applicationDeployment time changes allowedPolicies to enforce during runtimeImpact of updates and rollback of a s/w component on the applicationCorrelate monitoring information to parts of application Leverage OVF standard for vm/vApp descriptionRelies on OVF for virtual machine description
  • 32.
    Our Application ModelComponentbasedConsists of Application profile aka app blueprint Deployment profile aka platform bindingsApplication compositionApplication components eg: db component, tc component, war componentRelationships between componentsConfiguration properties for each componentMapping of app components to nodesBindings to external dependencies Application assemblyDerives the process of deploying the applicationAllows adding maintenance operations at certain pointsOperational policiesAffinity and anti-affinity rules Resource allocation policies
  • 33.
    Modeling ApplicationStep 1:Definecomponents (parts) of your application
  • 34.
    Step 1: ComponentDefinitionComponent models a specific part of your applicationTypical 3-tier JEE contains Database component, appserver component, war component, monitoring agent componentComponent definition contains ContentInstall/config scriptsProperties it exposesDependencies to other components