SlideShare a Scribd company logo
1 of 29
Software Architecture Definition for
On-Demand Cloud provisioning

            Clovis Chapman, Wolfgang Emmerich, Fermín
            Galán Marquez, Stuart Clayman, Alex Galis
            University College London
            Telefonica I+D
 The research leading to these results has been partially funded by the European
 Community's Seventh Framework Programme (FP7/2007-2013) under grant agreement n° 215605.
Overview


      Problem overview
      Background: Resources And Service Virtualization Without Barriers
      Approach: Software architecture definition
      Evaluation




Software Architecture Definition for On-demand Cloud Provisioning
Problem overview

 Clouds introduce opportunity to lease computational resources on
  demand:
    – Manage the execution of service applications across multiple physical
      locations in a seamless manner
    – Virtualisation allow a wide range of new capabilities (migration, on demand
      allocation, dynamic resizing)

 Software systems hosted on clouds may be composed of numerous
  loosely coupled components:
    – Application may present architectural constraints, co-dependencies between
      components.
    – Providers must be able to define software composition and requirements
      related to the provisioning of the service.




Software Architecture Definition for On-demand Cloud Provisioning
Example: SAP ERP System


Presentation
                  SAP GUI
                 SAP GUI            SAP GUI
                                    Browser                 Three tier architecture:

                                                               Database (DBMS)
                                                               Central Instance (CI)
                                                                    – Enqueue server
                                                                      providing a high level
                 DI
                 DI           CI           DI
                                           DI
 Application                                                          locking mechanism
                                                                      (data consistency)
                                                                    – Messaging server for
                                                                      load balancing
                                                               Dialog Instance
                                                                    – User request processing
                            DBMS
 Database                                                           – Data record updates
                                                                    – Batch processing




Software Architecture Definition for On-demand Cloud Provisioning
Example: SAP ERP System

                  SAP GUI
                 SAP GUI            SAP GUI
                                    Browser
Presentation

                                                               Software composition: Individual
                                                               components may have different
                                                               software and hardware
                                                               requirements:

                                                               - DBMS: large storage requirements
 Application     DI
                 DI           CI           DI
                                           DI                  - DI: Processor intensive

                                                               Topology: All components must
                                                               belong to the same virtual network.

                                                               Customization: Locations must be
                                                               provided at run-time.
                            DBMS
 Database




Software Architecture Definition for On-demand Cloud Provisioning
Example: SAP ERP System

                  SAP GUI
                 SAP GUI            SAP GUI
                                    Browser
Presentation




 Application     DI
                 DI           CI           DI
                                           DI
                                                            Deployment dependencies: DBMS
                                                            and CI must be run first.

                                                            Location constraints: Must be co-
                                                            located on the same physical site to
                                                            minimise latency
                            DBMS
 Database




Software Architecture Definition for On-demand Cloud Provisioning
Example: SAP ERP System

                  SAP GUI
                 SAP GUI            SAP GUI
                                    Browser
Presentation




 Application     DI
                 DI           CI           DI
                                           DI            DI             DI




                            DBMS
 Database                                             Dynamic capacity adjustment: Might
                                                      require new DIs to meet increases in
                                                      workload.

                                                      Resource requirements directly proportional
                                                      to concurrent sessions.




Software Architecture Definition for On-demand Cloud Provisioning
Example 2: Thales eGov




   Dynamic capacity adjustment:
   Each layer invoked to process user
   requests.

   Each scale independently
   according to load and average
   response time.




Software Architecture Definition for On-demand Cloud Provisioning
Focus of this work

    Define a software architecture definition language:
        – Enable service providers to control the deployment and management of
          services deployed on Clouds throughout their lifetime.
        – Introduce abstractions to support capabilities introduced by cloud
          computing (e.g. service elasticity)

    Define underlying service management infrastructure support:
        – Monitoring / lifecycle management / elasticity enforcement


    Define behavioural semantics for the language:
        – Link between software architecture definition and infrastructure
        – Derive service management lifecycle from software architecture
          definition
        – Constrain infrastructure operation




Software Architecture Definition for On-demand Cloud Provisioning
Overview


      Problem overview
      Background: Resources And Service Virtualization Without Barriers
      Approach: Software architecture definition
      Evaluation




Software Architecture Definition for On-demand Cloud Provisioning
RESERVOIR Goals
  Develop and promote (through standardization) an open
   architecture for federated cloud computing
      - where resources and services can be transparently and dynamically
        managed, provisioned and relocated like utilities


       RESERVOIR is an open framework of modular components
        that enable a wide range of setups within the cloud space




      Infrastructure            OIR                                  Solutions
                              RV
                            SE
                          RE




Software Architecture Definition for On-demand Cloud Provisioning
Challenges


     Inherently limited scalability of single-provider clouds
     Lack of interoperability among cloud providers
         - Inability to scale through partnerships across providers
         - Prevents small and medium infrastructure providers from
           entering the market
         - Locks consumers to a single vendor

     Dynamic and automated application scaling

     BSM through Service Level Agreements, Monitoring,
      Security …




Software April, 2009 Definition forY1 Project Review
    1-2 Architecture                On-demand Cloud Provisioning   12
The RESERVOIR vision




                                                            Public cloud
                    Private cloud




                                                         Partner cloud



Software Architecture Definition for On-demand Cloud Provisioning
RESERVOIR Architecture
                                                                             Service Provider supplies:
                                                                             •   Prepacked Service Components
   • Enforces SLA compliance by adjusting                                        (Virtual Machine)
     application capacity:                                                   •   Service Manifest
    • Service Components Sizing (VEEs)
                                                                          Separation + Business Orientation
    • Service Tiers sizing
                                                            Service Provider
   • Responsible for accounting and billing




                                                                       SMI
   Elasticity + Business Orientation + Trust + Security     Manifest



  •    Optimizes VEE placement
       subject to constraints                                 Service Manager
  •    Deals with site federation
  •    Distributed as OpenNebula




                                                                       VMI
                                               SLA                                                   SLA

  Federation + Elasticity + Trust + Security    VMI        VEE Manager (VEEM)                      VMI


  •    Translates generic commands
       into specific virtualization platform




                                                                       VHI
       commands
  •    Creates and maintains isolated
       virtual networks
  •    Enables efficient and secure access                       VEE Host (VEEH)
                                                          (e.g., Hypervisor, VJSC Host)
       to remote storage
                                                                                  Reservoir Site
  Isolation + Elasticity + Trust + Security

Software Architecture Definition for On-demand Cloud Provisioning
Service Manifest Requirements


     Service Manifest Language
       – Define language for service definition manifest to express:
              •   Application structure (software architecture)
              •   Constraints (grouping / topology / cost)
              •   Capacity requirements (with elasticity rules)
              •   Monitoring specification
              •   Additional information (requirements / service levels / Customisation )
         – Contract between provider and infrastructure provider

     Service Lifecycle Management
       – Derive various representations and execution plans for underlying
         layers:
              • Deployment descriptor
              • Elasticity rules
              • …


Software Architecture Definition for On-demand Cloud Provisioning
Overview


      Problem overview
      Background: Resources And Service Virtualization Without Barriers
      Approach: Software architecture definition
      Evaluation




Software Architecture Definition for On-demand Cloud Provisioning
Model-denotational Approach

      Language definition using OMG’s Model Driven Architecture

      Abstract syntax defined using the Essential Meta Object facility
        – Define core syntactic elements of the language (software
          architecture, requirements, etc.)

    Various concrete syntaxes (XMI, HUTN, …) as may be required
        – Based on open standards – in particular the Open Virtualisation Format
          (OVF)

      Semantics expressed as constraints on relationship between domain model
       and syntactic model using the Object Constraints Language.
         Domain model represents cloud infrastructure and




Software Architecture Definition for On-demand Cloud Provisioning
Service Deployment

  Manifest Language Syntax                                                        Virtual Execution Environment

                                  Manifest                           VirtualMachine                    OS

                            +refs: Reference[]                  +name:String                  +kernel: String
                            +disks: Disk[]                      +CPU: double                  +initdr: String
                            +nets: Network[]                    +memory: double               +kernel_cmd: String
                            +vm: VirtualSystem[]                +Rank: String                 +root: String
                                                                +Requirements:                +boot: String
                                                                String
   ApplicationDescription                                       +input: Input
                                                   context Association
                                                                +graphics: Graphics
  +comp: Components[]
  +kpi: KPIs                                       inv:
                                                                                                      Disk
                                                   manifest .vm −> forAll ( v |            +type: String
                                                     depdescriptor . exists( d |           +source: String
                                                       d.name = v. id &&                   +target: String
       ElasticityRule
                                                       d.memory = v.virtualhardware.memory +bus: String
                                                                                            &&
  +cond: Expression                                                                        +readOnly: boolean
                                                       d. disk. source =
  +kpi: KPIs
                                                         (manifest.refs.file −>asSet()
  +action: Operation
                                                         −> select (id = v. id))−>first().href
                                                       . . .
                                                                                                    NIC
                                                     )
                                                                                              +mac: String
                                                                                              +bridge: String
                                                                                              +target: String
                                                                                              +script: String




Software Architecture Definition for On-demand Cloud Provisioning
Elasticity Rule Management


         Application Domain                     Service Management                  Language Syntax
                            MonitoringAgen
       DialogInstance                                  MonitoringEvent                 ElasticityRule
                                   t



       CentralInstance      WebDispatcher                                                   KPI
                                                         RuleEngine


                                                                                        Component
           DBMS

                                                              context RuleInterpreter ::
                                                              evaluate(expr: Expression): Real
                                                                                   ApplicationDescription
                         LocalProcess        VirtualMachine              VEEM
                                                              post:

     Application level monitor                               if expr.op.oclIsTypeOf(GreaterThan)
                                                              then Operation
      publishes measurements of                                                          Manifest
                                                                if self . evaluate((op. el −>first
      Key Performance Indicators                                 ()) > self . evaluate((op.
                                                              el−>last ())
                                               addVM                 deleteVM
                                                                then result = 1
     Elasticity rules define                                   else result = 0
      resizing actions to                    migrateVM          end if … else
      undertake based on KPI                                    . . . .
      conditions
                                                              endif


Software Architecture Definition for On-demand Cloud Provisioning
Deriving Java Code – Eclipse Plugin




Software Architecture Definition for On-demand Cloud Provisioning
Concrete Syntax (Implementation)

   Requirement                                   CDDLM       SDD     OVF
                                                                               Service Manifest requirements
   Service          Architecture description        N         Y          Y
                                                                               have been evaluated against
                    Hardware requirements           N         N          Y     existing Service Definition
                    Software environment            N         N          Y     Languages:
                    Network topology                N         N          Y/I
   Virtualization   Elasticity                      N         N          P
                                                                                The Open Virtualisation
                                                                               Format (OVF), DMTF standard
                    Migration constraints           N         N          N
                                                                               backed by XenSource and
                    Portability                     N         Y          Y
                                                                               VMWare, was found to be the
   Dependency       Deployment                      N         P          P     most suited
                    Undeployment                    N         Y          Y
   Customization                                    N         Y          Y      Extensions were needed:
   Location Constraints                             N         N          N     OVF is primarily suited for the
   Non-functional   Security Support                N         N          Y
                                                                               initial deployment of fixed
                                                                               sized services
                    Extensible                      Y         Y          Y
                    Open Standard                   Y         Y          Y
                    Existing support                Y         Y          Y
                                               Y: Yes N: No P: Partial




Software Architecture Definition for On-demand Cloud Provisioning
OVF Additional Extensions

  Extension          Limitation in standard OVF for             How the limitation is      Extension type
                     RESERVOIR                                  solved
  Elasticity Rules   Service elasticity is not considered       <ElasticityRulesSection>   New section for
                                                                                           standard OVF
  Key Performance    KPI specification to trigger elasticity    <KPIsSection>              New section for
  Indicators                                                                               standard OVF
                                                                       Can specify scaling rules with an Event
  Deployment         No ability to specify constraints on       <DeploymentSection>      New section for
                     deployment location and exclude                   Condition Actionstandard (simplified):
                                                                                          format OVF
  Constraints
                     specific zones
                                                                         <VirtualSystem min=“0” max=“10”>
  Affinity           How to specify that certain machines       <AffinitySection>          New section for
                                                                             <ElasticityArraySection>
  Requirements       should be located in a same location (or                       <Rule> standard OVF
                     not)                                                    <KPIName>totalUsers</KPIName>
                                                                             <Window unit="mn">10</Window>
  Performance        How to define the expected range of        <PerformanceObjectiveS     New section for
                                                                             <Frequency>60</Frequency>
  Objective          values that KPI measurements should        ection>                    standard OVF
                                                                             <Quota>20</Quota>
                     fall in for SLA protection
                                                                             </Rule>
  Availability       How to specify availability guarantees     <AvailabilitySection>      New section for
  Requirements       for services                                                          standard OVF




Software Architecture Definition for On-demand Cloud Provisioning
Service Management Infrastructure

                                               Service Manager          Cloud Provider

                                                    Deploy/Undeploy   Central Instance
       Service                  Parser
       Manifest                                                             Probe

         KPI                    Lifecycle              Rules
                                Manager     Rules      Engine         Dialog Instance

        Rules
                                                                            Probe


                                         HTTP Server
                                                                      Dialog Instance
                      Customization
                                                                            Probe

                                                         Monitoring
                  Disk Images
                                                                Bus




Software Architecture Definition for On-demand Cloud Provisioning
Overview


      Problem overview
      Background: Resources And Service Virtualization Without Barriers
      Approach: Software architecture definition
      Evaluation




Software Architecture Definition for On-demand Cloud Provisioning
Evaluation: Scientific Grid Computing

 Scientific grid application deployed on Cloud infrastructure – polymorph
  prediction:
    - Involves a number of grid and web based services to trigger and monitor the
      search – up to 7200 executions of fortran programs


 Objective: If software architecture is correctly described - can we obtain:
    - An equivalent quality of service than that of a dedicated environment
    - Reduced resource consumption through elasticity rule definitions


 Testbed: six servers, Quad-Core AMD Opteron(tm) Processor 2347 HE
  CPU and 8 GBs of RAM and with shared storage via NFS.




Software Architecture Definition for On-demand Cloud Provisioning
Evaluation: Scientific Grid Computing


                Front End               Web Server
                                                                    Input
                Web Server              GridSAM                     Exec
                                                                    ..         Condor
                BPEL                      Condor                                Job
                                         Scheduler          Job                starter
                                                            queue

                                            Grid          Execution
    Orchestration                                             Node
         Service                     Management
                                         Service                VM
                                                                            Dynamic scaling 

                         RESERVOIR Service management system


                                                                                         Physical
                                                                                         resources




Software Architecture Definition for On-demand Cloud Provisioning
Evaluation: Scientific Grid Computing


                Front End               Web Server
                                                                     Input
                Web Server              GridSAM                      Exec
                                                                     ..        Condor
                BPEL                      Condor                                Job
                                         Scheduler            Job              starter
                                                              queue

                                            Grid           Execution
    Orchestration                                               Node
         Service                     Management
                                            Service elasticity:
                                         Service                 VM
                                                                         Dynamic scaling 
                                            Scale number of cluster nodes according to
                         RESERVOIR       Servicein queue:
                                            jobs management system

                                             - Monitoring agent provides job queue
                                             information KPI
                                                                                        Physical
                                             - Manifest defines upscaling and downscaling
                                                                                        resources
                                             rules e.g.:
                                                   If (queusize / instances ) > 4
                                                         -> deploy(executeNode)

Software Architecture Definition for On-demand Cloud Provisioning
Evaluation: Results




      Full turn around time for overall grid search:

       Dedicated service (static): 2h23
       Elastic provisioning: 2h39 (+7%)

      Resource Cost saving for single run: 34% - over a week: 69.18%



Software Architecture Definition for On-demand Cloud Provisioning
Acknowledgments


   RESERVOIR consortium : http://www.reservoir-fp7.eu
   OpenNebula: http://www.opennebula.org
   UCL-MDA tools: http://uclmda.sourceforge.net/




Software Architecture Definition for On-demand Cloud Provisioning

More Related Content

What's hot

Cloud providers vs Cloud pretenders
Cloud providers vs Cloud pretendersCloud providers vs Cloud pretenders
Cloud providers vs Cloud pretendersDaniel Shim
 
Opportunites and Challenges in Cloud COmputing
Opportunites and Challenges in Cloud COmputingOpportunites and Challenges in Cloud COmputing
Opportunites and Challenges in Cloud COmputingACMBangalore
 
Cloud Computing Potentials
Cloud Computing PotentialsCloud Computing Potentials
Cloud Computing Potentialsabta
 
Cloud Computing for Beginners
Cloud Computing for BeginnersCloud Computing for Beginners
Cloud Computing for BeginnersJainul Musani
 
Mainframe cloud computing presentation
Mainframe cloud computing presentationMainframe cloud computing presentation
Mainframe cloud computing presentationxKinAnx
 
Cloud Interoperability Forum Sep 24
Cloud Interoperability Forum Sep 24Cloud Interoperability Forum Sep 24
Cloud Interoperability Forum Sep 24Reuven Cohen
 
Case Study of SURE! Unified Communications
Case Study of SURE! Unified CommunicationsCase Study of SURE! Unified Communications
Case Study of SURE! Unified CommunicationsSURE!
 
Application of Virtualisation and CloudComputing for Development and Runtime ...
Application of Virtualisation and CloudComputing for Development and Runtime ...Application of Virtualisation and CloudComputing for Development and Runtime ...
Application of Virtualisation and CloudComputing for Development and Runtime ...Ingenieurbuero Arno-Can Uestuensoez
 
cloud coumputing
cloud coumputingcloud coumputing
cloud coumputingsai kumar R
 
Cloud computing abstract
Cloud computing abstractCloud computing abstract
Cloud computing abstractJagadeesh Kumar
 
Mobile Cloud Computing: Big Picture
Mobile Cloud Computing: Big PictureMobile Cloud Computing: Big Picture
Mobile Cloud Computing: Big PictureReza Rahimi
 
Cloud Computing for Beginners
Cloud Computing for Beginners Cloud Computing for Beginners
Cloud Computing for Beginners Suman Singh
 
Synopsis on cloud computing by Prashant upta
Synopsis on cloud computing by Prashant uptaSynopsis on cloud computing by Prashant upta
Synopsis on cloud computing by Prashant uptaPrashant Gupta
 
Unit 1.1 introduction to cloud computing
Unit 1.1   introduction to cloud computingUnit 1.1   introduction to cloud computing
Unit 1.1 introduction to cloud computingeShikshak
 
Cloud Computing Services Intro
Cloud Computing Services IntroCloud Computing Services Intro
Cloud Computing Services IntroDj Das
 

What's hot (20)

Cloud providers vs Cloud pretenders
Cloud providers vs Cloud pretendersCloud providers vs Cloud pretenders
Cloud providers vs Cloud pretenders
 
cloud computing
cloud computingcloud computing
cloud computing
 
Opportunites and Challenges in Cloud COmputing
Opportunites and Challenges in Cloud COmputingOpportunites and Challenges in Cloud COmputing
Opportunites and Challenges in Cloud COmputing
 
Cloud Computing Potentials
Cloud Computing PotentialsCloud Computing Potentials
Cloud Computing Potentials
 
Cloud Computing for Beginners
Cloud Computing for BeginnersCloud Computing for Beginners
Cloud Computing for Beginners
 
cloud computing
cloud computingcloud computing
cloud computing
 
Mobile gis
Mobile gisMobile gis
Mobile gis
 
Mainframe cloud computing presentation
Mainframe cloud computing presentationMainframe cloud computing presentation
Mainframe cloud computing presentation
 
Cloud Interoperability Forum Sep 24
Cloud Interoperability Forum Sep 24Cloud Interoperability Forum Sep 24
Cloud Interoperability Forum Sep 24
 
Case Study of SURE! Unified Communications
Case Study of SURE! Unified CommunicationsCase Study of SURE! Unified Communications
Case Study of SURE! Unified Communications
 
Application of Virtualisation and CloudComputing for Development and Runtime ...
Application of Virtualisation and CloudComputing for Development and Runtime ...Application of Virtualisation and CloudComputing for Development and Runtime ...
Application of Virtualisation and CloudComputing for Development and Runtime ...
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
cloud coumputing
cloud coumputingcloud coumputing
cloud coumputing
 
Cloud computing abstract
Cloud computing abstractCloud computing abstract
Cloud computing abstract
 
Mobile Cloud Computing: Big Picture
Mobile Cloud Computing: Big PictureMobile Cloud Computing: Big Picture
Mobile Cloud Computing: Big Picture
 
Cloud Computing for Beginners
Cloud Computing for Beginners Cloud Computing for Beginners
Cloud Computing for Beginners
 
Synopsis on cloud computing by Prashant upta
Synopsis on cloud computing by Prashant uptaSynopsis on cloud computing by Prashant upta
Synopsis on cloud computing by Prashant upta
 
Unit 1.1 introduction to cloud computing
Unit 1.1   introduction to cloud computingUnit 1.1   introduction to cloud computing
Unit 1.1 introduction to cloud computing
 
Cloud Computing Services Intro
Cloud Computing Services IntroCloud Computing Services Intro
Cloud Computing Services Intro
 
cloud-computing
cloud-computingcloud-computing
cloud-computing
 

Viewers also liked

Sap Busines Suite At IBM event
Sap Busines Suite At IBM eventSap Busines Suite At IBM event
Sap Busines Suite At IBM eventShekhar Bhartiya
 
Public PhD Defense Enterprise Architecture for Small and Medium-Sized Enterpr...
Public PhD Defense Enterprise Architecture for Small and Medium-Sized Enterpr...Public PhD Defense Enterprise Architecture for Small and Medium-Sized Enterpr...
Public PhD Defense Enterprise Architecture for Small and Medium-Sized Enterpr...Maxime Bernaert
 
05. sap architecture final and os concepts (1)
05. sap architecture  final and os concepts (1)05. sap architecture  final and os concepts (1)
05. sap architecture final and os concepts (1)Tarek Hossain Chowdhury
 
Common Europe SAP on i for beginners
Common Europe SAP on i for beginnersCommon Europe SAP on i for beginners
Common Europe SAP on i for beginnersCOMMON Europe
 
SAP ERP Solutions - How It Evolved Over Time
SAP ERP Solutions - How It Evolved Over TimeSAP ERP Solutions - How It Evolved Over Time
SAP ERP Solutions - How It Evolved Over TimeAPPSeCONNECT
 
(ARC401) Cloud First: New Architecture for New Infrastructure
(ARC401) Cloud First: New Architecture for New Infrastructure(ARC401) Cloud First: New Architecture for New Infrastructure
(ARC401) Cloud First: New Architecture for New InfrastructureAmazon Web Services
 
Cloud Architecture: Patterns and Best Practices
Cloud Architecture: Patterns and Best PracticesCloud Architecture: Patterns and Best Practices
Cloud Architecture: Patterns and Best PracticesSascha Möllering
 
History and Evolution of ERP & SAP
History and Evolution of ERP & SAPHistory and Evolution of ERP & SAP
History and Evolution of ERP & SAPShivkumar Rai
 

Viewers also liked (9)

Sap Busines Suite At IBM event
Sap Busines Suite At IBM eventSap Busines Suite At IBM event
Sap Busines Suite At IBM event
 
Public PhD Defense Enterprise Architecture for Small and Medium-Sized Enterpr...
Public PhD Defense Enterprise Architecture for Small and Medium-Sized Enterpr...Public PhD Defense Enterprise Architecture for Small and Medium-Sized Enterpr...
Public PhD Defense Enterprise Architecture for Small and Medium-Sized Enterpr...
 
Sap architecture
Sap architectureSap architecture
Sap architecture
 
05. sap architecture final and os concepts (1)
05. sap architecture  final and os concepts (1)05. sap architecture  final and os concepts (1)
05. sap architecture final and os concepts (1)
 
Common Europe SAP on i for beginners
Common Europe SAP on i for beginnersCommon Europe SAP on i for beginners
Common Europe SAP on i for beginners
 
SAP ERP Solutions - How It Evolved Over Time
SAP ERP Solutions - How It Evolved Over TimeSAP ERP Solutions - How It Evolved Over Time
SAP ERP Solutions - How It Evolved Over Time
 
(ARC401) Cloud First: New Architecture for New Infrastructure
(ARC401) Cloud First: New Architecture for New Infrastructure(ARC401) Cloud First: New Architecture for New Infrastructure
(ARC401) Cloud First: New Architecture for New Infrastructure
 
Cloud Architecture: Patterns and Best Practices
Cloud Architecture: Patterns and Best PracticesCloud Architecture: Patterns and Best Practices
Cloud Architecture: Patterns and Best Practices
 
History and Evolution of ERP & SAP
History and Evolution of ERP & SAPHistory and Evolution of ERP & SAP
History and Evolution of ERP & SAP
 

Similar to Software Architecture Definition for On-demand Cloud Provisioning

Cloud Computing: Making IT Simple
Cloud Computing: Making IT SimpleCloud Computing: Making IT Simple
Cloud Computing: Making IT SimpleBob Rhubart
 
Cloud architecture and deployment: The Kognitio checklist, Nigel Sanctuary, K...
Cloud architecture and deployment: The Kognitio checklist, Nigel Sanctuary, K...Cloud architecture and deployment: The Kognitio checklist, Nigel Sanctuary, K...
Cloud architecture and deployment: The Kognitio checklist, Nigel Sanctuary, K...CloudOps Summit
 
Cloud Computing - Making IT Simple
 Cloud Computing - Making IT Simple Cloud Computing - Making IT Simple
Cloud Computing - Making IT SimpleBob Rhubart
 
08 sdn system intelligence short public beijing sdn conference - 130828
08 sdn system intelligence   short public beijing sdn conference - 13082808 sdn system intelligence   short public beijing sdn conference - 130828
08 sdn system intelligence short public beijing sdn conference - 130828Mason Mei
 
Making of a Successful Cloud Business
Making of a Successful Cloud BusinessMaking of a Successful Cloud Business
Making of a Successful Cloud BusinessACMBangalore
 
Microsoft Best Practices - AWS India Summit 2012
Microsoft Best Practices - AWS India Summit 2012Microsoft Best Practices - AWS India Summit 2012
Microsoft Best Practices - AWS India Summit 2012Amazon Web Services
 
The Enterprise Cloud: Immediate. Urgent. Inevitable.
The Enterprise Cloud: Immediate. Urgent. Inevitable.The Enterprise Cloud: Immediate. Urgent. Inevitable.
The Enterprise Cloud: Immediate. Urgent. Inevitable.Peter Coffee
 
2011 04-dsi-javaee-in-the-cloud-andreadis
2011 04-dsi-javaee-in-the-cloud-andreadis2011 04-dsi-javaee-in-the-cloud-andreadis
2011 04-dsi-javaee-in-the-cloud-andreadisdandre
 
Towards a Federated Cloud Ecosystem
Towards a Federated Cloud EcosystemTowards a Federated Cloud Ecosystem
Towards a Federated Cloud EcosystemClovis Chapman
 
Cloud Networking: Network aspects of the cloud
Cloud Networking: Network aspects of the cloudCloud Networking: Network aspects of the cloud
Cloud Networking: Network aspects of the cloudSAIL
 
AWS Partner Presentation - Datapipe - Deploying Hybrid IT, AWS Summit 2012 - NYC
AWS Partner Presentation - Datapipe - Deploying Hybrid IT, AWS Summit 2012 - NYCAWS Partner Presentation - Datapipe - Deploying Hybrid IT, AWS Summit 2012 - NYC
AWS Partner Presentation - Datapipe - Deploying Hybrid IT, AWS Summit 2012 - NYCAmazon Web Services
 
Cloud computing
Cloud computingCloud computing
Cloud computingMed Zaibi
 
Gef 2012 InduSoft Presentation
Gef 2012  InduSoft PresentationGef 2012  InduSoft Presentation
Gef 2012 InduSoft PresentationAVEVA
 
The SPOSAD Architectural Style for Multi-tenant Software Applications
The SPOSAD Architectural Style for Multi-tenant Software ApplicationsThe SPOSAD Architectural Style for Multi-tenant Software Applications
The SPOSAD Architectural Style for Multi-tenant Software ApplicationsHeiko Koziolek
 
The unified data center for cloud david yen
The unified data center for cloud david yenThe unified data center for cloud david yen
The unified data center for cloud david yendeepersnet
 
Be Prepared for Tomorrow's IT Forecast Great Chance of Hybrid Clouds
Be Prepared for Tomorrow's IT Forecast Great Chance of Hybrid CloudsBe Prepared for Tomorrow's IT Forecast Great Chance of Hybrid Clouds
Be Prepared for Tomorrow's IT Forecast Great Chance of Hybrid CloudsEucalyptus Systems, Inc.
 
Be Prepared for Tomorrow's IT Forecast: Great Chance of Hybrid Clouds
Be Prepared for Tomorrow's IT Forecast: Great Chance of Hybrid CloudsBe Prepared for Tomorrow's IT Forecast: Great Chance of Hybrid Clouds
Be Prepared for Tomorrow's IT Forecast: Great Chance of Hybrid CloudsEucalyptus Systems, Inc.
 

Similar to Software Architecture Definition for On-demand Cloud Provisioning (20)

Cloud Computing: Making IT Simple
Cloud Computing: Making IT SimpleCloud Computing: Making IT Simple
Cloud Computing: Making IT Simple
 
Cloud architecture and deployment: The Kognitio checklist, Nigel Sanctuary, K...
Cloud architecture and deployment: The Kognitio checklist, Nigel Sanctuary, K...Cloud architecture and deployment: The Kognitio checklist, Nigel Sanctuary, K...
Cloud architecture and deployment: The Kognitio checklist, Nigel Sanctuary, K...
 
Cloud Computing - Making IT Simple
 Cloud Computing - Making IT Simple Cloud Computing - Making IT Simple
Cloud Computing - Making IT Simple
 
08 sdn system intelligence short public beijing sdn conference - 130828
08 sdn system intelligence   short public beijing sdn conference - 13082808 sdn system intelligence   short public beijing sdn conference - 130828
08 sdn system intelligence short public beijing sdn conference - 130828
 
Making of a Successful Cloud Business
Making of a Successful Cloud BusinessMaking of a Successful Cloud Business
Making of a Successful Cloud Business
 
Microsoft Best Practices - AWS India Summit 2012
Microsoft Best Practices - AWS India Summit 2012Microsoft Best Practices - AWS India Summit 2012
Microsoft Best Practices - AWS India Summit 2012
 
The Enterprise Cloud: Immediate. Urgent. Inevitable.
The Enterprise Cloud: Immediate. Urgent. Inevitable.The Enterprise Cloud: Immediate. Urgent. Inevitable.
The Enterprise Cloud: Immediate. Urgent. Inevitable.
 
2011 04-dsi-javaee-in-the-cloud-andreadis
2011 04-dsi-javaee-in-the-cloud-andreadis2011 04-dsi-javaee-in-the-cloud-andreadis
2011 04-dsi-javaee-in-the-cloud-andreadis
 
Database as a Service - Tutorial @ICDE 2010
Database as a Service - Tutorial @ICDE 2010Database as a Service - Tutorial @ICDE 2010
Database as a Service - Tutorial @ICDE 2010
 
PIM4Cloud
PIM4CloudPIM4Cloud
PIM4Cloud
 
Towards a Federated Cloud Ecosystem
Towards a Federated Cloud EcosystemTowards a Federated Cloud Ecosystem
Towards a Federated Cloud Ecosystem
 
Cloud Networking: Network aspects of the cloud
Cloud Networking: Network aspects of the cloudCloud Networking: Network aspects of the cloud
Cloud Networking: Network aspects of the cloud
 
AWS Partner Presentation - Datapipe - Deploying Hybrid IT, AWS Summit 2012 - NYC
AWS Partner Presentation - Datapipe - Deploying Hybrid IT, AWS Summit 2012 - NYCAWS Partner Presentation - Datapipe - Deploying Hybrid IT, AWS Summit 2012 - NYC
AWS Partner Presentation - Datapipe - Deploying Hybrid IT, AWS Summit 2012 - NYC
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Gef 2012 InduSoft Presentation
Gef 2012  InduSoft PresentationGef 2012  InduSoft Presentation
Gef 2012 InduSoft Presentation
 
The SPOSAD Architectural Style for Multi-tenant Software Applications
The SPOSAD Architectural Style for Multi-tenant Software ApplicationsThe SPOSAD Architectural Style for Multi-tenant Software Applications
The SPOSAD Architectural Style for Multi-tenant Software Applications
 
The unified data center for cloud david yen
The unified data center for cloud david yenThe unified data center for cloud david yen
The unified data center for cloud david yen
 
Osac2012
Osac2012Osac2012
Osac2012
 
Be Prepared for Tomorrow's IT Forecast Great Chance of Hybrid Clouds
Be Prepared for Tomorrow's IT Forecast Great Chance of Hybrid CloudsBe Prepared for Tomorrow's IT Forecast Great Chance of Hybrid Clouds
Be Prepared for Tomorrow's IT Forecast Great Chance of Hybrid Clouds
 
Be Prepared for Tomorrow's IT Forecast: Great Chance of Hybrid Clouds
Be Prepared for Tomorrow's IT Forecast: Great Chance of Hybrid CloudsBe Prepared for Tomorrow's IT Forecast: Great Chance of Hybrid Clouds
Be Prepared for Tomorrow's IT Forecast: Great Chance of Hybrid Clouds
 

Recently uploaded

Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 

Recently uploaded (20)

Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 

Software Architecture Definition for On-demand Cloud Provisioning

  • 1. Software Architecture Definition for On-Demand Cloud provisioning Clovis Chapman, Wolfgang Emmerich, Fermín Galán Marquez, Stuart Clayman, Alex Galis University College London Telefonica I+D The research leading to these results has been partially funded by the European Community's Seventh Framework Programme (FP7/2007-2013) under grant agreement n° 215605.
  • 2. Overview  Problem overview  Background: Resources And Service Virtualization Without Barriers  Approach: Software architecture definition  Evaluation Software Architecture Definition for On-demand Cloud Provisioning
  • 3. Problem overview  Clouds introduce opportunity to lease computational resources on demand: – Manage the execution of service applications across multiple physical locations in a seamless manner – Virtualisation allow a wide range of new capabilities (migration, on demand allocation, dynamic resizing)  Software systems hosted on clouds may be composed of numerous loosely coupled components: – Application may present architectural constraints, co-dependencies between components. – Providers must be able to define software composition and requirements related to the provisioning of the service. Software Architecture Definition for On-demand Cloud Provisioning
  • 4. Example: SAP ERP System Presentation SAP GUI SAP GUI SAP GUI Browser Three tier architecture:  Database (DBMS)  Central Instance (CI) – Enqueue server providing a high level DI DI CI DI DI Application locking mechanism (data consistency) – Messaging server for load balancing  Dialog Instance – User request processing DBMS Database – Data record updates – Batch processing Software Architecture Definition for On-demand Cloud Provisioning
  • 5. Example: SAP ERP System SAP GUI SAP GUI SAP GUI Browser Presentation Software composition: Individual components may have different software and hardware requirements: - DBMS: large storage requirements Application DI DI CI DI DI - DI: Processor intensive Topology: All components must belong to the same virtual network. Customization: Locations must be provided at run-time. DBMS Database Software Architecture Definition for On-demand Cloud Provisioning
  • 6. Example: SAP ERP System SAP GUI SAP GUI SAP GUI Browser Presentation Application DI DI CI DI DI Deployment dependencies: DBMS and CI must be run first. Location constraints: Must be co- located on the same physical site to minimise latency DBMS Database Software Architecture Definition for On-demand Cloud Provisioning
  • 7. Example: SAP ERP System SAP GUI SAP GUI SAP GUI Browser Presentation Application DI DI CI DI DI DI DI DBMS Database Dynamic capacity adjustment: Might require new DIs to meet increases in workload. Resource requirements directly proportional to concurrent sessions. Software Architecture Definition for On-demand Cloud Provisioning
  • 8. Example 2: Thales eGov Dynamic capacity adjustment: Each layer invoked to process user requests. Each scale independently according to load and average response time. Software Architecture Definition for On-demand Cloud Provisioning
  • 9. Focus of this work  Define a software architecture definition language: – Enable service providers to control the deployment and management of services deployed on Clouds throughout their lifetime. – Introduce abstractions to support capabilities introduced by cloud computing (e.g. service elasticity)  Define underlying service management infrastructure support: – Monitoring / lifecycle management / elasticity enforcement  Define behavioural semantics for the language: – Link between software architecture definition and infrastructure – Derive service management lifecycle from software architecture definition – Constrain infrastructure operation Software Architecture Definition for On-demand Cloud Provisioning
  • 10. Overview  Problem overview  Background: Resources And Service Virtualization Without Barriers  Approach: Software architecture definition  Evaluation Software Architecture Definition for On-demand Cloud Provisioning
  • 11. RESERVOIR Goals  Develop and promote (through standardization) an open architecture for federated cloud computing - where resources and services can be transparently and dynamically managed, provisioned and relocated like utilities  RESERVOIR is an open framework of modular components that enable a wide range of setups within the cloud space Infrastructure OIR Solutions RV SE RE Software Architecture Definition for On-demand Cloud Provisioning
  • 12. Challenges  Inherently limited scalability of single-provider clouds  Lack of interoperability among cloud providers - Inability to scale through partnerships across providers - Prevents small and medium infrastructure providers from entering the market - Locks consumers to a single vendor  Dynamic and automated application scaling  BSM through Service Level Agreements, Monitoring, Security … Software April, 2009 Definition forY1 Project Review 1-2 Architecture On-demand Cloud Provisioning 12
  • 13. The RESERVOIR vision Public cloud Private cloud Partner cloud Software Architecture Definition for On-demand Cloud Provisioning
  • 14. RESERVOIR Architecture Service Provider supplies: • Prepacked Service Components • Enforces SLA compliance by adjusting (Virtual Machine) application capacity: • Service Manifest • Service Components Sizing (VEEs) Separation + Business Orientation • Service Tiers sizing Service Provider • Responsible for accounting and billing SMI Elasticity + Business Orientation + Trust + Security Manifest • Optimizes VEE placement subject to constraints Service Manager • Deals with site federation • Distributed as OpenNebula VMI SLA SLA Federation + Elasticity + Trust + Security VMI VEE Manager (VEEM) VMI • Translates generic commands into specific virtualization platform VHI commands • Creates and maintains isolated virtual networks • Enables efficient and secure access VEE Host (VEEH) (e.g., Hypervisor, VJSC Host) to remote storage Reservoir Site Isolation + Elasticity + Trust + Security Software Architecture Definition for On-demand Cloud Provisioning
  • 15. Service Manifest Requirements  Service Manifest Language – Define language for service definition manifest to express: • Application structure (software architecture) • Constraints (grouping / topology / cost) • Capacity requirements (with elasticity rules) • Monitoring specification • Additional information (requirements / service levels / Customisation ) – Contract between provider and infrastructure provider  Service Lifecycle Management – Derive various representations and execution plans for underlying layers: • Deployment descriptor • Elasticity rules • … Software Architecture Definition for On-demand Cloud Provisioning
  • 16. Overview  Problem overview  Background: Resources And Service Virtualization Without Barriers  Approach: Software architecture definition  Evaluation Software Architecture Definition for On-demand Cloud Provisioning
  • 17. Model-denotational Approach  Language definition using OMG’s Model Driven Architecture  Abstract syntax defined using the Essential Meta Object facility – Define core syntactic elements of the language (software architecture, requirements, etc.)  Various concrete syntaxes (XMI, HUTN, …) as may be required – Based on open standards – in particular the Open Virtualisation Format (OVF)  Semantics expressed as constraints on relationship between domain model and syntactic model using the Object Constraints Language.  Domain model represents cloud infrastructure and Software Architecture Definition for On-demand Cloud Provisioning
  • 18. Service Deployment Manifest Language Syntax Virtual Execution Environment Manifest VirtualMachine OS +refs: Reference[] +name:String +kernel: String +disks: Disk[] +CPU: double +initdr: String +nets: Network[] +memory: double +kernel_cmd: String +vm: VirtualSystem[] +Rank: String +root: String +Requirements: +boot: String String ApplicationDescription +input: Input context Association +graphics: Graphics +comp: Components[] +kpi: KPIs inv: Disk manifest .vm −> forAll ( v | +type: String depdescriptor . exists( d | +source: String d.name = v. id && +target: String ElasticityRule d.memory = v.virtualhardware.memory +bus: String && +cond: Expression +readOnly: boolean d. disk. source = +kpi: KPIs (manifest.refs.file −>asSet() +action: Operation −> select (id = v. id))−>first().href . . . NIC ) +mac: String +bridge: String +target: String +script: String Software Architecture Definition for On-demand Cloud Provisioning
  • 19. Elasticity Rule Management Application Domain Service Management Language Syntax MonitoringAgen DialogInstance MonitoringEvent ElasticityRule t CentralInstance WebDispatcher KPI RuleEngine Component DBMS context RuleInterpreter :: evaluate(expr: Expression): Real ApplicationDescription LocalProcess VirtualMachine VEEM post:  Application level monitor if expr.op.oclIsTypeOf(GreaterThan) then Operation publishes measurements of Manifest if self . evaluate((op. el −>first Key Performance Indicators ()) > self . evaluate((op. el−>last ()) addVM deleteVM then result = 1  Elasticity rules define else result = 0 resizing actions to migrateVM end if … else undertake based on KPI . . . . conditions endif Software Architecture Definition for On-demand Cloud Provisioning
  • 20. Deriving Java Code – Eclipse Plugin Software Architecture Definition for On-demand Cloud Provisioning
  • 21. Concrete Syntax (Implementation) Requirement CDDLM SDD OVF Service Manifest requirements Service Architecture description N Y Y have been evaluated against Hardware requirements N N Y existing Service Definition Software environment N N Y Languages: Network topology N N Y/I Virtualization Elasticity N N P  The Open Virtualisation Format (OVF), DMTF standard Migration constraints N N N backed by XenSource and Portability N Y Y VMWare, was found to be the Dependency Deployment N P P most suited Undeployment N Y Y Customization N Y Y  Extensions were needed: Location Constraints N N N OVF is primarily suited for the Non-functional Security Support N N Y initial deployment of fixed sized services Extensible Y Y Y Open Standard Y Y Y Existing support Y Y Y Y: Yes N: No P: Partial Software Architecture Definition for On-demand Cloud Provisioning
  • 22. OVF Additional Extensions Extension Limitation in standard OVF for How the limitation is Extension type RESERVOIR solved Elasticity Rules Service elasticity is not considered <ElasticityRulesSection> New section for standard OVF Key Performance KPI specification to trigger elasticity <KPIsSection> New section for Indicators standard OVF Can specify scaling rules with an Event Deployment No ability to specify constraints on <DeploymentSection> New section for deployment location and exclude Condition Actionstandard (simplified): format OVF Constraints specific zones <VirtualSystem min=“0” max=“10”> Affinity How to specify that certain machines <AffinitySection> New section for <ElasticityArraySection> Requirements should be located in a same location (or <Rule> standard OVF not) <KPIName>totalUsers</KPIName> <Window unit="mn">10</Window> Performance How to define the expected range of <PerformanceObjectiveS New section for <Frequency>60</Frequency> Objective values that KPI measurements should ection> standard OVF <Quota>20</Quota> fall in for SLA protection </Rule> Availability How to specify availability guarantees <AvailabilitySection> New section for Requirements for services standard OVF Software Architecture Definition for On-demand Cloud Provisioning
  • 23. Service Management Infrastructure Service Manager Cloud Provider Deploy/Undeploy Central Instance Service Parser Manifest Probe KPI Lifecycle Rules Manager Rules Engine Dialog Instance Rules Probe HTTP Server Dialog Instance Customization Probe Monitoring Disk Images Bus Software Architecture Definition for On-demand Cloud Provisioning
  • 24. Overview  Problem overview  Background: Resources And Service Virtualization Without Barriers  Approach: Software architecture definition  Evaluation Software Architecture Definition for On-demand Cloud Provisioning
  • 25. Evaluation: Scientific Grid Computing  Scientific grid application deployed on Cloud infrastructure – polymorph prediction: - Involves a number of grid and web based services to trigger and monitor the search – up to 7200 executions of fortran programs  Objective: If software architecture is correctly described - can we obtain: - An equivalent quality of service than that of a dedicated environment - Reduced resource consumption through elasticity rule definitions  Testbed: six servers, Quad-Core AMD Opteron(tm) Processor 2347 HE CPU and 8 GBs of RAM and with shared storage via NFS. Software Architecture Definition for On-demand Cloud Provisioning
  • 26. Evaluation: Scientific Grid Computing Front End Web Server Input Web Server GridSAM Exec .. Condor BPEL Condor Job Scheduler Job starter queue Grid Execution Orchestration Node Service Management Service VM Dynamic scaling  RESERVOIR Service management system Physical resources Software Architecture Definition for On-demand Cloud Provisioning
  • 27. Evaluation: Scientific Grid Computing Front End Web Server Input Web Server GridSAM Exec .. Condor BPEL Condor Job Scheduler Job starter queue Grid Execution Orchestration Node Service Management Service elasticity: Service VM Dynamic scaling  Scale number of cluster nodes according to RESERVOIR Servicein queue: jobs management system - Monitoring agent provides job queue information KPI Physical - Manifest defines upscaling and downscaling resources rules e.g.: If (queusize / instances ) > 4 -> deploy(executeNode) Software Architecture Definition for On-demand Cloud Provisioning
  • 28. Evaluation: Results Full turn around time for overall grid search:  Dedicated service (static): 2h23  Elastic provisioning: 2h39 (+7%) Resource Cost saving for single run: 34% - over a week: 69.18% Software Architecture Definition for On-demand Cloud Provisioning
  • 29. Acknowledgments  RESERVOIR consortium : http://www.reservoir-fp7.eu  OpenNebula: http://www.opennebula.org  UCL-MDA tools: http://uclmda.sourceforge.net/ Software Architecture Definition for On-demand Cloud Provisioning

Editor's Notes

  1. Add a few labels Software vendors across the spectrum of specialties are acutely aware of the emerging phenomenon of cloud computing. Although it is not entirely new (SaaS-style applications have been offered in some business contexts for years and some levels of infrastructure utility support — for storage and other purposes — has also been in use for a long time), the entry of new visionary and powerful vendors into the space makes all the difference. Google and Amazon are two innovators that are leading the industry to the new cloud-based computing style. Cisco and WebEx have also contributed in this direction (WebEx Connect) though with lesser impact. More recently, IBM and Microsoft had began multi-billion dollar investments in building the data centers comparable to the likes of Google and Amazon to establish an independent footprint for their own renditions of cloud computing. Both SAP and Oracle had pledged that the next generation of their business applications will be cloud-enabled and available (optionally) as SaaS. As in the data center — in the cloud too — technology architecture is multi-layered and complex. The basic hosting offerings (from IBM, Dell, Rackspace, OpSource and others) compete with the utility offerings from Amazon, Xdrive, MediaMax and others. The applications from Workday, NetSuite, RightNow and Salesforce run over their own platforms, but many smaller and newer application ISVs build on the growing availability of development and runtime environments for the cloud, including Force.com, Rollbase, LongJump, Bungee Connect and others. With time this variety of offerings will likely consolidate, but not in the immediate future, where we expect a continuing emergence of new innovative players and offerings. Key Issue: What are the platform vendors&apos; APaaS strategies?
  2. Refer to D4.x.1 chapter 2 for details
  3. Defined a set of extensions to OVF to handle some of the key cloud requirements - In particular (elasticity, application state, dynamic IP assignment, network properties)