v fabric overview
DESCRIPTION
TRANSCRIPT
© 2011 VMware Inc. All rights reserved
vFabric | Cloud Application Platform Pronam Chatterjee [email protected] twitter:pronamc
2
2
vFabric
vCloud Infrastructure
End User Computing
VMware Solutions for Cloud Computing
3
VMware vFabric Cloud Application Platform
vFabric
The ideal application
platform environment to
run and manage your
custom, Java applications
– in the datacenter,
virtualized environment, or
the cloud. Messaging
Data Management
4
Users are booking rooms
Use Case: App Intelligence for “Just-in-Time” Infrastructure
PST 8 am 9 am 10 am 11 am 12 pm 1 pm 2 pm 3 pm 4 pm 5 pm
Policy-based Capacity
Traffic
Hotel room promotion comes online
Hotel room promotion ends
5
New Applications Need To Be Portable
Build your application
Your Java Spring App
Select the runtime platform
Deploy your application
Private Cloud
vSphere
vFabric
Hybrid Cloud
vSphere
vFabric
vCloud partners
The industry’s first open PaaS
“In partnership with VMware, we are
bringing Spring to Force.com.”
“With VMware, we are making it easy for developers to create Spring Java
apps in the cloud.”
6
VMware Cloud Application Platform for Spring/Java Apps
Virtual Datacenter Cloud Infrastructure and Management
Rich Web
Programming Model
Social and Mobile
Data Access
Integration Patterns
Batch Framework
WaveMaker Spring Tool Suite
Code2Cloud Services
App Monitoring (Spring Insight)
Performance Mgmt (Hyperic)
Automated App Provisioning
(AppDirector)
Java Optimizations
(EM4J, …)
Java Runtime (tc Server)
Web Runtime (ERS)
Messaging (RabbitMQ)
Global Data (GemFire)
In-mem SQL (ElasticSQL)
7
7
Operational Control: tc Server Spring Edition
vFabric tc Server
8
SpringSource Tool Suite
§ Agile Development - Integrated Testing • Tight integration with tc Server minimizes application redeploys/restarts • Links performance issues to code traces highlighted in Spring Insight
§ Supports flexible deployment targets • tc Server, Java EE servers, VMware, Cloud, etc.
Spring Roo Grails
tc Server (Spring Insight)
Java Groovy
STS - Developer Efficiency
Spring (Core, Rich Web, Integration)
9
Tomcat is a Proven Standard
The adoption of Tomcat reflects the Java developers' preference for lighter, simpler technologies “
”
0% 10% 20% 30% 40% 50% 60% 70% Java Application Server Usage, Source: 2008 Evans Data Survey
Spring Applications WebLogic 26%
JBoss 38%
WebSphere 43%
Apache Tomcat 68%
10
tc Server Fills the Gap
11
Developer Efficiency: Deep Performance Insight into Spring Apps
12
Developer Efficiency: Deep Performance Insight into Spring Apps
13
Monitor: VM, OS, JVM, tcRuntime Container…
" Monitor Application Server Status, Health, and Response Times " Availability, Session Count, Throughput, Utilization, Connection & Thread Pool Health, Deadlock Detection, Garbage Collection
14
vFabric EM4J (Elastic Memory for Java) Use ESX to Share Memory Between VMs Running Java
Description Benefits • Higher consolidation through memory over-commit for
Java workloads
• Protect Java applications against workload spikes without wasting memory
• Lets you give Java more memory than it needs under normal load. Memory your application doesn’t need is returned to ESX but remains available in case it is needed to avoid Java out-of-memory errors
• Use virtualization to overcome the limitation of Java’s static heap
• New ‘memory balloon’ runs inside JVM to capture unused memory and return it to ESX
• Memory returned to JVM when it is under pressure
15
Lightweight Application Platform Harmonizes Lifecycle
App Developer Create Apps Quickly
App Operator Meet Business Goals
Applications
Setting up the infrastructure for an application used to take days. With Spring, we can do it in two hours. “
”Everything we did in Tomcat works the same way in tc Server, plus we
have the additional advantages. “
”- Sahana Hussein Visa Europe
- Jeffrey Hickman Arizona State Retirement System
Build Manage Run
tc Server
Spring
16
Deployment Flexibility: Distribute or Combine
Operating System & JVM
. . .
. . .
tc Server Instance X
tc Server Instance 1
Spring
tc Server Instance m
Spring Spring Spring Spring
tc Server ver X (shared binaries)
tc Server ver Y (shared binaries)
17
Breaking free of the RDBMS bottleneck
Data Management
18
Scaling the Tiers
Add/remove web/application servers
The database only grows by moving the VM to a larger machine
The web and application tiers can be easily combined and virtualized. Nodes can be added or removed on the fly.
The disk systems can be virtualized and can grow on demand
Web Tier Application Tier
Database Tier
Storage Tier
Load Balancer
19
Linear Scalability
Optional reliable, asynchronous feed to Data Warehouse or
Archival Database
Add/remove web/application/data servers
Scale GemFire can achieve near linear scalability with nodes that can be added or removed on the fly.
Disks may be direct or network attached
Web, Application and Data tiers can be collapsed into a single virtual machine.
20
What is GemFire?
• Service Loose Coupling
• Data Transformation • System Integration
+ Service Bus
• Guaranteed Delivery
• Event Propagation • Data Distribution
+ Messaging System
• Event Driven Architectures
• Real-time Analysis • Business Event Detection
+ Complex Event Processor
=
GemFire combines select features from all of these products and combines them into a low-latency, linearly scalable, memory-based data
fabric
• Storage • Persistence • Transactions • Queries
Database • High Availability • Load Balancing • Data Replication • L1 Caching
• Map-Reduce, Scatter-Gather
• Distributed Task Assignment • Task Decomposition
+ Grid Controller
• Result Summarization
21
Memory-based Performance
Perform GemFire uses memory on a peer machine to make data updates durable, allowing the updating thread to return 10x to 100x faster than updates that must be written through to disk, without risking any data loss. Typical latencies are in the few hundreds of microseconds instead of in the tens to hundreds of milliseconds.
GemFire can optionally write updates to disk, or to a data warehouse, asynchronously and reliably.
22
Data-Aware Function Routing
Execute
GemFire provides ‘data aware function routing’ – moving the behavior to the correct data instead of moving the data to the behavior.
Batch Controller or Client
Scatter-Gather (Map-Reduce) Function
Data Aware Function
23
Data Distribution
Distribute
GemFire can keep clusters that are distributed around the world synchronized in real-time and can operate reliably in Disconnected, Intermittent and Low-Bandwidth network environments.
24
GemFire virtualizes the database into the application tier
Optional reliable, asynchronous feed to Data Warehouse or
Archival Database
Add/remove disk
Add/remove web/application/data servers
Cloud Ready
GemFire server is a small Java jar file that can be easily deployed with Java applications.
25
vFabric SQLFire
Data Management
26
vFabric SQLFire: Scalability at the Data Tier
§ Speed: In-memory, distributed SQL database.
§ Scale: More scalable design than traditional RDBMS.
§ SQL: Familiar SQL interface, accessible from Java and C#.
27
vFabric SQLFire: Speed Through In-Memory Design
SQLFire Database
1Writes are synchronously
persisted across two servers
2Later asynchronously persisted to disk
28
vFabric SQLFire: Dynamic Scalability
SQLFire Database
1Add new nodes any time load spikes.
3Remove nodes when load returns
to normal
2Data is automatically rebalanced to new nodes.
29
§ SQLFire syntax is based on the SQL-92 standard.
§ SQLFire extensions are to Data Definition Language (DDL)
only, e.g. CREATE TABLE.
§ DML 100% standards compatible.
§ JDBC and ADO.NET drivers.
• Built-in, transparent high availability.
§ Easily accessible via Spring Data
vFabric SQLFire: A Real SQL Interface
30
Breaking free of the RDBMS bottleneck
vFabric data director
Powering Database-as-a-Service
for Your Cloud
31
Data Problems Addressed by Cloud
• Thousands of under-managed and under-secured databases
• Difficult to enforce policy and compliance
Database Sprawl
Corporate IT Shadow IT
Server & Storage Provisioning
Database Implementation & Tuning
Database provision or clone request
Lead time of weeks
Long Lead Time DB Tuning for Virtualization
• Database not designed for virtualized environments with dynamic resources
• DBA tunes databases to specific setup
• Database operations not fully automated
• Long lead time for database services for developers
32
vFabric Data Director
vFabric Data Director
• Powers database-as-a-service across private and public clouds
• Self-service database virtualization platform for traditional and new databases
• First database enabled is PostgreSQL database with optimization for vSphere
• Built on vSphere platform --extends virtualization benefits to database layer
Self-service IT Control vSphere-Optimized
VMware vSphere 5
App App App App App App App App
Graphical User Interface/API
33
vFabric Postgres
§ First database enabled on vFabric Data Director
§ Based on PostgreSQL 9.0
• Fully ACID compliant, ansi-SQL compliant relational database
• Proven architecture known for reliability and wildly used across industries
§ Added vSphere-Optimization include
• Elastic database memory
• Self-tuning and automatic configuration
• Database-aware high availability
• Live on cloudfoundry.com on 8/29
• Soon to be included in Micro Cloud Foundry
34
vFabric rabbitMQ
Messaging
An enterprise message solution is critical to today’s businesses. Messaging That Just Works
35
Estimate 300-500 in production, 20,000 in dev
Customers love RabbitMQ – banking, web, social media, ...
vfabric.co/rabbitmq
36
36
RabbitMQ and AMQP: technical overview
Consumers create queues; these buffer messages for push to consumers Queues are stateful, ordered, and can be persistent, transient, private, shared. Exchanges are stateless routing tables. Consumers tell queues to bind to named exchanges; each binding has a pattern e.g. “tony” or “*.ibm.*” Producers send messages to exchanges with a routing key e.g. “tony”, or ordered set of keys e.g. “buy.ibm.nyse” Exchanges route messages to queues whose binding pattern matches the message routing key or keys
vfabric.co/rabbitmq
37
UID – a lifetime digital identity for 1.2bn India residents
vfabric.co/rabbitmq
38
Breaking free of the RDBMS bottleneck
vFabric App Director
Powering Database-as-a-Service
for Your Cloud
39
What is vFabric Application Director 1.0?
§ vFabric Application Director automates application deployments on hybrid clouds, specifically on VCD 1.5
vCloud Director 1.5
Application Stack
Applications Custom or Packaged App binaries, config
.war, .jar, .tar, .zip etc
Middleware, OS App servers, messaging, web servers, databases, opera7ng systems, load balancers, etc
40
Deployment Environments
Application Blueprint
Architect
Cloud Admin
Deployment Profile (dev)
Application Binaries
Application Stack - (Middleware, OS)
Deployment Profile (test)
Deployment Profile (prod)
App Dev, QA, Release
Test Org VDC Prod Org VDC Dev Org VDC
vFabric Application Director – “Model-driven” cloud-ready App provisioning
Catalog
Standardized configurations of OS, Middleware
Middleware Admin
Automated Deployment Plans with Orchestration
Logical Application Topology with Application Policies, Configurations
Pre-instrumented with App Monitoring
Collection of deployment settings Makes blueprints portable across clouds
41
Deployment Environments
Application Blueprint
Architect
Cloud Admin
Deployment Profile (dev)
Application Binaries
Application Stack - (Middleware, OS)
Deployment Profile (test)
Deployment Profile (prod)
App Dev, QA, Release
Test Org VDC Prod Org VDC Dev Org VDC
vFabric Application Director
Automated Deployment Plans with Orchestration
Simplified Standardized Cloud-Ready Extensible
42
VMware’s Active Application Management strategy for IaaS
Integrate with Application Performance Management (vFabric APM) for pre-instrumented monitoring & scaling of deployed apps
Optimize
Isolate, trouble shoot, remediate,
change
Deploy
Components, Topology, resource
allocation, environment
binding .
Monitor
Resources, compliancy,
transactions, users, change impact
Topology Update
Scale Policy
Reboot
Burst compute
Collaborate
Monitoring Policy
Add Capacity
App Provisioning App Performance
43
Application Director provisions vFabric and third party components
44
NPC International
vFabric Helps NPC International Stay Connected to 1,200 Locations
Application performance is considerably faster since we moved from JBoss to vFabric … We
have been very happy with the performance – it is fantastic.” “
Jon Brisbin, Portal Webmaster, NPC International
Application not performing well on JBoss causing downtime; load often exceeded
planned capacity
Application experienced regular lockups every time JBoss received out of
memory errors causing server restarts
Costly downtime and other performance issues caused problems for users and
required substantial attention from development team
Replaced JBoss Application Severs with VMware vFabric
vFabric instances running on VMware
ESX Server-based private cloud infrastructure
Since all web applications built in Spring, transition to vFabric was
seamless
Enhanced Application Performance
Server Costs Reduced by 75%
High Availability
Greater Scalability
Virtual Private Cloud Infrastructure
Increased Developer Productivity
Solution Challenge Results
45
Use Case - ForEx
Ø Low-latency trade insertion Ø Permanent Archival of every trade Ø Kept pace with fast ticking market data Ø Rapid, Event Based Position Calculation Ø Distribution of Position Updates Globally Ø Consistent Global Views of Positions Ø Pass the Book Ø Regional Close-of-day Ø High Availability Ø Disaster Recovery Ø Regional Autonomy
The project achieved:
real-life use case: Global Foreign Exchange Trading System