2. Agenda
Cloud Application Platform Overview
vFabric : Build – Run – Scale in the cloud
vFabirc Solution on Modern Application
Cloud Foundry
2
3. VMware’s Three Strategic Focus Areas
Re-think End-User Computing
Modernize Application Development
Evolve the Core Infrastructure
3
4. Applications Make the World Go Round
Business Time to Market Business
Application Cost Reduction Data
Needs Return on Data Explosion
4
5. Preparing Applications for the New Era
Modernize Create Agile
Applications Data Fabric
Deploy and
Scale with
PaaS
5
6. Modernize Applications
Move to modern
frameworks
Move to
cloud-ready
runtimes
Modernize Create Agile
Applications Data Fabric
Deploy and
Scale with
PaaS
6
7. What’s driving the shift in application infrastructure?
New Frameworks & Languages
• Increase developer productivity
• Reduce time to market
New Devices and Domains
• Mobile, social, and SaaS integration
New Data Types and Requirements
• Data deluge driving data tier elasticity
• Realtime data
New Infrastructures
• Virtualization, Cloud, PaaS
7
8. Today’s Middleware and Databases Not Keeping Up
Rise of Modern Developer Frameworks
Service Loose
Simplicity Polyglot
Consumption Coupling
Today’s
Middleware and Databases
Service Elastic Elastic Virtualization
Delivery Deployment Scaling Aware
Rise of Virtual and Cloud Infrastructure
8
9. New Era Requires Architectural Elasticity from Apps to Data
Develop using modern frameworks:
agile apps decoupled from middleware
Leverage runtime container optimized
for vSphere: provision in seconds
Store app state in elastic data cache:
maximize app scalability
Use cloud-friendly messaging protocols:
enable flexible app integration
Access app data through elastic data
fabric and/or in-memory SQL:
maximize data scalability
9
10. Build, Run, and Scale your Applications
Build Applications Faster
Core Spring Spring Groovy &
Frameworks Spring
Framework Tool Suite
& Tools Integration Batch Data Grails
vFabric
Run Applications Efficiently
GemFire vFabric Hyperic vFabric5
Application tc Server RabbitMQ
Services SQLFire* PostgreSQL & APM Suite
Scale to Cloud PerformancevCloud Data App Cloud
Infrastructure vSphere vCenter
Director Director Director* Foundry*
Services
* new product in limited release
10
11. Create Agile Data Fabric
Enable Database
as a Service
Augment RDBMS
with new
Modernize Create Agile data fabric
technologies
Applications Data Fabric
Deploy and
Scale with
PaaS
11
12. An Agile Data Fabric
Leverage the construct of New application types and
virtualization to automate topologies putting strain on
aspects of database database-only approach to
deployment and operations data management
Latency / Big Data /
Scalability Analytics
Multi Site / New
Multi Cloud Data Types
VMware Confidential
12
14. vFabric GemFire Takes a Modern Approach to Data Mgmt
Virtual data „fabric‟ manages data
in-memory using low cost x-86
machines for elastic scalability
Deploy locally or as high speed
data backbone across global
regions and private/public clouds
vFabric Use as operational data store or
GemFire to complement existing RDBMS
“Distributed caching platforms (DCPs) have proved
to be key enablers for mainframe and DBMS
offloading, performance and scalability boosting
in Web commerce applications, high-performance
publish and subscribe, cloud and software as a
service (SaaS), and other scenarios.”
File Systems Databases Mainframes / other – Gartner
Emerging Technology Analysis: Distributed Caching Platforms
Enable Innovative Scenarios; November 2, 2010
14
15. Building an In-memory Data Management Platform
We can have 10,000 online customers on a normal day, but
Elastic Scalability 10 million on Mother‟s Day
How do I architect my data tier to support seasonal
peak usage and sudden spikes in demand?
• I have applications and users that must have real-time
High Speed Data access to data.
Access • How do I eliminate data processing latencies and
accelerate web page response time?
My business requires a single, real-time view of distributed
Global Data transactions that must rely on data from multiple sources
Management How do I manage data that’s distributed across
datacenters – and the cloud?
15
16. Enabling Database as a Service with vFabric Data Director
Enables enterprise “database as a service”
• Drastically lowers TCO
Database provisioning and operations
platform
• Reduce “database sprawl” through automation
and consistent policy enforcement
• Streamline application development with
self-service database provisioning
• Increase datacenter efficiency by leveraging
vSphere innovation at the database tier
First database enabled is PostgreSQL
database
• Sybase, Greenplum announced support,
others to follow
16
17. vFabric Data Director Powers Database-as-a-Service
vFabric Data Director
Automation Backup/ One click
Provisioning Clone
Self-Service Restore HA
DBA App Dev
Policy Based Resource Security Database
Monitor
Control Mgmt Mgmt Templates
DBA IT Admin
VMware vSphere
17
18. Deploy and Scale with Platform as a Service
Modernize Create Agile
Applications Data Fabric
Deploy and
Scale with
PaaS
Move to a cloud era
application platform
18
19. The Transition to PaaS
Cloud
Platform as a Service
Web
Application Servers
vFabric 5
Client-Server
Unix Services
Mainframe
COBOL
Each new era in computing brings a new application platform:
for the Cloud era it is “PaaS”
19
20. Choice of Application Services
.js
Data
Services Private
Clouds
Msg
Services Public
Partners
Clouds
.COM
Other
Services
Micro
Clouds
20
21. VMware Cloud Application Platform
Addresses today’s application development needs
while a providing path to tomorrow
• Modernizing applications
• Enabling and agile Data Fabric
• Driving the industry agenda around PaaS
Learn more:
• www.vmware.com
21
27. The Move to Modern Frameworks
bstraction Increases Over Time
>2.5M
Spring Developers
Abstraction
High-level/ Object- Design Modern Source: Gartner, Evans Data
Assembly Structured oriented Patterns Frameworks
Time
>50%
Modern Frameworks Enterprise Java Apps use Spring
• Productivity
• Portability
Over half of enterprise Java apps
running on WebSphere and WebLogic
use Spring.
27
28. Why Spring?
Productivity Portability
Spring programming model decouples the application from the underlying application
platform, simplifying development and increasing choice of deployment platforms
28
30. Going Beyond Application Server Portability
vCloud
partners
Private Cloud Hybrid Cloud
vFabric vFabric
Your Java vSphere vSphere
Spring App
Build your application
Select the runtime platform Other
Deploy your application
30
31. STS - Developer Efficiency
SpringSource Tool Suite
Spring Roo Grails
Spring
Java (Core, Rich Web, Integration) Groovy
tc Server
(Spring Insight)
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.
31
32. IDE, Application Framework, Web Application Container
Web Application
Integrated Development
Environment
Application
Framework
Runs On
Web Application
Apache Tomcat Container
Runs On
JVM, OS
Physical, Virtual, Cloud
32
33. tc Server Developer Edition
Spring Insight
Advanced diagnostics
Free download
Same Runtime as
Production
33
34. vFabric tc Server
Spring Insight Operations
Rapid Resolution of Application Performance Problems
34 vmware.com/go/tc
35. Imagine a Java app taking customer orders
! Java App ?
Guest OS
! vSphere Host
!
35 vmware.com/go/tc
40. vFabric tc Server – commercial Apache Tomcat
Description Benefits
Lightweight Java application
• Efficient, lean, fit-to-purpose runtime platform
server optimized for virtual
• Lower cost and complexity
environments and designed to
• Enterprise capabilities on Tomcat-compatible base
be a drop-in replacement for
• Best platform to run Spring applications
Apache Tomcat.
46
41. Sample Benefits of Lightweight Java Approach
Task Heavy JEE Lightweight Java
Server Simplest possible application
500 MB 50 MB
Consoli (“Hello World”)
d-ation App Server Installation footprint 700 MB / 1.7 GB 15 MB
Server provisioning 1 hours / days seconds / minutes
Time-
Application installs 1 hours / days seconds / minutes
to-
market Installation & configuration scripts
~ 60,000 LoC ~ 1500 LoC
overhead, per release
Elastici Server startup time1 minutes / hours seconds
ty 1 Assumes ops intervention due to server complexity, vs. self-service model.
2 Estimate based on reduced server complexity / test cases / customization.
47 vmware.com/vfabric
42. vFabric EM4J (Elastic Memory for Java)
Use ESX to Share Memory Between VMs Running Java
Description Benefits
• Use virtualization to • Higher consolidation through memory over-commit for
overcome the Java workloads
limitation of Java‟s • Protect Java applications against workload spikes
static heap without wasting memory
• New „memory balloon‟ • Lets you give Java more memory than it needs under
runs inside JVM to normal load. Memory your application doesn‟t need is
capture unused returned to ESX but remains available in case it is
memory and return it needed to avoid Java out-of-memory errors
to ESX
• Memory returned to
JVM when it is under
pressure
48
43. This is the default
Java Heap Java Heap
Java App Java App
Guest OS Guest OS
vSphere Host
49 vmware.com/go/tc
44. EM4J enables Java heap memory pooling
Java Java Java Java Java Java
Heap Heap Heap Heap Heap Heap
Java App Java App Java App Java App Java App Java App
Guest OS Guest OS Guest OS Guest OS Guest OS Guest OS
vSphere Host
50 vmware.com/go/tc
46. vFabric Web Server – Commercial Apache HTTPD
Description Benefits
• Commercial
distribution of Apache • Enterprise support for the world‟s most popular web
HTTPD with server – over 9 years of support experience
enhancements for • Proactive updates for security vulnerabilities ready
deployment and when the issues are announced
management
• Improved performance in builds optimized for the
• VMware employs known supported platforms
committers to Apache
• Templates the speed time to deployment and simplify
and members of the
common product configurations
Apache Security
Team
• Built and tested on a
variety of platforms
52
49. RabbitMQ: Cloud Scale Messaging
Description tc Server
Your Java
• Efficient, highly Spring App Spring Edition
scalable, and easy-to-
deploy queuing
software that is
portable across major
operating systems and Built with
SpringSource Tool Suite Lightweight App Runtime
developer platforms
Benefits RabbitMQ
Cloud scale message bus
Message Brokers
• RabbitMQ is protocol-
based, enabling it to AMQP, SMTP, XMPP, Stomp, …
connect with a vast range Point -to-point and pub-sub
of other software Virtual hosts, dynamic config
components and making it
an ideal messaging
solution for cloud
computing
Clouds Devices Applications
55
53. Breaking free of the RDBMS bottleneck
Start small, Grow without Limit
Planning for scalability
in cloud environments
59
54. Scaling the Tiers (traditional approach)
Load Balancer
Add/remove web servers
Web Tier
Stateless
Application Tier
Add/remove application
servers
Database Tier
Move to bigger machine
Stateful
Storage Tier
Add/reconfigure storage
60
55. Scaling the Tiers (traditional approach)
Load Balancer
Add/remove web servers
Web Tier
Stateless
Application Tier
Add/remove application
servers
Database Tier
Move to bigger machine
Stateful
Storage Tier
Add/reconfigure storage
61
56. Virtualizing the Tiers (traditional approach)
The web and application tiers can
be easily combined and Load Balancer
Add/remove
virtualized. Nodes can be added or web/application servers
removed on the fly.
Web Tier
Application Tier
The database only grows by Database Tier
moving the VM to a larger
machine Move to bigger machine
Storage Tier
The disk systems can be
virtualized and can grow on
Add/reconfigure storage
demand
62
57. Virtualizing the Data
Load Balancer
Web Tier
Application Tier
Database Tier
Storage Tier
63
58. Moving Data to the Middle Tier
Load Balancer
Add/remove
web/application/data servers
Web Tier
Application Tier
Storage Tier
Disks may be direct or network Add/remove storage
attached
64
59. Moving Data to the Middle Tier
Load Balancer
Add/remove
web/application/data servers
Web Tier
Application Tier
Database Tier
Add/remove storage
Disks may be direct or network
attached
Storage Tier
Optional reliable, asynchronous
feed to Data Warehouse or
Archival Database
65
60. Enabling Extreme Data Scalability and Elasticity
Key Capabilities
Low-latency, linearly-scalable,
memory-based data fabric
• Data distribution, replication,
partitioning, and co-location
Application
• Pools memory and disk across many
Data nodes
Lives Here Data-aware execution
• Move functionality to the data for peak
performance
Active/continuous querying and
Application event notification
Data
• Changes are propagated to one or
Sleeps Here Systems
File Databases Mainframes/other more “active” copies
66
61. SQLFire: VMware’s NewSQL Database
Description Benefits
• In-memory distributed • Scale to any load with commodity servers
SQL database • High concurrency with extremely low latency
• Horizontally scalable • Seamless support for global data
• Transparent WAN • Familiar SQL programming model
replication for multi-
site operation and DR
• Optional asynchronous
disk persistence
• Access via standard
JDBC / ADO.NET
Datacenter 1 Datacenter 2
77
64. Demo
Feeder
Client
Client
Client
Loader
Locator
Node1
Node2
Stock A Stock B
Stock B Stock A
GF Cache Nodes
Cluster
80
65. Failover
Feeder
Client
Client
Client
Loader
Locator
Node1
Node2
Stock A Stock B
Stock B Stock A
GF Cache Nodes
Cluster
81
66. Rebalance
Cache Nodes
Feeder
Client
P Client
Client
Loader
Rebalance
P
B B
82
67. SQLFire
Network Server
Relational Model
Apache
Query Engine
+ Derby
Transactions
+
Durable Storage
Partitioned Region
Memory + Disk Durability
Transactions, HA, Data Consistency
vFabric
FIRE
83
69. vFabric APM
Description Benefits
• A suite of Application • Continuous monitoring of application health
Performance Mgt Tools across the full distributed application stack
with unified operational • Unified view simplifies the production
view and robust management environment
alerting
• Pinpoint application performance problems
• Hyperic agents monitor
health of application
resources
• Network probes
provide information on
end-to-end transactions
• Spring Insight provides
developers with
detailed information on
application behavior in
dev, test and prod
85
70. vFabric Application Performance Manager (APM)
New Bundle
Target Customer
vFabric APM
Any vSphere customer modernizing and
virtualizing applications
Best suited for Java apps
vFabric
AppInsight
Monitoring Capabilities
Monitoring across all layers – network,
Code, Network, Tx
Monitoring transaction, app infrastructure and code
Monitor transactions for any web app
Monitor application infrastructure for any app
Monitor code for java apps
vFabric Hyperic
(App Infra Monitoring)
86
71. Out-of-the-Box Rich Set of Monitoring Capabilities
New Bundle
Native Features
vFabric APM
Single, cohesive, intuitive dashboard for
application operations
Quick detection of apps with failing KPI
vFabric
AppInsight Auto-discovery of end2end application
topology using network probes
Monitoring across all layers – network,
Code, Network, Tx
Monitoring transaction, app infrastructure and code
Intelligent overlay of code & config
changes on top of KPI graphs using
Hyperic integration
vFabric Hyperic Drill down to problematic code samples
(App Infra Monitoring) using Insight BCI agents
87
72. Additional Capabilities through VMware Product Integrations 1
New Bundle vCenter Orchestrator
vFabric APM
Flexible remediation
actions
vFabric
AppInsight Scale up /down VMs
Scale out / in VMs
Code, Network, Tx
Monitoring
Restart VMs
Power off / on VMs
Revert to snapshots
Rollback code, config changes
vFabric Hyperic
Any workflows defined in vCO
(App Infra Monitoring)
88
73. Additional Capabilities through VMware Product Integrations 2
New Bundle vCenter Chargeback
vFabric APM
Application cost
visibility
vFabric
AppInsight Cost breakdown
over time
Code, Network, Tx Cost per usage
Monitoring
vFabric Hyperic
(App Infra Monitoring)
89
77. vFabric Application Director
Description Benefits
• Cloud enabled • Automate application deployment quickly and
application provisioning easily
solution • Apply a single blueprint to multiple clouds
• Includes catalog of • Optimized for vFabric technology
standard application
• Support for many standard app components
components and
scripts
• Create an application
blueprint using
standard and custom
components
• All standard
components can be
customized as required
• Integration with cloud
provider catalog
93
79. Data Director: Powering Database-as-a-Service for Your Cloud
Description Benefits
A unified DBaaS platform for • Accelerate Database Virtualization
virtualizing and managing • Automate Database Lifecycle Management
lifecycle of heterogeneous
databases • Reduce Time-to-Market
vFabric Data Director
Lifecycle Backup/ Dynamic One click
Provisioning Clone
Services Restore Scaling HA
DBAApp Dev
Infrastructure Resource Security Template Patch
Monitor
Services Mgmt Mgmt Mgmt Mgmt
DBAIT Admin
Databases
vPostgres Oracle Other major databases
...
Cloud Infrastructure Platform
95
80. Agenda
Cloud Application Platform Overview
vFabric : Build – Run – Scale in the cloud
vFabirc Solution on Modern Application
Cloud Foundry
96
81. The New Application World
Web oriented, interactive, data-rich user experiences & business
processes
Powered by on-demand application platform services and virtual
infrastructure
97
82. Productive Programming Model Across Wide Range of Apps
Web
Mobile Batch
Cloud
Platform Integration
Services
Social
Security
Media
98
83. Seamless Integration between Frameworks and vFabric Services
Description Benefits
• Spring projects for • Match between framework and platform services
accessing all of the aligns developers and operations
vFabric Services from
within the Spring • Framework streamlines consumption of vFabric
Programming model services
• Spring GemFire • vFabric services optimized for Spring
• Spring AMQP applications running on VMware stack
(RabbitMQ)
• Spring Data
(SQLFire)
• APM monitoring plug-ins
for apps built with
• Spring Batch
• Spring Integration
• Spring Mobile
• Spring Social
99
85. Application and Database Cloud Deployment
Charge Back
vCenter Operations
Application or DB
Catalog Management
Service Manager
vCenter Orchestrator
vFabric App Director
DB Provision
DB Management
vFabric Data Director
Application Management
vFabric Data Director vFabric APM
101
86. Your Cloud
Access From Anywhere
Auto Provision DBA
Web Interface
App Dev
IT Admin
Self-Service
Under Control
DBA
App Dev IT Admin IT Manager
Compliant & Secure
102
87. More Choice for Your Cloud
VMware vCloud Solution
Private Cloud True Hybrid Cloud Public Cloud
(4,000 vCloud service providers)
Cloud Consumption
vCloud
Portability
Operations & Management vCloud Datacenter
vCenter Security and performance
Cross-Cloud Standards for enterprises
vCloud API
Security & Compliance Open Virtualization Format
vShield
vCloud Powered
Broad array of
Virtualization Cross-Cloud Management VMware-compatible clouds
vCloud Connector for any business need
vSphere
103
88. The Transition to PaaS
Cloud
Platform as a Service
Web
Application Servers
vFabric 5
Client-Server
Unix Services
Mainframe
COBOL
Each new era in computing brings a new application platform:
for the Cloud era it is “PaaS”
104
91. Agenda
Cloud Application Platform Overview
vFabric : Build – Run – Scale in the cloud
vFabirc Solution on Modern Application
Cloud Foundry
107
92. The Transition to PaaS
Cloud
Platform as a Service
Web
Application Servers
vFabric 5
Client-Server
Unix Services
Mainframe
COBOL
Each new era in computing brings a new application platform:
for the Cloud era it is “PaaS”
108
93. Deploy and scale applications in
seconds, without locking yourself
into a single cloud
109
97. Cloud Foundry open PaaS - Choice of application services
vFabric
Postgres
Data
Services
vFabric
RabbitMQTM Msg
Services
Other
Services
113
98. Cloud Foundry open PaaS - Choice of clouds
Data
Services
Private
Clouds
Msg
Services
Public
Partners
Clouds
.COM
Other
Services
Micro
Clouds
114
99. Cloud Foundry open PaaS - It’s open source
Data
Services
Private
Clouds
Msg
Services
Public
Clouds
Other
Services
Micro
Clouds
Apache2 license
115
100. Cloud Foundry: Making multi-cloud a reality
Choice of Private Choice of Public Choice of Cloud
Cloud Distributions Cloud Providers Infrastructure
.COM
Bare metal
116
101. CloudFoundry.COM - Multi-tenant PaaS operated by VMware
CloudFoundry.COM (beta*)
Runtimes & Frameworks
Services
vCenter / vSphere
Infrastructure
* Paid GA offering to be available in FY12
117
102. Micro Cloud FoundryTM – Industry first downloadable PaaS
Micro Cloud Foundry
Runtimes & Frameworks
Services
Your Laptop/PC
Single VM instance of
Cloud Foundry
that runs on a developer‟s
MAC or PC
118
103. CloudFoundry.ORG - Community open-source project
CloudFoundry.ORG
Your Infrastructure
Download Setup Deploy
Code Environment Behind
Firewall
Apache 2
license
119
VMware is focused on 3 discrete layers of infrastructure. Interestingly, this also reflects our organizational structure.There has been a massive transformation in the world of core infrastructure over the past 5-7 years as virtualization has fundamentally changed the way in which servers, storage, networking are done, leading to a huge improvement in productivity.There is a similar transition underway in the realm of application infrastructure: where people build, run and manage their applications. Some of this is disruption is related to the shift in core infrastructure, but is primarily being driven by a handful of both business and technical trends. I am going to focus this presentation on this layer of infrastructure, a category generally referred to as the Application Platform.
The first driver of this transition is the business imperative.You may have seen a piece in the Wall Street Journal by Marc Andreessen entitled “Why Software is Eating the World”. He makes the point that every company today is in the software business and software is the centerpiece of competitive dynamics in industries as diverse as automobiles, retailing, logistics, media and entertainment, telecommunications, energy, agriculture and financial services.The software we’re talking about here are applications that drive your business – that take orders, move packages, render movies, stream music, find oil, etc. The economy is littered with examples of how one company used an application to take business away from their competitors: Amazon killed Borders through an application that allows them to deliver digital books, WalMart killed their competitors b/c of their ability to optimize supply chain and pricing in a way that nobody could match. Oil companies compete on their ability to build applications that allow them to find wells before their competitors. Cars are increasingly run by custom applications. As the world has become increasingly connected, there is no business that is immune and which is why there is a business imperative of figuring out how to build applications faster and better than your competitors..Second, is a set of technical themes that are driving this disruption. First: the way that applications are being built is completely different: rather than being written at a very low level, they are increasingly written with Frameworks. This is essentially a higher level paradigm, one that focuses on simplicity and component reuse. In the Java world, more than 50% of ALL the java applications running today are written with Spring. But it is not limited to Java: emerging languages are all based on framework – Rails for Ruby, Node.js for Java Script, Grails, etcSecond, the types of applications being written today are very different than they were 5-7 years ago. As we look out at our customers’ application portfolios, the majority of applications are driven by initiatives around mobile, SaaS and social. The development process for these kinds of apps is also very different: rather than being 9 month dev cycles, they tend to have rapid iterations allowed by this new paradigm: they are developed, tweaked, deployed, tweaked, deployed, etc. This has implications for the kinds of technologies being used.Third: data. This is a wholesale change. These mobile, SaaS and social apps put pressures on the database-only approach to data management, and many instances are themselves the cause of the massive spike in data volumes. Concepts like low latency / elasticity, multi-cloud are critical to this new generation of apps. And above all, the sheer quantify of data that they are dealing with is a real challenge.Finally, whether app teams like it or not, many organizations have a virtual-first policy for new applications. While we have certainly proven that any app can be virtualized, if you know your app will be running on virtual infra there are opportunities to architect it to leverage this powerful construct.Together, these trends are driving a real transition in the technologies being used to build, run and manage applications.
Here at VMware we focus our application platform efforts on 3 areas:Modernize applications: whether it is modernizing existing apps or building entirely new ones, the nature of application infrastructure is evolving. This is about leveraging application platform optimized for the framework that apps are being written with and for the virtual platform upon which it will run. Effectively we are seeing a shift in the runtime platform for modern applications.The second is about helping customers address this transition in data infrastructures.And the third is a focus on the longer term shift to a fundamentally new model of application platform, a “platform as a service”.
When it comes to building applications today, we advocate:1)Move to higher level, modern frameworks like Spring if you haven’t already2) Once you’re on higher level framework, you can move to lightweight runtimes, which are standards-based and lightweight in terms of both cost and complexity. Lets you avoid the cost and complexity of the big proprietary app servers, but also put you on the path to PaaS so it will be easy to move your apps when you’re ready to move.
Rails = framework for RubyDjango = framework for Python
We have seen a huge amount of innovation in the application domain:Rise of modern frameworks that greatly simplify the building off apps. For example, analysts have shown that using the Spring framework can allow developers to deliver applications 50% faster than without themAnd at the infrastructure level, innovations with virtualization have introduced provide changes. Unfortunately, the runtime components of middleware have resisted such innovation and are built for the applications of yesteryear. They remain hard to develop for, hard to deploy and overly complex for the realities of today’s applications. And the approach to licensing – based on a count of CPU’s – is frankly antiquated given the realities that virtualization has brought to the modern datacenter.It is worth noting that VMwareis the leader in both modern frameworks (Spring – used by the majority of enterprise Java developers in the world) and virtual infrastructure (vSphere).
VMware supports the entire software development lifecycle with (a) FREE Frameworks and Tools that help you actually build your applications faster, with (b) a platform of lean, highly performant application services for your production environment that can be run efficiently on physical or virtual infrastructure and with (c) the virtualization and cloud management platform that will enable your application to scale up or down quickly and easily across “your cloud”. Be it public, private, or even a hybrid cloud.Build Applications Faster with SpringSource Frameworks and Tools<CLICK> Of course, a craftsman’s final product is highly impacted by the tools at his/her disposal. The open source community that was founded by Vmware’sSpringSource division has created dozens of tools and frameworks that we provide completely free to any developer who wishes to download and use them. To date over 3 million developers have taken us up on that offer. In fact, our core Spring Framework is used > 50% of all Enterprise Java applications today and by 90% of the Fortune 1000. (3M = Gartner/Evans, )Our frameworks guide your development teams toward best-practice solutions to common architectural challenges such as dependency management, integration, batch processing, and data access. Our tools are flexible yet powerful, accelerating your Java development through optional code generation and debugging through deep code tracing capabilities. For those development teams who need even more productivity we provide a Java–based scripting option. All 100% free and open source. You can even develop your application using all of these free technologies we provide and then deploy that application on any of our competitors! Think of the leverage that creates for you the next time your middleware vendor comes back with a multi-million dollar software or maintenance bill.QUESTION: What kinds of frameworks and tools does your organization currently use in your custom application development today?Run applications efficiently with vFabric Application Services<CLICK>RUN: vFabric Application Services Once you have built your application, you must now decide on your runtime environment. Over the past five years the Java community has seen a rather dramatic shift towards lean and simple. For example, for years Tomcat has been the deployment platform of choice for the most sophisticated IT departments, but that trend has now trickled down to more conservative companies such as Wal-Mart, E-Trade, and the Weather Channel (source: wiki at http://tomcat.apache.org). Today lightweight messaging protocols like AMQP are displacing MQ-Series in architecture diagrams while their message payloads migrate from XML to JSON. Rest vs Soap? Simple and lean has finally become the preferred architecture of the Java community (doubt? Visit your local Java Users Group when a vendor isn’t the presenter). Vmware has created a runtime composed of lean and highly performant application services as an alternative to the bloated middlware stacks loathed by developers and administrators alike. This allows developers to run the entire production runtime stack on their laptops without requiring 16 gigs of RAM (like RAD) or additional software licenses. Of course, applications don’t run without data. vFabric provides distributed in-memory data-grid solutions for high performance computing; and for low-cost commodity database needs we provide an on-premise Database-as-a-Service solution. All of this can be easily monitored and managed via a simple web-console. Best of all, you can run these services on either physical or virtual infrastructure, be it vSphere or a competitor. We even have a cloud-based pricing option that charges you based on the “average” virtual machines used instead of purchasing per CPU licenses for peak demand.QUESTION: What does your runtime platform look like today? Would you consider it to be lean, peformant, and efficient?Scale to Cloud Performance with Vmware Infrastructure Services (with a side order of vFabric)<CLICK> Now that you have built your applications and have them running on a set of lean application services the operational challenge becomes how to scale this to handle hundreds of different applications and potentially thousands of servers. VMware’s virtualization and cloud technology provides a best of breed Infrastructure-as-a-Service solution that allows you to manage 10s, hundreds, or even thousands of virtual machines from a single screen and elastically scale up or down to add and remove capacity for each application across your private, public, or hybrid cloud. But truly scaling multi-tiered applications is more difficult than just spinning up new virtual machines. Those VMs have services that must be registered with each other and configurations that must be updated to point to each other. With our upcoming AppDirector product you can create “blueprints” for different types of applications and provision new pre-configured VMs with just a few clicks. And finally, you may decide that this is all too much to handle and you would prefer to deploy your applications to a Platform as a Service that has preconfigured services that include not only those above but also Python, Scala, Ruby, Rails, Node.js, and more. Our Platform as a Service Offering (or Paas) is called Cloud Foundry and it’s offered as both an on-premise solution so you can have a private PaaS in your own datacenter, and soon as a service on CloudFoundry.com depending on your preference. Your developers can even download a complete copy called MicroCloud so they can develop on the exact infrastructure their code will run on in production.QUESTION: How easy/difficult is it for you to add/remove capacity to your multi-tier applications today? Would having this kind of elasticity be valuable to your organization?VMware is committed to simplifying the software development lifecycle and providing a better solution for IT organizations who need to improve productivity, reduce costs, and scale their operations efficiently.
Cloud is changing the way we architect, build and operate data management solutions: leading to a shift in architecture for the data tier.--------------------------------------------------------------------------------------------Explosion in data, desire for return on data assetsGrowing frontier beyond the RDBMSCumbersome to deploy, manage and scaleCustomers moving to a data fabric:Heterogeneous data managementCommon deployment and operational model
In creating a data fabric, our focus is really on 2 elements:The applications of today are putting pressures on the traditional RDBMS-only approach to data management and as a result we are seeing a phenomenal amount of innovation in the world of data. The move to cloud-era apps are introducing the need for ultra-low latency / scalability of the data tier, to enable the hybric cloud we need a way to enable data to move seamlessly across compute infrastructures. We are seeing the emerging requirement for VERY LARGE amounts of data that form the basis of decision-making, and The rise of non-relational data types that are preferred by developers as they enable much more flexibilityThis is really the focus behind our vFabric GemFire offering, targeted at addressing the data challenges associated with cloud era appsAnother challenge is clearly in the sheer quantity of data that organizations are dealing with. By some accounts the quantity of data is growing at 60% per year.The result has been a massive proliferation in the quantity of databases floating around your organization…most of which are under-managed and undersecuredas they existed at the periphery of IT controlHere, there is a real opportunity here to leverage the construct of a virtual machine to automate aspects of the database deployment and operations.
(note to presenter: use this to recap key points for GemFire before transitioning to DBaaS)Highlights:Real-time business requires high-speed dataRDBMS queries and disk latencies are too slowVirtual data fabrics like GemFire can be used to process, store and manage data in-memoryThis approach can also be used to reduce costs via horizontal scaling using commoditized x86 hardware, as well as minimize RDBMS instances/licensesScript:Today’s modern applications require high-speed data access to enable real-time analysis, quick decision-making, and immediate response to market opportunities and customer needs. Due to relational database limitations, this requires processing, storing and managing data in-memory, as well as achieving elastic scalability. VMware vFabricGemFire creates a virtual data “fabric” that can be deployed across databases in your datacenter, and as a global data backbone that spans both regional boundaries and public/private clouds. Enabling a single view of distributed data, GemFire also reduces costs by scaling horizontally using commoditized x86 hardware while mitigating the need for expensive RDBMS licenses
Script:These customer examples illustrate 3 key challenges that an in-memory data management platform is designed to address, and the benefits to be gained from it, including: elastic scalability – to achieve this you’ll need to re-architect your data tier so that you can better support seasonal peak usage and sudden spikes in demand<< click >> high speed data access – the goal here is to eliminate data processing latencies and accelerate web page response time<< click >> global data management – how do you manage data that’s distributed across datacenters – as well as the cloud?Now let’s take a look at what we mean by an in-memory data management platform, and how it fits in a typical enterprise architecture.
In order to eliminate the database sprawl that has arisen due to the proliferation of databases, VMware Data Director allows users to leverage the construct of a virtual machine to automate the deployment and management of databases in the enterprise.DBA’s and Ops team members can create database templates (tiny, small, medium, large) and then developers have a self-service portal that allows them to self-provision a database for which they have permission. This DB is then provisioned in the form of a VM and remains under central management by vFabric Data Director. It can then be updated, backed up, secured, etc by the operations team while giving developers what they need. It enables the implementation of a DB as a Service for your enterprise.And because it is a VM, your DB inherits all of the capabilities you might expect from the innovation in the infrastructure layer: automatic HA, the ability to create linked clones and more, mean that you can eliminate many of the manual tasks that are typically associated with database deployment and operations.The first DB enabled is vFabric Postgres – a commercially supported version of Postgres 9 and another addition to the vFabric product family. At launch, Sybase and Greenplum both announced their intention to enable their DB’s to be supported with vFabric Data Director, and we plan to enable other databases in future releases of vFabric Data Director.
This graphic illustrates the mechanics:DBA sets the policies associated with the databasesApplication development teams then access a self-service portal
The 3rd focus area is Platform as a Service
We have undergone a series of technological transitions: from the mainframe era, to client-server, and we are currently firmly in the web era of computing. But there is also little doubt that we are clearly in the midst of a transition to the next era, generally acknowledged as the “cloud” era.For each of these eras, there has been a corresponding application platform: in the mainframe era apps were written in COBOL and ran on Mainframe hosts. In the client server era, apps were written to leverage specific components of specific operating systems, like Unix Services. In the web era, the application server is the heart of the application platform. The transition between eras is something that didn’t happen all of a sudden but rather was an evolution over many years. All of our customers have many applications today upon which their business relies written in all of these ways.And in the next era of computing it is generally acknowledged that the Platform as a Service will be the application platform. The primary difference is that in the app server era, we download app server, web server, database, messaging server, etc, and wire them together in our environment. Then we write our application, test it, and then in our test environment do the same thing over again. Whereas the PaaS experience is notably different: we simply write our app, deploy it to the PaaS and it runs. There is no concept of installing components and wiring them together – the developer simply focuses on building their application. This is a radical enhancement to the development and operations process, allowing for huge productivity gains.This is a multi-year process that as an industry we are just embarking and while vFabric 5 is focused squarely on the application server market of today, and our PaaS offering is Cloud Foundry.
The third element of openness is in the realm of deployment choices.The ability to run Cloud Foundry on a range of infrastructures is a fundamental philosophy. CF is supported in the following formats:Micro cloud foundry: a downloadable developer instance that can run on a developer’s laptop. Limited to a single VM, this provides developers with the ability do run a PaaS on their laptop: they can build and run applications locally without ever having to install middleware! They can build the app locally and then deploy it to their choice of clouds where it can scale up to 100s of instances. Public clouds: www.cloudfoundry.com is VMware’s offering, but there are many other partners running the service as well so that you are not limited.Private clouds: we know that customers want to have that PaaS experience inside the firewall, and therefore in FY12 will be providing a private instance of Cloud Foundry that organizations can stand up as a PaaS of their own.This choice of deployment clouds is one of the elements that really stands VMware apart.
In summary, we are focused on the application needs of today with vFabric 5 and our data offerings, while providing a clear path to the PaaS era.
VMware supports the entire software development lifecycle with (a) FREE Frameworks and Tools that help you actually build your applications faster, with (b) a platform of lean, highly performant application services for your production environment that can be run efficiently on physical or virtual infrastructure and with (c) the virtualization and cloud management platform that will enable your application to scale up or down quickly and easily across “your cloud”. Be it public, private, or even a hybrid cloud.Build Applications Faster with SpringSource Frameworks and Tools<CLICK> Of course, a craftsman’s final product is highly impacted by the tools at his/her disposal. The open source community that was founded by Vmware’sSpringSource division has created dozens of tools and frameworks that we provide completely free to any developer who wishes to download and use them. To date over 3 million developers have taken us up on that offer. In fact, our core Spring Framework is used > 50% of all Enterprise Java applications today and by 90% of the Fortune 1000. (3M = Gartner/Evans, )Our frameworks guide your development teams toward best-practice solutions to common architectural challenges such as dependency management, integration, batch processing, and data access. Our tools are flexible yet powerful, accelerating your Java development through optional code generation and debugging through deep code tracing capabilities. For those development teams who need even more productivity we provide a Java–based scripting option. All 100% free and open source. You can even develop your application using all of these free technologies we provide and then deploy that application on any of our competitors! Think of the leverage that creates for you the next time your middleware vendor comes back with a multi-million dollar software or maintenance bill.QUESTION: What kinds of frameworks and tools does your organization currently use in your custom application development today?Run applications efficiently with vFabric Application Services<CLICK>RUN: vFabric Application Services Once you have built your application, you must now decide on your runtime environment. Over the past five years the Java community has seen a rather dramatic shift towards lean and simple. For example, for years Tomcat has been the deployment platform of choice for the most sophisticated IT departments, but that trend has now trickled down to more conservative companies such as Wal-Mart, E-Trade, and the Weather Channel (source: wiki at http://tomcat.apache.org). Today lightweight messaging protocols like AMQP are displacing MQ-Series in architecture diagrams while their message payloads migrate from XML to JSON. Rest vs Soap? Simple and lean has finally become the preferred architecture of the Java community (doubt? Visit your local Java Users Group when a vendor isn’t the presenter). Vmware has created a runtime composed of lean and highly performant application services as an alternative to the bloated middlware stacks loathed by developers and administrators alike. This allows developers to run the entire production runtime stack on their laptops without requiring 16 gigs of RAM (like RAD) or additional software licenses. Of course, applications don’t run without data. vFabric provides distributed in-memory data-grid solutions for high performance computing; and for low-cost commodity database needs we provide an on-premise Database-as-a-Service solution. All of this can be easily monitored and managed via a simple web-console. Best of all, you can run these services on either physical or virtual infrastructure, be it vSphere or a competitor. We even have a cloud-based pricing option that charges you based on the “average” virtual machines used instead of purchasing per CPU licenses for peak demand.QUESTION: What does your runtime platform look like today? Would you consider it to be lean, peformant, and efficient?Scale to Cloud Performance with Vmware Infrastructure Services (with a side order of vFabric)<CLICK> Now that you have built your applications and have them running on a set of lean application services the operational challenge becomes how to scale this to handle hundreds of different applications and potentially thousands of servers. VMware’s virtualization and cloud technology provides a best of breed Infrastructure-as-a-Service solution that allows you to manage 10s, hundreds, or even thousands of virtual machines from a single screen and elastically scale up or down to add and remove capacity for each application across your private, public, or hybrid cloud. But truly scaling multi-tiered applications is more difficult than just spinning up new virtual machines. Those VMs have services that must be registered with each other and configurations that must be updated to point to each other. With our upcoming AppDirector product you can create “blueprints” for different types of applications and provision new pre-configured VMs with just a few clicks. And finally, you may decide that this is all too much to handle and you would prefer to deploy your applications to a Platform as a Service that has preconfigured services that include not only those above but also Python, Scala, Ruby, Rails, Node.js, and more. Our Platform as a Service Offering (or Paas) is called Cloud Foundry and it’s offered as both an on-premise solution so you can have a private PaaS in your own datacenter, and soon as a service on CloudFoundry.com depending on your preference. Your developers can even download a complete copy called MicroCloud so they can develop on the exact infrastructure their code will run on in production.QUESTION: How easy/difficult is it for you to add/remove capacity to your multi-tier applications today? Would having this kind of elasticity be valuable to your organization?VMware is committed to simplifying the software development lifecycle and providing a better solution for IT organizations who need to improve productivity, reduce costs, and scale their operations efficiently.
TIOBE provides a programming language popularity indexNot useful in making enterprise development decisionsUseful in reminding Java people that we don’t live in a Java only worldJava is king 18%, C – 17%, .NET is around 11%VMware supports adapters for Java, C, C++, .NETCOBOL is suspiciously off the list (There is talk of supporting COBOL someday!)
In 1991 Sun Microsystems started a research project originally called Green that was intended for interactive television (ie. Set-top boxes). The project lead was a scruffy fellow named James Gosling who named the project “Oak” after a tree outside his office window. Four years later Oak was renamed “Java” was introduced to the world as the first true “write-once, run anywhere” programming language. This meant that instead of software developers (and companies) having separate codebases (and downloads) for every platform (HPUX, Solaris, Windows, Linux, etc), there could be a single codebase that ran on EVERY platform without any changes. One codebase was an incredibly powerful concept for software companies who could add a feature or fix a bug one time in a single place and have that change work identically on all of their customers systems. This was accomplished by a small piece of software called the Java Virtual Machine (aka JVM). By downloading and installing a “Java Virtual Machine” on your system you could now run ANY Java program ever written. Say goodbye to hardware and operating system compatibility matrixes. The timing of Java was critical because something else that was born between 1991 and 1995…. The world wide web!Despite it’s advantages Java was not immediately a commercial success. For one thing it was slow…like 10x slower than existing native languages. Another mis-step was that Java was positioned as a browser technology… a way to embed executable code directly into a webpage to enhance the user experience (Sun called these Java Applets). Two small problems with Applets: Number one, embedding a Java program into an HTML webpage increases page-load time from a few seconds to over a minute (remember, dial-up modems?). Number two, since consumer PCs were so underpowered, even once the Java Applet was downloaded into the browser, it ran extremely slowly. And that may have been the end of Java if not for another revolution that happened shortly thereafter around 1997. Microsoft released a revolutionary technology called “Active Server Pages” (ASP) that allowed minimally skilled developers to create highly dynamic websites quickly and easily. I know, because I was one of those minimally skilled developers writing an e-commerce website with ASP doing $1M a day in revenue. The Java community immediately saw the threat and the opportunity and copied Microsoft’s innovative ASP programming model and called their Java based version…. you guessed it : Java Server Pages (JSP). The difference between JSP and the Java Applets I described earlier is that Applets ran on underpowered personal computers (what we would call, the “client side”) while Java Server Pages executed on powerful servers that had plenty of power to run Java efficiently. JSPs were an immediate hit.In 1999, in the keynote address of the JavaOne conference, Sun’s CEO at the time (Scott McNealy) announced that Java would now come in Small, Medium, and Large. He introduced three acronyms to the crowd that day J2ME, J2SE, and J2EE which stood for Java2 Micro Edition, Standard Edition, and Enterprise Edition. J2SE (standard edition) was just a new name for what everyone had been calling Java all along. J2ME (micro-edition) was for mobile phones and never really caught on. J2EE was an immediate juggernaut and took the technology world by storm.So let’s make sure you understand exactly what J2EE is because you are going to hear this acronym on a daily basis from today forward from your customers (my apologies in advance to the techies in the room). Before J2EE if you were building a dynamic website you might choose Microsoft IIS or maybe Silverstream as your application server. The problem was that your code wasn’t portable so your appserver vendor had 100% vendor lockin unless you rewrote your code from scratch. J2EE wasn’t a product but rather just a specification of different Java interfaces and services that developers need to create web applications. Any vendor could create a J2EE application server (IBM,BEA,Jboss,etc.) and you could theoretically switch your J2EE application server vendor without changing a line of your application code. App servers were very expensive ($35K/CPU) so companies were very interested in the promise of J2EE eliminating vendor lock-in.After a couple years vendors like IBM and BEA realized that if they truly provided a solution free of any vendor lock-in then they might actually have to compete on price and performance. Blasphemy. So in addition to the interfaces and services required by J2EE the app server vendors slowly added proprietary interfaces and services and failed to make it obvious to application developers when they were using proprietary interfaces vs the standard J2EE interfaces. Mission accomplished…lockin re-established. However, a by-product of this decision was that the size of application servers ballooned and they became bloated pigs that required absurd amounts of computing power to run.At that time Java developers started to notice cracks in the J2EE story. In addition to the fact that application servers had become so bloated that they couldn’t even run on a developer’s desktop… many parts of J2EE seemed over-engineered and cumbersome. Worse, the central component model of J2EE called Enterprise Java Beans (EJB) had serious scalability problems. Developers were looking for an answer and a fellow named Rod Johnson had an idea (pssst… pay attention here, Rod is the founder of springSource and a legend in the Java world).In 2002 Rod wrote a book called “J2EE Design and Development” in which he introduced an alternative approach to building Java based webapps that promoted simplicity and avoided the complexity and scalability problems of Enterprise Java Beans. He included as sample code with the book a small framework that illustrated this new “lightweight” approach and a revolution was born. Developers read the book and began to use his framework for their own java development projects leading Rod to found the Spring Framework opensource project in 2003. The code was free… the book was not One of the most notable aspects of the Spring Framework was that it provided J2EE-like functionality but could run on the free Apache Tomcat application server as well as all of the application server vendors products. By writing their applications to use the Spring Framework developers could actually achieve the vendor portability that J2EE had promoised four years prior. Over the next 5 years the Spring Framework evolved and expanded and became the de-facto standard way to write enterprise Java applications.
Why frameworks?
Productivity and portability through innovation are the foundation of the “Spring Way”. Spring continues to deliver useful open source projects that will let enterprise Java developers escape the shackles of traditional Java thinking. VMware’s acquisition has not changed are business model with respect to Spring, but instead has provided the Spring open source family of project the resources to truly lead the enterprise Java development community on their journey to the cloud.The industry spent most of the last decade trying to do the same things, successfully or more efficiently: Largely, to build the kind of transactional web applications that J2EE was conceived to address. To build applications with traditional Web 1.0 interfaces, only mildly spiced in recent years with a dash of AJAX; applications that mostly depended on a single relational database; applications that used messaging in relatively simple ways and did not have complex interaction patterns at their heart; applications that, of course, ran within a single enterprise data center, with static provisioning.Over that decade we learnt the flaws in the J2EE model and saw decisive change in platform leadership, with innovation coming from open source and transforming programming model, tooling and deployment for the better.Today most of the old concerns remain valid but we face an additional set of challenges: For example, writing applications that can serve a variety of client types; applications that access data held in SaaS applications and stores other than a relational database; applications that publish and source information from a variety of social media; applications that support complex conversation patterns; applications that are deployable to new destinations in the public cloud.This is a major shift, and we are responding.We recognize that applications have changed significantly. With Spring and related technologies, we’re tackling today’s problems head on.
The enterprise Java space is notorious for creating pockets of specialized development expertise. For example, organizations typically have teams that cover domains such as batch, web, and SOA, etc. These teams typically need to work together to complete an end to end integrated solution. These over specialized resources inevitably contribute to the overall project complexity and delay (and failure). Massive coordination between these teams needs to occur to ensure that all these dependencies are choreographed properly. Spring eliminates these silos by decoupling the application from the underlying application platform, simplifying development on core Java Standard Edition resources and skillsets, and allowing application developers to easily cross batch, integration, and web domains. This makes for a more fluid application development workforce that can best support the continually evolving needs of your business. With Spring at the core of your business solutions, technology will no longer be an impediment to finding and retaining the right application development resources.
CIO and CTO care about the infrastructure that is driving and delivering these new applications and how major trends like publicly-available infrastructure create new options.They want a strategy that provides an evolutionary path to cloud. They want the option of deploying to their own Private cloud. Or to rent someone else’s hardware for a Hybrid cloud, which is where our vCloud service provider partners like Savvis fit in.Or to embrace a Public cloud like VMforce or Google. They want the option to choose and to do so without lock in. Our strategy enables developers to create Spring applications in a familiar productive way and keep the applications as decoupled as possible from the underlying platform.While we believe VMware vFabric provides the best place to run Spring apps, our partnership with Salesforce.com around VMforce and our partnership with Google are about ensuring we continue to expand and innovate Spring as the de facto programming model for Java in the cloud. This opens up the ability for developers to choose where they want to deploy their applications. This is simply a continuation of our long-held brand promise of portability for Spring applications, since Spring powers a majority of the applications running on WebSphere,WebLogic, JBoss, and Tomcat today.
SpringSource Tool Suite (STS) provides the best way for a developer to get started with Spring or Grails.Since it embeds the developer edition of tc Server, developers get the benefits of using the Spring Insight performance dashboard which automatically instrucments their existing Spring applications and provides deep insight into Spring application performance.STS provides a rich set of visual tools, wizards, code generation tools and tutorials that help a developer create applications very quickly.STS enables developers to deploy their applications onto any Java application server (tc Server, WebLogic, etc), deploy into VMware Workstation and VMware Lab Manager environments, and deploy into cloud platforms such as Cloud Foundry. The key point here is that we provide c consistent developer experience no matter what the deployment target may be (developer desktop, data center, or cloud)
Spring + Tomcat is a de-facto standard for developer desktops. tc server Developer Edition provides an enhanced platform to the Spring + Tomcat developer community that enables higher quality and higher performing Spring apps to be developed in a much more agile fashion. It is provided as a free download and it is also tightly integrated within SpringSource Tool Suite – providing the optimal Spring + Tomcat developer experience.tc server Developer Edition extends its 100% compatible Tomcat core with a layer that automatically weaves metrics and probes into a Spring application’s blueprint in a transparent way (i.e. no additional coding required).The resulting metrics are visualized within tc Server’s NEW Spring Insight performance dashboard.This dashboard has been designed for agile developers and QA teams interested in understanding the performance and health of their Spring applications. While tc Server and Hyperic provide the operations team with the aggregated metrics they need to manage the applications and infrastructure, the Spring Insight dashboard provides a level of detail for developers designed to help them find and fix the root cause of issues before the application heads to productionLet’s walk through the Spring Insight dashboard in a little more detail so you can see what this looks like.
VMware supports the entire software development lifecycle with (a) FREE Frameworks and Tools that help you actually build your applications faster, with (b) a platform of lean, highly performant application services for your production environment that can be run efficiently on physical or virtual infrastructure and with (c) the virtualization and cloud management platform that will enable your application to scale up or down quickly and easily across “your cloud”. Be it public, private, or even a hybrid cloud.Build Applications Faster with SpringSource Frameworks and Tools<CLICK> Of course, a craftsman’s final product is highly impacted by the tools at his/her disposal. The open source community that was founded by Vmware’sSpringSource division has created dozens of tools and frameworks that we provide completely free to any developer who wishes to download and use them. To date over 3 million developers have taken us up on that offer. In fact, our core Spring Framework is used > 50% of all Enterprise Java applications today and by 90% of the Fortune 1000. (3M = Gartner/Evans, )Our frameworks guide your development teams toward best-practice solutions to common architectural challenges such as dependency management, integration, batch processing, and data access. Our tools are flexible yet powerful, accelerating your Java development through optional code generation and debugging through deep code tracing capabilities. For those development teams who need even more productivity we provide a Java–based scripting option. All 100% free and open source. You can even develop your application using all of these free technologies we provide and then deploy that application on any of our competitors! Think of the leverage that creates for you the next time your middleware vendor comes back with a multi-million dollar software or maintenance bill.QUESTION: What kinds of frameworks and tools does your organization currently use in your custom application development today?Run applications efficiently with vFabric Application Services<CLICK>RUN: vFabric Application Services Once you have built your application, you must now decide on your runtime environment. Over the past five years the Java community has seen a rather dramatic shift towards lean and simple. For example, for years Tomcat has been the deployment platform of choice for the most sophisticated IT departments, but that trend has now trickled down to more conservative companies such as Wal-Mart, E-Trade, and the Weather Channel (source: wiki at http://tomcat.apache.org). Today lightweight messaging protocols like AMQP are displacing MQ-Series in architecture diagrams while their message payloads migrate from XML to JSON. Rest vs Soap? Simple and lean has finally become the preferred architecture of the Java community (doubt? Visit your local Java Users Group when a vendor isn’t the presenter). Vmware has created a runtime composed of lean and highly performant application services as an alternative to the bloated middlware stacks loathed by developers and administrators alike. This allows developers to run the entire production runtime stack on their laptops without requiring 16 gigs of RAM (like RAD) or additional software licenses. Of course, applications don’t run without data. vFabric provides distributed in-memory data-grid solutions for high performance computing; and for low-cost commodity database needs we provide an on-premise Database-as-a-Service solution. All of this can be easily monitored and managed via a simple web-console. Best of all, you can run these services on either physical or virtual infrastructure, be it vSphere or a competitor. We even have a cloud-based pricing option that charges you based on the “average” virtual machines used instead of purchasing per CPU licenses for peak demand.QUESTION: What does your runtime platform look like today? Would you consider it to be lean, peformant, and efficient?Scale to Cloud Performance with Vmware Infrastructure Services (with a side order of vFabric)<CLICK> Now that you have built your applications and have them running on a set of lean application services the operational challenge becomes how to scale this to handle hundreds of different applications and potentially thousands of servers. VMware’s virtualization and cloud technology provides a best of breed Infrastructure-as-a-Service solution that allows you to manage 10s, hundreds, or even thousands of virtual machines from a single screen and elastically scale up or down to add and remove capacity for each application across your private, public, or hybrid cloud. But truly scaling multi-tiered applications is more difficult than just spinning up new virtual machines. Those VMs have services that must be registered with each other and configurations that must be updated to point to each other. With our upcoming AppDirector product you can create “blueprints” for different types of applications and provision new pre-configured VMs with just a few clicks. And finally, you may decide that this is all too much to handle and you would prefer to deploy your applications to a Platform as a Service that has preconfigured services that include not only those above but also Python, Scala, Ruby, Rails, Node.js, and more. Our Platform as a Service Offering (or Paas) is called Cloud Foundry and it’s offered as both an on-premise solution so you can have a private PaaS in your own datacenter, and soon as a service on CloudFoundry.com depending on your preference. Your developers can even download a complete copy called MicroCloud so they can develop on the exact infrastructure their code will run on in production.QUESTION: How easy/difficult is it for you to add/remove capacity to your multi-tier applications today? Would having this kind of elasticity be valuable to your organization?VMware is committed to simplifying the software development lifecycle and providing a better solution for IT organizations who need to improve productivity, reduce costs, and scale their operations efficiently.
Developer EfficiencyFamiliar Spring + Tomcat experienceAgile Spring development experience via STS Enhanced build process via Maven pluginOperational Control through HypericPerformance & SLA management of Spring apps Application provisioning and server administrationRich alert definition, workflows, and control actionsGroup availability & event dashboardsSecure unidirectional agent communicationsDeployment FlexibilityLean server (10 MB) ideal for virtual environmentsTemplate-driven server instance creationIntegrated experience with VMware environmentsOpen, secure API for all operations
What kind of benefits can be had from such a platform?This is an example from one of our large Financial Services customers with very large Java deployments. They are comparing their existing WebSphere-based infrastructure with our modern, lightweight alternative.Operational savings for such things as server provisioning and application installs can be driven down from hours/days to seconds/minutes.The complexity of application infrastructure can be dramatically reduced as well. With Gigabyte footprints reduced to Megabytes and corresponding installation and configuration scripts reduced by orders of magnitude.These are just some examples, from the customer’s perspective, of the measurable benefits.
One of the most common challenges facing anyone running a Java application is figuring out how much memory to give it. Since Java heaps are static, giving too much memory can be very wasteful, and can sometimes even lead to poor performance through long garbage collection pauses. Conversely, if a JVM does not have enoughmemory the application will encounter an out-of-memory exception and simply crash. It would be very useful to have a way to give a little extra memory to a JVM with the understanding that, when it is not needed, the memory will be reclaimed into a common pool. But if the Java application encounters a spike, its full memory assignment will be available to it.Of course, ESX already has ways to reclaim and then give back memory to virtual machines at the OS level, so what we need here is an extension of that technology that operates at the Java level. The vFabric platform offers exactly that capability, working with some new capabilities to be introduced in vSphere 5. We call the technology Elastic Memory for Java or EM4J.Elastic Memory for Java is an agent that runs directly inside Java and manages memory within the Java heap. When Java is lightly loaded, the agent allocates objects onto the heap, creating a “balloon”. The memory associated with these objects is then passed to ESX, which is then free to give this memory to other virtual machines that need memory more urgently.When Java is under heavy load, the balloon is deflated and Java has all the memory it needs to handle heavy load. This technology is currently implemented in applications running in tc Server only.
Incredibly wasteful use of memory, rackspace, energy, and physical hosts.Java heap memory that is idle most of the time.And destroys your consolidation ratios.
EM4J lets a vFabric tc Server instance under memory pressure, due a high workload, borrow java heap memory from other tc Server instances running on the same vSphere host. Then release that memory as their workload subsides.EM4J provides dynamically and automatically adjusted at runtime as the Java heap memory requires of app servers grow and shrink with changing workloads.Only VMware can provide this, because only VMware has engineering expertise around both a mainstream hypervisor, and a mainstream application server. That hypervisor is, of course, vSphere. The application sever is tc Server, based on open source Apache Tomcat, the world’s most popular Java application server, used for running production applications in over 60% of large businesses and organizations worldwide.
One of the most common challenges facing anyone running a Java application is figuring out how much memory to give it. Since Java heaps are static, giving too much memory can be very wasteful, and can sometimes even lead to poor performance through long garbage collection pauses. Conversely, if a JVM does not have enoughmemory the application will encounter an out-of-memory exception and simply crash. It would be very useful to have a way to give a little extra memory to a JVM with the understanding that, when it is not needed, the memory will be reclaimed into a common pool. But if the Java application encounters a spike, its full memory assignment will be available to it.Of course, ESX already has ways to reclaim and then give back memory to virtual machines at the OS level, so what we need here is an extension of that technology that operates at the Java level. The vFabric platform offers exactly that capability, working with some new capabilities to be introduced in vSphere 5. We call the technology Elastic Memory for Java or EM4J.Elastic Memory for Java is an agent that runs directly inside Java and manages memory within the Java heap. When Java is lightly loaded, the agent allocates objects onto the heap, creating a “balloon”. The memory associated with these objects is then passed to ESX, which is then free to give this memory to other virtual machines that need memory more urgently.When Java is under heavy load, the balloon is deflated and Java has all the memory it needs to handle heavy load. This technology is currently implemented in applications running in tc Server only.
In the cloud, communication is the design center. Messaging is fundamentally a communication technology and therefore a cloud enabler. Increasingly people who build applications ask “how do these components wired together?” and “what’s my event model?” where they used to ask “what’s my database schema and what’s my language platform”. This was always true for “enterprise integration” but now these patterns are needed even for new applications. The applications that are leading the way are also some of the biggest, e.g. near real-time data analytics and activity streams on global scale, social and mobile enabled apps. The shift to these design patterns is driving adoption of streaming data services and event based technologies like messaging.Advanced Message Queuing Protocol (AMQP) is an open standard for passing business messages between applications or organizations. AMQP protocol is widely viewed as the future of messaging technology and is already used by a large fraction of large web and cloud providers as well as financial services organizations, usually via RabbitMQ, the leadingAMQP-based messaging solution. We are the maintainers of the RabbitMQ open source project and include it as part of vFabric platform.
Design guidance from http://redis.io/Note that “easy to use” isn’t in this copy. That’s because it’s implied with the tagline “messaging that just works” and the extensive list of tutorial links.
Traditional relational databases are being used in a lot of ways they were never intended to be used. The design of SQL databases centers largely around ad-hoc querying of large data sets in the most efficient way possible. Though they are commonly used for all kinds of purposes, they were never really designed to support things like thousands of concurrent users, rapid updates or web applications.Internet companies figured this out a long time ago, as soon as companies started putting their businesses on the web, they found that traditional data architectures cause massive problems in terms of scaling to lots of users and providing the same great experience to users no matter where in the world they are. The leading companies in the space solved this problem by writing their own data systems, and in the past ten years we’ve seen a tremendous number of databases emerge that make fundamentally different design decisions than those made when traditional database architectures formed decades ago.SQLFire makes a lot of these same fundamental changes. For one thing, the traditional database was designed to maximize disk efficiency including data placement, rotational latencies, etc. Nobody architecting a database today would make such decisions. SQLFire assumes that memory is the primary storage mechanism for data and that disk will operate as a secondary or backup layer. The benefits are tremendous in terms of maximizing speed and minimizing latency. With this architecture SQLFire can handle enormous amounts of reads and writes even on a commodity server.SQLFire features a unique horizontal scaling design which allows data to be partitioned among commodity servers in such a way that load is evenly distributed even though servers can be added and removed from the cluster at any time. This is key to SQLFire’s scalability as one user’s request may be handled by a completely different server as anothers, meaning they cannot create application delays for one another.Traditional databases also suffer scalability problems stemming from an absolute insistence on ACID semantics in all situations. Enforcing ACID consistency creates substantial overhead and these days developer realize that they don’t need ACID all the time. With traditional databases you pay the ACID tax every time whether you want to or not. With SQLFire you have a choice: Pay the ACID tax when you need it and avoid it when you don’t. This allows SQLFire to scale further, and also allows SQLFire to act as a truly global database via asynchronous replicaiton between datacenters.These days there’s a lot of talk about the NoSQL systems these Internet companies invented. There is a vast world of choices in terms of data models, consistency models, you name it. Some of these models will survive and some will not, it’s too early to tell. The market has not matured to the point where we can predict winners, and skills to run these new systems are very scarce. SQLFire provides much of the benefit of these new database systems but manages to do so in a way that supports standard SQL interfaces, JDBC and ADO.NET. The world has literally millions of developers who already know these standards.
Although Spring is famous for its openness and portability, we can take advantage of our deep understanding of Spring to add uniquevalue for applications running on tc Server. Spring Insight is a technology that provides code level tracing – tracking the time a transaction spends in each method and JDBC (database) call transparently for Spring Applications. Basically, developers can get very deep information on the operation of a running Spring application just as a benefit for running on vFabric. No code modifications or setup is required. Spring Insight has been available for developers for almost a year as part of the tc Server Developer Edition. This is a single-user, development-time solution that integrates & helps developers find performance bottlenecks in their applications while running it on their local machines, typically inside our Eclipse-based IDE, SpringSource Tool Suite. Spring Insight Operations, which leverages the same code-level tracing technology but pulls together information from multiple application servers into a single console with roll-up views, drill downs, and historical comparisons. This solution has been designed to minimize the overhead of the monitoring so it is suitable for both test and production environments. While the Spring Insight Operations console is useful for both administrators and developers who may need to troubleshoot problems in production, it is also important that administrators and operations have a single place to go for vFabric monitoring. Therefore, Spring Insight Operations monitoring will be available not only as a stand-alone console but also through a plug-in to the Hyperic monitoring solution, enabling a single view across data from multiple sources and integrated alerting and control actions.
VMware supports the entire software development lifecycle with (a) FREE Frameworks and Tools that help you actually build your applications faster, with (b) a platform of lean, highly performant application services for your production environment that can be run efficiently on physical or virtual infrastructure and with (c) the virtualization and cloud management platform that will enable your application to scale up or down quickly and easily across “your cloud”. Be it public, private, or even a hybrid cloud.Build Applications Faster with SpringSource Frameworks and Tools<CLICK> Of course, a craftsman’s final product is highly impacted by the tools at his/her disposal. The open source community that was founded by Vmware’sSpringSource division has created dozens of tools and frameworks that we provide completely free to any developer who wishes to download and use them. To date over 3 million developers have taken us up on that offer. In fact, our core Spring Framework is used > 50% of all Enterprise Java applications today and by 90% of the Fortune 1000. (3M = Gartner/Evans, )Our frameworks guide your development teams toward best-practice solutions to common architectural challenges such as dependency management, integration, batch processing, and data access. Our tools are flexible yet powerful, accelerating your Java development through optional code generation and debugging through deep code tracing capabilities. For those development teams who need even more productivity we provide a Java–based scripting option. All 100% free and open source. You can even develop your application using all of these free technologies we provide and then deploy that application on any of our competitors! Think of the leverage that creates for you the next time your middleware vendor comes back with a multi-million dollar software or maintenance bill.QUESTION: What kinds of frameworks and tools does your organization currently use in your custom application development today?Run applications efficiently with vFabric Application Services<CLICK>RUN: vFabric Application Services Once you have built your application, you must now decide on your runtime environment. Over the past five years the Java community has seen a rather dramatic shift towards lean and simple. For example, for years Tomcat has been the deployment platform of choice for the most sophisticated IT departments, but that trend has now trickled down to more conservative companies such as Wal-Mart, E-Trade, and the Weather Channel (source: wiki at http://tomcat.apache.org). Today lightweight messaging protocols like AMQP are displacing MQ-Series in architecture diagrams while their message payloads migrate from XML to JSON. Rest vs Soap? Simple and lean has finally become the preferred architecture of the Java community (doubt? Visit your local Java Users Group when a vendor isn’t the presenter). Vmware has created a runtime composed of lean and highly performant application services as an alternative to the bloated middlware stacks loathed by developers and administrators alike. This allows developers to run the entire production runtime stack on their laptops without requiring 16 gigs of RAM (like RAD) or additional software licenses. Of course, applications don’t run without data. vFabric provides distributed in-memory data-grid solutions for high performance computing; and for low-cost commodity database needs we provide an on-premise Database-as-a-Service solution. All of this can be easily monitored and managed via a simple web-console. Best of all, you can run these services on either physical or virtual infrastructure, be it vSphere or a competitor. We even have a cloud-based pricing option that charges you based on the “average” virtual machines used instead of purchasing per CPU licenses for peak demand.QUESTION: What does your runtime platform look like today? Would you consider it to be lean, peformant, and efficient?Scale to Cloud Performance with Vmware Infrastructure Services (with a side order of vFabric)<CLICK> Now that you have built your applications and have them running on a set of lean application services the operational challenge becomes how to scale this to handle hundreds of different applications and potentially thousands of servers. VMware’s virtualization and cloud technology provides a best of breed Infrastructure-as-a-Service solution that allows you to manage 10s, hundreds, or even thousands of virtual machines from a single screen and elastically scale up or down to add and remove capacity for each application across your private, public, or hybrid cloud. But truly scaling multi-tiered applications is more difficult than just spinning up new virtual machines. Those VMs have services that must be registered with each other and configurations that must be updated to point to each other. With our upcoming AppDirector product you can create “blueprints” for different types of applications and provision new pre-configured VMs with just a few clicks. And finally, you may decide that this is all too much to handle and you would prefer to deploy your applications to a Platform as a Service that has preconfigured services that include not only those above but also Python, Scala, Ruby, Rails, Node.js, and more. Our Platform as a Service Offering (or Paas) is called Cloud Foundry and it’s offered as both an on-premise solution so you can have a private PaaS in your own datacenter, and soon as a service on CloudFoundry.com depending on your preference. Your developers can even download a complete copy called MicroCloud so they can develop on the exact infrastructure their code will run on in production.QUESTION: How easy/difficult is it for you to add/remove capacity to your multi-tier applications today? Would having this kind of elasticity be valuable to your organization?VMware is committed to simplifying the software development lifecycle and providing a better solution for IT organizations who need to improve productivity, reduce costs, and scale their operations efficiently.
Although Spring is famous for its openness and portability, we can take advantage of our deep understanding of Spring to add uniquevalue for applications running on tc Server. Spring Insight is a technology that provides code level tracing – tracking the time a transaction spends in each method and JDBC (database) call transparently for Spring Applications. Basically, developers can get very deep information on the operation of a running Spring application just as a benefit for running on vFabric. No code modifications or setup is required. Spring Insight has been available for developers for almost a year as part of the tc Server Developer Edition. This is a single-user, development-time solution that integrates & helps developers find performance bottlenecks in their applications while running it on their local machines, typically inside our Eclipse-based IDE, SpringSource Tool Suite. Spring Insight Operations, which leverages the same code-level tracing technology but pulls together information from multiple application servers into a single console with roll-up views, drill downs, and historical comparisons. This solution has been designed to minimize the overhead of the monitoring so it is suitable for both test and production environments. While the Spring Insight Operations console is useful for both administrators and developers who may need to troubleshoot problems in production, it is also important that administrators and operations have a single place to go for vFabric monitoring. Therefore, Spring Insight Operations monitoring will be available not only as a stand-alone console but also through a plug-in to the Hyperic monitoring solution, enabling a single view across data from multiple sources and integrated alerting and control actions.
vFabric Data Director is a new product we are introducing. Data Director is built on vSphere platform to extend the virtualizationbenefits to the databaselayer. It’s a self-service database provisioning and cloud automation platform that enables organizations to offer database-as-a-service inside their own datacenter and in turn dramatically simplifies database deployment, operations and scaling in the cloud. Further, this allows enterprise to keep their data behind the firewall and maintain control.The first database we have enabled on top of this platform is a vSphere-optimized PostgreSQL database, the most enterprise-ready open source database.
With the rise of virtualization and modern development frameworks, a fundamentally different approach to delivering new applications has evolved. Just how different are the requirements for applications in the Cloud Generation?Twitter has 600 million hits per day. 75% of those hits come from other applications…not people.And the millions of Tweets posted on Twitter are not stored in a traditional database.Facebook has more than 500 million users who spend 700 Billion (that’s Billion with a B) minutes per month on the site.Facebook achieves its immense scale by through global data caching technology.We're moving into an era where developers can build great applications that are Web oriented, interactive, and data-rich.These applications also represent a convergence between consumer applications and enterprise applications since they need to integrate with cloud applications and services as well as integrate with social media services that enable collaboration, for example.It should be easy to immediately deploy those applications onto a modern platform that provisions and configures itself on demand and intelligently runs and scales the application based on policy.
We often ask ourselves why some organizations seem stuck with building and running enterprise applications the same way today that they did five or even ten years ago. One of the key reasons is that there are frequently disconnects among the capabilities of the state-of-the-art frameworks, the capabilities of new runtime or data management technologies, and the needs of operations to keep applications running smoothly. One of the great strengths of the vFabric platform is our ability to bring these three things together. Here are some examples.GemFire provides advanced data management capabilities – memory speed data access with optional persistence, true elastic scale, integrated WAN replication, and in-fabric function execution (bringing compute to data) – it’s a great fit for many of today’s apps that are latency-sensitive, globally distributed, or subject to unpredictable loads. But many enterprise developers are accustomed to programming in Spring. How easily can they take advantage of this cool technology? The purpose of the Spring GemFire project is to make sure that Spring developers have a simple and familiarexperience when using GemFire. Sometimes, developers are motivated to move ahead with the latest framework technology to solve business problems and it is operations who needs to catch up. The maintainers of Spring are moving ahead with frameworks that greatly simplify life for developers building applications to address batch or integrationchallenges or who want to enable their applications with mobileaccess or securelyconnect their apps to social media networks. But what tools do operators have to deeply monitor and maintain the health of applications built using these frameworks? This is the reason we are building plug-ins for vFabricHyperic to provide deep monitoring of exactly these types of specialized Spring applications.
VMware offers a Complete Cloud Infrastructure Solution.1) The VMware cloud infrastructure solution is built on top of vSphereand provides all the components needed to transform an internal datacenter into a secure private cloud with extensibility to public clouds. By integrating with and extending the capabilities of vSphere, VMware cloud infrastructure solutions deliver all the benefits of cloud computing such as: a)Increased Business Agility through rapid self-service of on-demand resourcesb)Reduced costs through efficient delivery of resources and consolidation of infrastructurec)Improved security and compliance d)Application portability and interoperability between private and public cloudsCompetitor’s solutions fall short in their ability to deliver on all aspects of setting up a secure cloud environment. 2) Finally, only VMware has created an ecosystem of cloud providers who are all validated to work with existing vSphere workloads. VMware also provides thevCloud Connector functionality to manage workloads both in the private and public clouds through a single interface. It allows customers to migrate workloads from internal datacenters to compatible public clouds without any additional rework. Other vendors don’t provide the portability of moving workloads both in and out of the private cloud or between different public clouds.(FYI only: There are 7 global vCloud Datacenters around the world and over 80 vCloud Powered partners today )
We have undergone a series of technological transitions: from the mainframe era, to client-server, and we are currently firmly in the web era of computing. But there is also little doubt that we are clearly in the midst of a transition to the next era, generally acknowledged as the “cloud” era.For each of these eras, there has been a corresponding application platform: in the mainframe era apps were written in COBOL and ran on Mainframe hosts. In the client server era, apps were written to leverage specific components of specific operating systems, like Unix Services. In the web era, the application server is the heart of the application platform. The transition between eras is something that didn’t happen all of a sudden but rather was an evolution over many years. All of our customers have many applications today upon which their business relies written in all of these ways.And in the next era of computing it is generally acknowledged that the Platform as a Service will be the application platform. The primary difference is that in the app server era, we download app server, web server, database, messaging server, etc, and wire them together in our environment. Then we write our application, test it, and then in our test environment do the same thing over again. Whereas the PaaS experience is notably different: we simply write our app, deploy it to the PaaS and it runs. There is no concept of installing components and wiring them together – the developer simply focuses on building their application. This is a radical enhancement to the development and operations process, allowing for huge productivity gains.This is a multi-year process that as an industry we are just embarking and while vFabric 5 is focused squarely on the application server market of today, and our PaaS offering is Cloud Foundry.
We have undergone a series of technological transitions: from the mainframe era, to client-server, and we are currently firmly in the web era of computing. But there is also little doubt that we are clearly in the midst of a transition to the next era, generally acknowledged as the “cloud” era.For each of these eras, there has been a corresponding application platform: in the mainframe era apps were written in COBOL and ran on Mainframe hosts. In the client server era, apps were written to leverage specific components of specific operating systems, like Unix Services. In the web era, the application server is the heart of the application platform. The transition between eras is something that didn’t happen all of a sudden but rather was an evolution over many years. All of our customers have many applications today upon which their business relies written in all of these ways.And in the next era of computing it is generally acknowledged that the Platform as a Service will be the application platform. The primary difference is that in the app server era, we download app server, web server, database, messaging server, etc, and wire them together in our environment. Then we write our application, test it, and then in our test environment do the same thing over again. Whereas the PaaS experience is notably different: we simply write our app, deploy it to the PaaS and it runs. There is no concept of installing components and wiring them together – the developer simply focuses on building their application. This is a radical enhancement to the development and operations process, allowing for huge productivity gains.This is a multi-year process that as an industry we are just embarking and while vFabric 5 is focused squarely on the application server market of today, and our PaaS offering is Cloud Foundry.
We’re making multi-cloud a reality with a choice of cloud infra, a choice of private cloud distributions and a choice of public cloud providers. These are all announced and more in the pipe.