Post on 27-Mar-2015
© 2007 IBM Corporation | Workshop on Middleware for Next Gen Apps
IBM TJ Watson Research Center
Middleware Challenges for the Emerging Application Environments
Giovanni Pacifici(giovanni@us.ibm.com)
IBM TJ Watson Research Center
Where is Middleware Going © 2007 IBM Corporation2
Emerging Application Environments
•Pervasive connections
•Everyone is a web app developer
N2 World
•Multimodal applications
•Time critical events
•Business agility
Real-Time Enterprise
•Software stack complexity becoming unmanageable
•Exploding number of apps
•Exploding Interdependence
•Heterogeneous environments
QuickTime™ and aTIFF (Uncompressed) decompressor
are needed to see this picture.
Complexity
IBM TJ Watson Research Center
Where is Middleware Going © 2007 IBM Corporation3
QuickTime™ and aTIFF (Uncompressed) decompressor
are needed to see this picture.
Enable Infrastructure Scalability, Simplification and Responsiveness
Simplified
ScalableResponsive
Abstraction, Encapsulation, Virtualized
Policy DrivenEvent DrivenAutonomic
Peer to PeerPlug and Play
IBM TJ Watson Research Center
Where is Middleware Going © 2007 IBM Corporation4
Client
L7 Switch
AMFANode
4
AMSTNode
1
FASTNode
2
AMFANode
3
Client
Client
L4Switch
Configuration Manager
Centralized management model
Specialized nodes
Significant administrative overhead to grow or shrink a deployment
Not scalable communication infrastructure
Centralized and not scalable performance management controllers
Current Scalability Limitations of Middleware and Multi-Tier Architectures
IBM TJ Watson Research Center
Where is Middleware Going © 2007 IBM Corporation5
Node 5
Node 4
Node 3
Node 2
Node 1
Client
AM
FA
FA
ST
AM
FA
AM
ST
AM
ST
Client
Client
L4Switch
• no specialization of nodes• decentralized model• self-configurable infrastructure• scalable architecture and management
Middleware Self-Organization Approach to Scalability
IBM TJ Watson Research Center
Where is Middleware Going © 2007 IBM Corporation6
Middleware Scalability: Challenges
peer
• Key Functionalities–Request routing and
load balancing
–Self-organizing
–Self-healing
–Configuration data dissemination
–Single-console system monitoring
IBM TJ Watson Research Center
Where is Middleware Going © 2007 IBM Corporation7
QuickTime™ and aTIFF (Uncompressed) decompressor
are needed to see this picture.
Enable Infrastructure Scalability, Simplification and Responsiveness
Simplified
ScalableResponsive
Abstraction, Encapsulation, Virtualized
Policy DrivenEvent DrivenAutonomic
Peer to PeerPlug and Play
IBM TJ Watson Research Center
Where is Middleware Going © 2007 IBM Corporation8
Application Architecture Complexity
QuickTime™ and aTIFF (LZW) decompressor
are needed to see this picture.
IBM TJ Watson Research Center
Where is Middleware Going © 2007 IBM Corporation9
How Do We Deal with This Mess?
• Virtualization: “A technique for hiding the physical characteristics of computing resources from the way in which other systems, applications, or end users interact with those resources”
• Dominant benefit of virtualizationgoing forward
– Abstraction of physical interfaces– Isolation
PhysicalResources
Resource APIs
AbstractedAPIs
PhysicalResources
Virtualization (Mapping and Substitution)
Resource APIs
App App AppAbstracted
APIs
IBM TJ Watson Research Center
Where is Middleware Going © 2007 IBM Corporation10
Reducing Complexity Through Virtualization
• Virtual resources and their configurations are decoupled and insulated from physical environment
– Durability: limits the impact of physical changes
– Pre-built virtual resources serve as the units of product distribution and provisioning
• Greater flexibility for allocating computing resources when needed and where needed
– Deploy to Resource pools
– Goal-based management
• Virtualization will be extended in scope from single server to aggregations of servers, storage, and network components.
– From making partitioning technology a large system look like many – partitioning technology
– Into make many small systems look like one from a management perspective
Physical Environment
Virtualization
Virtual Environment
Virtual Storage
Virtual Application
Server
Virtual Application
Server
Virtual Application
Server
Virtual NetworksVirtual Servers
Fixed sizes, limited ports/slots, incompatible versions, rigid configurations, workloads bound to boxes, …
SMP Servers
NetworkHardwareStorage Servers
and StorageBlades
Decouples Virtual and Physical Environments
IBM TJ Watson Research Center
Where is Middleware Going © 2007 IBM Corporation11
Virtualization is a Disruptive Technology
• Will transform data center management– Virtualization will extend beyond single systems to multi-system
pools consisting of servers, network and storage, thus creating a new platform for integrated management and optimization of data center resources.
• Will transform desktop management– The Enterprise desktop will become a virtual machine image,
standardized by the IT staff, secured by Enterprise policies, and streamable to hosted servers or client machines.
• Will transform software lifecycle management– Virtual appliances will become the unit of software distribution,
licensing, maintenance, archival and service/support.
• Will drive new hardware, software and services technologies– Hardware support for virtualization, new programming models, new
licensing models, new service & support models.
IBM TJ Watson Research Center
Where is Middleware Going © 2007 IBM Corporation12
Virtual Software Appliances
• Virtual Appliances: pre-wired, pre-configured, production-ready software stack packaged inside virtual machine images designed to run under a VM hypervisor
– Contains customization logic– May contain management agents– Associated meta-data manifest describing capabilities and requirements
• Marrying Appliances with Virtualization– Appliances: ease of use, purposed
– Virtualization: fast replication, isolation, consolidation
• Change the way enterprise software is packaged and distributed, allowing for the development of self-contained application stacks that are easy to deploy and more reliable than traditional methods
• Change the way enterprise software is managed by including management intelligence into an appliance thereby making it easy to manage from the outside
• Emerging Technologies and Research Areas– Best of breed self-managing virtual appliances focusing on multi-image ones (end-to-
end solution)– Develop tools to create, configure, provision and life-cycle manage virtual appliances– Develop techniques to manage virtual appliances at runtime to ensure high
performance, availability, and electrical power conservation
Appliances
Middleware
Operating System
Image
ResourceDefinition
Middleware
Operating System
Image
ResourceDefinition
Integrated software stacks for easier production usage by partners and customers
Preinstall and configured
Common management enablement
Common patterns
Management functionality
Virtualization
Virtual Machine
VirtualAppliance
IBM TJ Watson Research Center
Where is Middleware Going © 2007 IBM Corporation13
Configuration and Lifecycle Management
Developer
VSA Engineer
Deployer
Datacenter
Vendor Environment
Customer Environment
Application
Structure
Logical
Topology
Virtual Software Resources (VSR)Deployed, configured and running instance of VSA
VSARepository
VSA Factory
VSARepository
VSRRegistry
Register
Internet
Virtual Software Appliance (VSA)
VSR
VSR
VSR
VSA
DeploymentManager
VSA
VSA
VSAVSA
VSA
VSA
IBM TJ Watson Research Center
Where is Middleware Going © 2007 IBM Corporation14
Deployment and Activation of Virtual Appliances
OS
Middleware
Application
VSA Stack Configuration
VSA OS Configuration
OS
Middleware
Application
VSA Stack Configuration
VSA OS Configuration
DeploymentConfigurationParameters
VM Hypervisor
Physical Node
CMDBVSA Topologyvalidation and
resolution logic
VSA Model
CapabilityRequirements
VSA Model
CapabilityRequirements
DeploymentManager
VSA Master ImageVSA Clone
IBM TJ Watson Research Center
Where is Middleware Going © 2007 IBM Corporation15
Drag and Drop VSAs
Model Driven Deployment: Adding Application to Middleware VSAs
IBM TJ Watson Research Center
Where is Middleware Going © 2007 IBM Corporation16
Drag and Drop Logical App Structure
Model Driven Deployment: Adding Application to Middleware VSAs
IBM TJ Watson Research Center
Where is Middleware Going © 2007 IBM Corporation17
Create LAS → VRST Hosting Links
Configuration of both
containers auto updated based on requirements from
LAS
Model Driven Deployment: Adding Application to Middleware VSAs
IBM TJ Watson Research Center
Where is Middleware Going © 2007 IBM Corporation18
Save Topology
Model Driven Deployment: Adding Application to Middleware VSAs
IBM TJ Watson Research Center
Where is Middleware Going © 2007 IBM Corporation19
Drag and Drop Physical Resources (VM Hosts)
Model Driven Deployment: Adding Application to Middleware VSAs
IBM TJ Watson Research Center
Where is Middleware Going © 2007 IBM Corporation20
Create VSRT → VM Hosting Links
Model Driven Deployment: Adding Application to Middleware VSAs
IBM TJ Watson Research Center
Where is Middleware Going © 2007 IBM Corporation21
Deploy Topology to Physical Resources
Model Driven Deployment: Adding Application to Middleware VSAs
IBM TJ Watson Research Center
Where is Middleware Going © 2007 IBM Corporation22
Life Cycle Management of Virtual Appliances
• Two approaches:– update by replacement – a new version of appliance is created by vendor
and shipped to customer– internal update – each VM is individually updated with patches of its
software stack
• Update by replacement:– state management problem – new appliance does not include the state
acquired by the old appliance• customization parameters• business application installs• runtime data (caches, cookies, sessions, etc.)
– downtime problem – old appliance must be brought down before new appliance may be started
• Internal update– difficult to generalize as different software stacks may require different
match mechanisms
• Hybrid approaches possible
IBM TJ Watson Research Center
Where is Middleware Going © 2007 IBM Corporation23
Classification – Flow Control - Routing
On Demand Router
AMSTNode
2
FASTNode
3
Node4
Node1
PlacementExecutions
StockTradingAccountMngmt
FinancialAdvice
AM
FAST
FAST
Runtime Management: from JVMs to Virtual Appliance Management
• Runtime management in existing middleware infrastructures
– goal oriented resource management for web application environments
• Supports multi-tiered applications where each request uses multiple resources distributed
• Supports multiple applications deployed and replicated on different but overlapping subsets of machines
• Expand to manage Virtual Software Appliances and heterogeneous workloads
– Manage both request/response workloads and long-running workloads like batch jobs on same pool
– Leverage virtualization technology to enable “anywhere” placement of any workloads
– Leverage new control knobs: migration, suspension, resource control
– Make many small systems look like one from a management perspective
10
0%
0%
50
%
55%* Utilized Servers
Virtual Resource Pool
IBM TJ Watson Research Center
Where is Middleware Going © 2007 IBM Corporation24
Anywhere Placement of Workloads
Blade 1 Blade 2 Blade 3 Blade 4
Virtual Server ResourceRepository
Suspended VSRs VSR
OS
WAS
App Job Scheduling and Placement Controller
Web Request Flow Controller
Job Submissionand Monitoring
DB Inst B
J2EE App
Lucene
PovrayBlast
J2EE App
J2EE App
DB Inst A
DB Inst A
DB Inst B
DB Inst B DB Inst A
Povray
IBM TJ Watson Research Center
Where is Middleware Going © 2007 IBM Corporation25
Merging Job Scheduling and Placement
• Decides when, where, and how may instances of each container should run– Application characterized by memory and CPU requirements– Resource Requirements derived from performance goals
• Average response time goal for web applications• Completion time goal for long running jobs
– Server machine characterized by memory and CPU capacity
• Application placement algorithms– Bases on multi-dimensional bin packing techniques
• Constraints– Memory used by applications and their containers does not exceed a threshold on any server– CPU usage of applications and their containers does not exceed a threshold on any server– Constraints on the number of servers where an application should run, on the number of
instances of an application that may be started on a node, etc.– Collocation restrictions and allocation restrictions
• Objectives – Fairness – equalize application utility whenever possible– Minimize the number of placement changes
IBM TJ Watson Research Center
Where is Middleware Going © 2007 IBM Corporation26
powered off
CPU-intensive workload(s) w/ allocation limited by
hypervisor
CPU usage (MHz)
Pow
er u
sage
(w
atts
)
Hypervisor only
1 VM running (idle)
4 VMs running (idle)
Power vs. Performance prototypical example
Use Virtualization for Power Management
Key observations:• The majority of the power used by a blade is static
(i.e., used before workload is started)• Can be as much as ~80%• An (over)simple calculation:
2 blades, each 40% busy: ~170 watts
1 blade, 80% busy: ~95 watts
Savings = ~44%
• Power usage grows with workload intensity: linearly or as a convex function (when frequency scaling is implemented)
Key energy-saving strategies:• Workload consolidation and machine shut-
down• Workload reduction (via flow control)• Workload distribution
IBM TJ Watson Research Center
Where is Middleware Going © 2007 IBM Corporation27
Summary
• Middleware infrastructures must address key challenges– Scalability
• no specialization• Self-configuration
– Complexity• Achieve simplification using pre-configured software stacks inside virtual
containers
• Model-driven tools to simplify deployment, provisioning and change management
– Flexibility• Enable “seamless” and “anywhere” placement of heterogeneous workloads
through isolation, migration, suspension and resume techniques
• Make many small systems look like one from a management perspective
• Future Challenges– Manage software updates
– Integrate security concerns
– Physical and virtual configuration and connectivity
– Software stack proliferation
© 2007 IBM Corporation | Workshop on Middleware for Next Gen Apps
IBM TJ Watson Research Center
Thank You
giovanni@us.ibm.com