0
vFabric SI/SO RoadShow<br />vFabric Platform Deep Dive<br />April 18th, 2011<br />
Session Roadmap<br />Cloud Application Platform<br />Key Drivers<br />VMware’s<br />IT as a Service Vision<br />VMware vFa...
VMware Solutions for Cloud Computing<br />End User<br />Computing<br />vFabric<br />vCloud<br />Infrastructure<br />3<br />
Transitioning from the Old to the New<br />Traditional IT<br />New IT - PaaS<br /><ul><li>Portable
Productive</li></ul>Web Servers/Load Balancers<br />Build:<br />Java<br />Spring<br />+ Blueprint<br />App Servers<br />Go...
Users are booking rooms<br />Use Case: App Intelligence for “Just-in-Time” Infrastructure<br />Hotel room promotioncomes o...
VMware vFabric Cloud Application Platform<br />Application Infrastructure for the Cloud Generation<br />Modern Frameworks ...
Spring Is Java Developers’ Choice<br />“<br />At least 2 million Java developers have some level of proficiency with Sprin...
Innovation Reigns Supreme<br />Web<br />Cloud Platform Services<br />Batch<br />Social Media<br />Security<br />Mobile<br ...
Spring Ref Arch: Robust Web 2.0 Applications Built for Scale<br />HQ Agent<br />HQ Agent<br />Application Responses<br />R...
Spring Ref Arch: Enterprise Integration in the Cloud<br />HQ Agent<br />HQ Agent<br />Application Events<br />SI Flow<br /...
Spring Ref Arch: Distributed Partitioned Batch Processing<br />Scheduler<br />Launch<br />Script<br />HQ Agent<br />HQ Age...
VMware vFabric Cloud Application Platform<br />Application Infrastructure for the Cloud Generation<br />Modern Frameworks ...
Is a New Style of Infrastructure Needed?<br />We need a platform that can Run these new apps.<br />Dynamic Load Balancing<...
     Tomcat<br />     tc Server<br />JEE Server<br />Elastic Application Server: Lightweight Application Platform<br />Lig...
SpringSource tc Server: Key Highlights<br />Familiar Spring + Tomcat experience<br />Deep performance insight into Spring ...
SpringSource tc Server: Key Highlights<br />Familiar Spring + Tomcat experience<br />Deep performance insight into Spring ...
Developer Efficiency: Deep Performance Insight into Spring Apps<br />
Developer Efficiency:Deep Performance Insight into Spring Apps<br />(cont’d)<br />
Rich visual tools for rapidly building modern applications<br />Spring 3.0, Spring Roo, Groovy & Grails tools<br />Encoura...
SpringSource tc Server: Key Highlights<br />Familiar Spring + Tomcat experience<br />Deep performance insight into Spring ...
Operational Control: Production Deployment Architecture<br />Server 1<br />Server 1<br />Server 2<br />tc Server<br />Inst...
Apache Tomcat<br />Servlet 2.5 (JSR 154)<br />Java Server Pages 2.1 (JSR 245)<br />Clustering Features<br />Session & cont...
Operational Control: Application Provisioning<br />Provision applications to single server or group of servers<br /> Manag...
Operational Control: Server Administration & Configuration<br /> Centralized administration of server configuration and de...
Operational Control: Performance & SLA Mgmt of Spring apps <br />Automatically Monitor Application, Data Access, Custom Co...
Operational Control: Performance & SLA Mgmt of Spring apps <br />(cont’d)<br />Monitor Application Server Status, Health, ...
Operational Control: Alert Workflows and Control Actions<br />
SpringSource tc Server: Key Highlights<br />Familiar Spring + Tomcat experience<br />Deep performance insight into Spring ...
Deployment Flexibility: tc Server Instance Templates<br />Streamlines process of spinning up new server instances<br />Scr...
Deployment Flexibility: tc Server Instances (large physical box)<br />tc Server<br />Instance X<br />tc Server<br />Instan...
Medium Virtual Machine<br />Deployment Flexibility: tc Server Instances (virtualized platform)<br />tc Server<br />Instanc...
Is a New Style of Infrastructure Needed?<br />We need a platform that can Run these new apps.<br />Dynamic Load Balancing<...
Data in the Cloud<br />tc Server<br />Spring Edition<br />Hyperic &<br />Spring Insight<br />Your Java<br />Spring App<br ...
Yet Another Piece of Middleware?<br />Why YAPOM ? <br />Execution Excellence <br />Make your applications run 4 to 40 time...
What is GemFire?<br />Database<br /><ul><li>Storage
High Availability
System Integration
Data Distribution
Persistence
Load Balancing
Data Transformation
Event Propagation
Transactions
Data Replication
Service Loose Coupling
Guaranteed Delivery
Queries
L1 Caching</li></ul>+ Service Bus<br />+ Messaging System<br />+ Complex Event Processor<br />+ Grid Controller<br /><ul><...
Distributed Task Assignment
Map-Reduce, Scatter-Gather
Business Event Detection
Result Summarization
Real-time Analysis
Event Driven Architectures</li></ul>=<br />GemFire combines select features from all of these products and combines them i...
Open PaaS : Productivity, Portability and Scalability<br />VMware vSphere Infrastructure Platform<br />Private<br />Spring...
Scaling the Tiers<br />The web and application tiers can be easily combined and virtualized. Nodes can be added or removed...
Legacy Database Clustering Strategies<br />A<br />B<br />C<br />D<br />A<br />B<br />C<br />D<br />Legacy database cluster...
Failure of Server A and Server B makes some data unavailable
Rebalancing requires taking database offline</li></ul>Shared Everything<br /><ul><li>All servers must co-ordinate activity
Must acquire distributed locks on data for update
Scalability is not linear and limited to a handful of nodes
Failure to synchronize activity can crash the entire cluster</li></li></ul><li>Linear Scalability<br />GemFire can achieve...
Memory-based Performance<br />GemFire uses memory on a peer machine to make data updates durable, allowing the updating th...
Data-Aware Function Routing<br />Data Aware Function<br />Execute<br />Batch Controller or Client<br />Scatter-Gather (Map...
Data Distribution<br />Distribute<br />GemFire can keep clusters that are distributed around the world synchronized in rea...
GemFire virtualizes the database into the application tier<br />Cloud Ready<br />Add/remove web/application/data servers<b...
Is a New Style of Infrastructure Needed?<br />We need a platform that can Run these new apps.<br />Dynamic Load Balancing<...
More Than Just Data – How do I Distribute Cloud Information? <br />Application Data Lives Here<br />Application MessagingT...
Who uses AMQP<br />Over 500 known commercial users recorded by AMQP vendors, examples:<br />National Science Foundation OO...
Basic use cases<br />Event<br />I need to know when to do something<br />Data fragment<br />I need to give you a piece of ...
Where AMQP fits<br />What goes in here will clean up if it is <br />OPEN,<br />UBIQUITOUS,<br />& ADAPTABLE<br />async<br ...
How AMQP works<br /><ul><li>Each message is stateless
Consumers create queues;  these buffer messages for push to consumers
Queues are stateful, ordered, and can be persistent, transient, private, shared.
Exchanges are stateless routing tables.
Consumers tell queues to bind to named exchanges; each binding has a pattern e.g. “tony” or “*.ibm.*”
Producers send messages to exchanges with a routing key e.g. “tony”, or ordered set of keys e.g. “buy.ibm.nyse”
Exchanges route messages to queues whose binding pattern matches the message routing key or keys</li></li></ul><li>50<br /...
Rabbit is great for developers<br />Developer platform integration<br />
Is a New Style of Infrastructure Needed?<br />We need a platform that can Run these new apps.<br />Dynamic Load Balancing<...
Is a New Style of Infrastructure Needed?<br />We need a platform that can Run these new apps.<br />Dynamic Load Balancing<...
Need: Measure & Manage Custom Apps Against Business Goals<br />Web-based Application Infrastructure<br />End-user<br />App...
Need: Go Beyond Red Light, Green Light Availability<br />
Need: Application Visibility Across Physical and Virtual Worlds<br />
If You Can Measure It, You Can Manage It<br />
If You Can Measure It, You Can Manage It<br />
Identifying Key Performance Metrics<br />Is trouble coming?<br />Are we meeting obligations?<br />How can unique knowledge...
What to Measure for Custom Developed Applications?<br />
Examples of Collected Metrics<br />
Track Events Alongside Collected Metrics<br />Event Tracking and Correlation<br />Provides history of log, configuration, ...
Hyperic Inventory and Configuration Tracking<br />Maintain exact, real-time inventory of resources<br />Hyperic Auto-Disco...
Group Resources to Understand Real Utilization<br />Create groups to determine if problems are localized<br />Create group...
If You Can Measure It, You Can Manage It<br />
Perform Trend Analysis<br />Ensure all applications are fully instrumented for monitoring<br />Monitor INSIDE and OUTSIDE ...
Start during test</li></li></ul><li>Correlate Performance Across Physical & Virtual<br />Answer the question, “What Change...
CPU, Memory, Disk utilization
Relate Physical & Virtual Performance to Individual Applications</li></ul>Hyperic virtualization plugins<br />Collect metr...
Establish Baselines and Automate Anomaly Detection<br />Automatic baseline calculation for dynamic metrics<br />Out-of-Ban...
If You Can Measure It, You Can Manage It<br />
Define Alert Conditions and Automated Response<br />Control Actions<br />Any script can be run remotely from Hyperic HQ an...
Automate Response via Control Actions & Scripts<br />
Define a Recovery Alert<br />Opposite Condition to Problem<br />Link to Problem Alert<br />This Is Set on Problem Alert. N...
Example Alert-based Actions<br />Stop or Restart a Problem Service<br />Remove Server from Load Balancer Configuration<br ...
If You Can Measure It, You Can Manage It<br />
Establish Support Escalation Workflows<br />
Example Escalations<br />Defcon 1: Page on-call and email ops, wait 5 minutes, then page all.<br />High Priority: Page on-...
Acknowledge Escalation and Suspend Actions<br />
If You Can Measure It, You Can Manage It<br />
Learn from Gathered Metric Data<br />Discrepancies in behavior among identical Apache servers <br />Load balancer configur...
If You Can Measure It, You Can Manage It<br />
Upcoming SlideShare
Loading in...5
×

Si so product 1 day technical

1,157

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,157
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
31
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • This presentation is focused primarily on application infrastructure for the cloud generation of applications.Our agenda, or roadmap if you will, will cover three topics:[CLICK] Briefly cover VMware’s vision for the next decade of information technology and discussing how VMware is taking a uniquely comprehensive approach to enabling the next major era of IT across three major layers:Cloud Infrastructure, Cloud Application Platform, and End User Computing[CLICK] We will then drill down into the cloud application platform and the key drivers we are seeing that are driving requirements in this space[CLICK] And then we will drill down specifically into VMware vFabric, VMware’s cloud application platform solution that: Is comprised of Spring and new VMware vFabric product family: Modern application framework and integrated platform services Maximizes speed and innovation: enabling customers to bring new apps to market faster and with less complexity Extends the benefits of virtualization to the application: Provides an evolutionary path to the cloud whether private, public or hybrid
  • In a traditional application development approach, a line of business decides they have need of some new capability that will improve business operations, revenue, … whatever. They commission the construction of a new system, and at this time, the LOB IT group will then look at the budget they have, scope the work, then begin procuring hardware and software for at least the development environment, and, if they are forward thinking, will commission the production and staging environments as well so that they can cut down on the months of work involved in physically provisioning hardware, network, security, software packages, databases, etc. In this example, the customer is looking to build a system that requires 11 servers that deliver appropriate capabilities required by the application. The physical approach is costly, in that this environment is replicated in dev/stage/and production, it is very costly. If you are the development lead on this project, and your job depends on your ability to deliver an application that performs and never fails, how much hardware/software/bandwidth, etc. are you going to buy? Answer: All of it! You will look at the budget you are given, and you will overprovision everything that you can to make sure that nothing breaks, there is redundency at every layer, etc. This is why customers have spent so much on heavy-weight infrastructure! It is costly, but I have way too much storage, way too much disc, way too much RAM, CPU, fans, bandwidth, etc. However, it is completely static. If you do run out of capacity in this environment, can you save the environment from denying requests by dynamically scaling? No. If you decide that IBM will give you a better price on application infrastructure than Oracle will, can you easily pick up your application and run it in a new environment? Not using traditional development approaches. If you dedicate yourself to a traditional vendor’s tools and development approaches, then you will find yourself bound to a particular application stack.&lt;Click&gt; So, what VMware is driving towards is a more portable and productive development paradigm that can not only deploy to that traditional IT approach, but can effectively deploy to an internal cloud of server resources, or a public or hybrid cloud. &lt;Click&gt; This paradigm is Spring. When developers build applications using Spring, then they can deploy their code almost anywhere. You can run Spring in Oracle, in IBM, in RedHat, in open-source, even in .Net. As opposed to the previous approach, CIOs can make strategic decisions about deployment platform changes without overwhelming cost, as Spring can literally be lifted from one platform, and dropped into another. This portability allows for transparency of the underlying implementation and allows for a new kind of infrastructure.Remember how overprovisioned the old way of doing business was? When the CIO is looking at cloud, your requirements for infrastructure change. You are no longer interested in overprovisioning, you are focused on optimal utilization of the available resources. That means, you are no longer interested in deploying gigs of infrastructure when only megs are needed. Leveraging virtualization, and this lighter weight approach to infrastructure, IT can move more towards self-service provisioning by requesting sets of virtual machines to run tests, to spin up development environments and then give the resources back to the pool for someone else. What does this do to cost when several development shops leverage the same set of hardware rather than build out distinct environments? What does that do to cost? What does that mean in terms of faster time to market? I can now look to dynamically scale as provisioning virtual resources is trivial compared to physical.Questions?
  • This Use Case is intended to illustrate the kind of applications and platform behavior that VMware’s Cloud Application Platform addresses:The travel company has rolled out its new Hotel Booking application In order to drive up bookings, they are running a special promotion that will only be available for 7 hours – from 9am to 4pm. At 9 am, buyers start booking rooms at the special promotional rates. If you don’t have a system to automatically handle increasing usage, your app will fall over and revenue will be impeded. However, if you’re using VMware’s Cloud Application Platform, you can have the information necessary to automatically scale up application instances, meet the usage spikes, and enable the company to meet its revenue goals. Conversely, as usage declines towards the end of the day, you can set the appropriate policy to automatically scale down app instances, freeing up virtual infrastructure for other needs, such as an Order Tracking application. Since transparent insight into performance is able to gathered across the application and underlying infrastructure platform, you have the flexibility to set policy at whatever level of your application that is needed.
  • VMware’s Cloud Application Platform addresses the needs of BOTH developers and operations by combining market-leading developer frameworks and tools with integrated application platform services to deliver speed, portability, and optimized use of cloud resources.The Modern Frameworks and Tools enable developers to build innovative new applications in a familiar and productive way while enabling the choice of where to run those applications (inside the datacenter or on private, hybrid, or public clouds). The Modern Platform Services are much more agile and designed for virtualization. Unlike traditional middleware platforms, these platform services provide lightweight footprints that make the best use of the underlying virtual infrastructure platform as well as enable businesses to bring applications to market faster and with less complexity: new applications can be delivered in days or weeks rather than months or years, and at scale.[CLICK]These two layers in our cloud application platform are Spring family of frameworks and tools and the VMware vFabric family of platform services. Let’s take a look at these in a little more detail…
  • http://www.indeed.com/jobtrends?q=websphere+and+java+and+developer%2C+weblogic+and+java+and+developer%2C+spring+and+java+and+developer&amp;l=Gartner: Spring: Past, Present and Future, 15 June 2009Evans Data Corporation, Spring Usage Study, November 2008
  • Spring is bringing a modern application architecture to a number of traditional enterprise applications today. This example shows what many application developers within the Spring community are doing to successfully architect new Web 2.0 applications that go well beyond the limits of today’s enterprise portal technologies.Many start on their journey by adopting the Grails. Grails delivers a new age of Java web application productivity, enabling Web 2.0 projects to be delivered in weeks instead of months. Powered by Spring, Grails out-performs the competition. Grails provides dynamic, agile web development without compromises. In addition to leveraging Spring-powered plugins for Mobile, Security, REST and MVC, Grails provides a object relational mapping tool (GORM) that full leverages the broad SQL and NoSQL data access capabilities of Spring, as well as many other plugins to speed-up the development of your web 2.0 application, such as the new plugin for RabbitMQ.[CLICK]With RabbitMQ serving as a message broker, Grails developers are able to fully re-use back-end, headless enterprise services built in Spring that provide access to a wide-range of internal and external data sources. Caching is often used within this services tier to dramatically improve the performance of these enterprise services, providing a seamless experience for the end-user.[CLICK]With Gemfire serving as an enterprise data fabric, Spring developers are able to provide real-time access to globally distributed data that is kept fully in-synch with existing file systems, databases, and other data systems from across the enterprise. Performance Management for these web 2.0 applications is provided by Hyperic—which can be easily extended with custom user interfaces such as a dashboard for analyzing active web sessions and associated website traffic in real-time.
  • This example shows what many application developers within the Spring community are doing to successfully architect new enterprise integration applications that extend their core Spring expertise towards re-invigorating their enterprise SOA / ESB strategies at a fraction of the cost.Many start on their journey by introducing Spring Integration (SI) into their existing back-end, headless enterprise Spring services. Spring Integration provides an embedded message bus that runs within any Spring application context, where all components are Spring-managed beans. Spring Integration also provides an Application Integration Framework, connecting to other systems with adapters. Both unidirectional channel adapters and bi-directional messaging gateways are provided out of the box with Spring Integration – all completely configurable through simple, intuitive XML namespaces for use within your Spring application.[CLICK]With RabbitMQ serving as a message broker, Spring Integration developers are able to fully distribute their enterprise services as needed across the enterprise. Since changing a Spring Integration Channel from Java-NIO to AMQP, REST, JMS, or even SOAP is as simple as changing the configuration within the Spring Application Context, architects can defer decisions around if/how to distribute their enterprise services until usage patterns and load are clearly understood.[CLICK]Caching is often used within these enterprise services to dramatically improve their performance, and with Gemfire serving as an enterprise data fabric, Spring developers are able to push data to the “edge” of their enterprise integration clouds—providing real-time access to globally distributed data that is kept fully in-synch with existing file systems, databases, and other data systems from across the enterprise. End-to-end management and monitoring of these highly distributed applications is provided by Hyperic—which can be easily extended with custom user interfaces such as a dashboard for monitoring business transactions as they flow through the distributed enterprise integration cloud, complete with custom alerts for those transactions that require exception handling along the way.
  • This example shows what many application developers within the Spring community are doing to successfully architect new distributed, partitioned batch processing applications that extend their core Spring expertise towards modernizing their legacy mainframe applications at a fraction of the cost.Many start on their journey by introducing Spring Batch to orchestrate their existing back-end, headless enterprise Spring services within robust batch applications vital to the daily operations of their enterprise systems. Spring Batch provides reusable functions that are essential in processing large volumes of records, including logging/tracing, transaction management, job processing statistics, job restart, skip, and resource management. Spring Batchalso provides more advanced technical services and features that will enable extremely high-volume and high performance batch jobs through optimization and partitioning techniques. [CLICK]With RabbitMQ serving as a message broker, parallel processing allows multiple batch runs / jobs to run in parallel to minimize the total elapsed batch processing time. This is not a problem as long as the jobs are not sharing the same files, data or index spaces. If they do, this service should be implemented using partitioned data. While caching is often used within batch processing to dramatically improve their performance, the Gemfire data fabric supports the robust partitioning requirements of modern enterprise batch processing applications.[CLICK]Using partitioning allows multiple versions of large batch applications to run concurrently. The purpose of this is to reduce the elapsed time required to process long batch jobs. Processes which can be successfully partitioned are those where the input file can be split and/or the main data set partitioned to allow the application to run against different sets of data. In addition, processes which are partitioned must be designed to only process their assigned data set. A partitioning architecture within Spring Batch can be closely tied to the data partitioning strategy within Gemfire.End-to-end management and monitoring of these enterprise batch processing applications is provided by Hyperic—which can be easily extended with custom user interfaces such as the batch admin tool used for scheduling, monitoring and managing batch jobs, complete with custom alerts for those jobs that require exception handling along the way.
  • VMware’s Cloud Application Platform addresses the needs of BOTH developers and operations by combining market-leading developer frameworks and tools with integrated application platform services to deliver speed, portability, and optimized use of cloud resources.The Modern Frameworks and Tools enable developers to build innovative new applications in a familiar and productive way while enabling the choice of where to run those applications (inside the datacenter or on private, hybrid, or public clouds). The Modern Platform Services are much more agile and designed for virtualization. Unlike traditional middleware platforms, these platform services provide lightweight footprints that make the best use of the underlying virtual infrastructure platform as well as enable businesses to bring applications to market faster and with less complexity: new applications can be delivered in days or weeks rather than months or years, and at scale.[CLICK]These two layers in our cloud application platform are Spring family of frameworks and tools and the VMware vFabric family of platform services. Let’s take a look at these in a little more detail…
  • Now that the Developers have the necessary tools and frameworks to build the new hotel room booking application, they need a platform that can optimally run the application.Modern platforms provide lighter-weight application runtimes, efficiently manage access to large volumes of data, and open up new ways for applications inside and outside the datacenter to communicate through:[CLICK] Lightweight application server that can be instantaneously provisioned and elastically scaled[CLICK] Data management platform that provides real-time access to globally distributed data[CLICK] Cloud-ready messaging service that facilitates communications between applications inside and outside the datacenterMoreover, modern platforms need to be built with performance in mind. By providing transparent visibility into the performance of the applications and underlying infrastructure, new levels of agility can be driven through policy-driven automation and application-level SLAs that drive proactive operational behavior through such services as: [CLICK] Web server / load balancing service that is able to dynamically route requests to an application server for processing[CLICK] Proactive performance management services powered by transparent visibility into applications and infrastructure [CLICK] Policy-based configuration and provisioning services that automate the process of running and managing an application
  • If you remember the picture we spoke about at the beginning, traditional IT has loved heavyweight enterprise application servers. These servers are required to host applications. Traditional JEE servers are very large engines that provide a large number of enterprise capabilities (such as monitoring, management, support, etc.). Because of these command and control capabilities, IT Ops has favored these large engines of enterprises past. On the opposite end of the spectrum is this very lightweight container called Tomcat. Tomcat is free and a fraction of the size of JEE servers. As an example, WebLogic and WebSphere are both around a gig in size. Tomcat is around 9 meg. What VMware is doing with vFabric tcServer is bring all of these enterprise capabilities to the Tomcat application container. So, if you are deploying 1 instance of WebLogic to an HP Superdome, do you care that WebLogic requires a lot of CPU, memory, etc.? Not really. If you are looking to deploy 50 VMs to a more cost effective vBlock, do you want a huge WL instance in every VM? No way. It becomes imperative to drive more efficiency with a light-weight approach, especially if I can still get those enterprise capabilities. This is not even considering price, where tcServer is typically 1/10th the cost with a very strong long term TCO.
  • 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)
  • http://static.springsource.com/projects/tc-server/6.0/getstart/cgscreateinst.html#cgscreateinst__templatesCreate multiple instances of tc Server with a single set of binaries. This adds the following value for customers:A single installation of tc Server (that uses the SpringSource layout) supports multiple running tc Server instances.One set of binaries means easy upgrades of all the associated instances.Multiple separate instances allows testing of configuration and code changes without touching the production instance.
  • tc Server also enhances its Tomcat compatible core with advanced diagnostics. For example, tc Server supports request level diagnostics that detect slow running requests and identifies the time spent during the request in garbage collection and database operations - frequent causes of slow requests. The diagnostics for database operations provide access to the SQL that triggered the slow request making root cause analysis significantly simpler.
  • Automatically monitors execution times for code that uses @Controller, @Service, @Component, @Transactional, and @Repository stereotyped annotations:Metrics: AverageElapsedExecutionTime(ms), ExecutionsPerSecond, InvocationCount, MaximumExecutionTime(ms), MinimumExecutionTime(ms), ThrownExceptionCount NOTE: @Controller, @Service, and @Component are typically key endpoints within an application worth measuring, and @Repository and @Transactional handle data access and transaction management, both of which are worth measuring. People using these Spring annotations get these metrics collected automatically (no extra work on their part). We also monitor execution times and enable operations to be executed across a range of standard Spring components such as:Platform Transaction Manager:Metrics: CommitsPerSecond, FailedCommits, FailedResumes, FailedRollbacks, FailedSuspends, ResumesPerSecond, RollbacksPerSecond, SuspendsPerSecond Hibernate Session Factory has over 40 metrics exposed including:Metrics: QueryExecutionMaxTime(ms), QueryExecutionCount, QueryCacheHitCount, QueryCacheMissCount, EntityLoadCount, EntityInsertCount, , EntityUpdateCount, EntityDeleteCount, … Default Message Listener Container:Metrics: ActiveConsumers, AverageElapsedTimePerMessage(ms), FailedMessages, MessagesPerSecond, MessagesReceived, ScheduledConsumersOperations: start, stop, set Concurrent Consumers, set Max Concurrent Consumers, scale Max Concurrent Consumers, set Max Messages Per Task, set Idle Task Execution Limit JMS Template:Metrics: AverageElapsedTimePerMessageSent(ms), FailedMessageSends, MessagesSent, MessagesSentPerSecondOperations: set Receive Timeout Java Mail Sender: Metrics: AverageElapsedTimePerMessage(ms), FailedMessages, MessagesSent, MessagesPerSecondOperations: setHost, setPort Thread Pool Task Executor:Metrics: ActiveTasks, LargestPoolSize, PoolSize, QueueSizeOperations: set Core Pool Size, set Max Pool Size, set Keep Alive Seconds
  • Automatically monitors execution times for code that uses @Controller, @Service, @Component, @Transactional, and @Repository stereotyped annotations:Metrics: AverageElapsedExecutionTime(ms), ExecutionsPerSecond, InvocationCount, MaximumExecutionTime(ms), MinimumExecutionTime(ms), ThrownExceptionCount NOTE: @Controller, @Service, and @Component are typically key endpoints within an application worth measuring, and @Repository and @Transactional handle data access and transaction management, both of which are worth measuring. People using these Spring annotations get these metrics collected automatically (no extra work on their part). We also monitor execution times and enable operations to be executed across a range of standard Spring components such as:Platform Transaction Manager:Metrics: CommitsPerSecond, FailedCommits, FailedResumes, FailedRollbacks, FailedSuspends, ResumesPerSecond, RollbacksPerSecond, SuspendsPerSecond Hibernate Session Factory has over 40 metrics exposed including:Metrics: QueryExecutionMaxTime(ms), QueryExecutionCount, QueryCacheHitCount, QueryCacheMissCount, EntityLoadCount, EntityInsertCount, , EntityUpdateCount, EntityDeleteCount, … Default Message Listener Container:Metrics: ActiveConsumers, AverageElapsedTimePerMessage(ms), FailedMessages, MessagesPerSecond, MessagesReceived, ScheduledConsumersOperations: start, stop, set Concurrent Consumers, set Max Concurrent Consumers, scale Max Concurrent Consumers, set Max Messages Per Task, set Idle Task Execution Limit JMS Template:Metrics: AverageElapsedTimePerMessageSent(ms), FailedMessageSends, MessagesSent, MessagesSentPerSecondOperations: set Receive Timeout Java Mail Sender: Metrics: AverageElapsedTimePerMessage(ms), FailedMessages, MessagesSent, MessagesPerSecondOperations: setHost, setPort Thread Pool Task Executor:Metrics: ActiveTasks, LargestPoolSize, PoolSize, QueueSizeOperations: set Core Pool Size, set Max Pool Size, set Keep Alive Seconds
  • http://static.springsource.com/projects/tc-server/6.0/getstart/cgscreateinst.html#cgscreateinst__templatesCreate multiple instances of tc Server with a single set of binaries. This adds the following value for customers:A single installation of tc Server (that uses the SpringSource layout) supports multiple running tc Server instances.One set of binaries means easy upgrades of all the associated instances.Multiple separate instances allows testing of configuration and code changes without touching the production instance.
  • http://static.springsource.com/projects/tc-server/6.0/getstart/cgscreateinst.html#cgscreateinst__templatesCreate multiple instances of tc Server with a single set of binaries. This adds the following value for customers:A single installation of tc Server (that uses the SpringSource layout) supports multiple running tc Server instances.One set of binaries means easy upgrades of all the associated instances.Multiple separate instances allows testing of configuration and code changes without touching the production instance.
  • http://static.springsource.com/projects/tc-server/6.0/getstart/cgscreateinst.html#cgscreateinst__templatesCreate multiple instances of tc Server with a single set of binaries. This adds the following value for customers:A single installation of tc Server (that uses the SpringSource layout) supports multiple running tc Server instances.One set of binaries means easy upgrades of all the associated instances.Multiple separate instances allows testing of configuration and code changes without touching the production instance.
  • Now that the Developers have the necessary tools and frameworks to build the new hotel room booking application, they need a platform that can optimally run the application.Modern platforms provide lighter-weight application runtimes, efficiently manage access to large volumes of data, and open up new ways for applications inside and outside the datacenter to communicate through:[CLICK] Lightweight application server that can be instantaneously provisioned and elastically scaled[CLICK] Data management platform that provides real-time access to globally distributed data[CLICK] Cloud-ready messaging service that facilitates communications between applications inside and outside the datacenterMoreover, modern platforms need to be built with performance in mind. By providing transparent visibility into the performance of the applications and underlying infrastructure, new levels of agility can be driven through policy-driven automation and application-level SLAs that drive proactive operational behavior through such services as: [CLICK] Web server / load balancing service that is able to dynamically route requests to an application server for processing[CLICK] Proactive performance management services powered by transparent visibility into applications and infrastructure [CLICK] Policy-based configuration and provisioning services that automate the process of running and managing an application
  • The acquisition advances SpringSource’s vision of providing the infrastructure necessary for emerging cloud-centric applications, with built-in availability, scalability, security and performance guarantees. These modern applications require new approaches to data management, given they are deployed across elastic, highly scalable, geographically distributed architectures. With the addition of GemStone’s data management solutions, SpringSource customers can ensure the right data is available to the right applications at the right time within a distributed cloud environment.
  • Now that the Developers have the necessary tools and frameworks to build the new hotel room booking application, they need a platform that can optimally run the application.Modern platforms provide lighter-weight application runtimes, efficiently manage access to large volumes of data, and open up new ways for applications inside and outside the datacenter to communicate through:[CLICK] Lightweight application server that can be instantaneously provisioned and elastically scaled[CLICK] Data management platform that provides real-time access to globally distributed data[CLICK] Cloud-ready messaging service that facilitates communications between applications inside and outside the datacenterMoreover, modern platforms need to be built with performance in mind. By providing transparent visibility into the performance of the applications and underlying infrastructure, new levels of agility can be driven through policy-driven automation and application-level SLAs that drive proactive operational behavior through such services as: [CLICK] Web server / load balancing service that is able to dynamically route requests to an application server for processing[CLICK] Proactive performance management services powered by transparent visibility into applications and infrastructure [CLICK] Policy-based configuration and provisioning services that automate the process of running and managing an application
  • Modern applications require new approaches to data management, especially as they are deployed across elastic, highly scalable, geographically distributed architectures. By reducing application and data latency, companies are able to react faster than the competition – milliseconds matter. Moreover, by basing decisions on real-time, globally distributed access to data , companies can truly achieve strategic advantage.By adding GemFire and RabbitMQ, our customers can ensure the right data is available to the right applications at the right time within a distributed cloud environment. No longer are backend databases a performance bottleneck!By integrating GemFire and RabbitMQ with Spring and tc Server, for example, we aim to provide a seamless experience for developers to create and scale their next-generation applications in a productive manner.
  • Now that the Developers have the necessary tools and frameworks to build the new hotel room booking application, they need a platform that can optimally run the application.Modern platforms provide lighter-weight application runtimes, efficiently manage access to large volumes of data, and open up new ways for applications inside and outside the datacenter to communicate through:[CLICK] Lightweight application server that can be instantaneously provisioned and elastically scaled[CLICK] Data management platform that provides real-time access to globally distributed data[CLICK] Cloud-ready messaging service that facilitates communications between applications inside and outside the datacenterMoreover, modern platforms need to be built with performance in mind. By providing transparent visibility into the performance of the applications and underlying infrastructure, new levels of agility can be driven through policy-driven automation and application-level SLAs that drive proactive operational behavior through such services as: [CLICK] Web server / load balancing service that is able to dynamically route requests to an application server for processing[CLICK] Proactive performance management services powered by transparent visibility into applications and infrastructure [CLICK] Policy-based configuration and provisioning services that automate the process of running and managing an application
  • Now that the Developers have the necessary tools and frameworks to build the new hotel room booking application, they need a platform that can optimally run the application.Modern platforms provide lighter-weight application runtimes, efficiently manage access to large volumes of data, and open up new ways for applications inside and outside the datacenter to communicate through:[CLICK] Lightweight application server that can be instantaneously provisioned and elastically scaled[CLICK] Data management platform that provides real-time access to globally distributed data[CLICK] Cloud-ready messaging service that facilitates communications between applications inside and outside the datacenterMoreover, modern platforms need to be built with performance in mind. By providing transparent visibility into the performance of the applications and underlying infrastructure, new levels of agility can be driven through policy-driven automation and application-level SLAs that drive proactive operational behavior through such services as: [CLICK] Web server / load balancing service that is able to dynamically route requests to an application server for processing[CLICK] Proactive performance management services powered by transparent visibility into applications and infrastructure [CLICK] Policy-based configuration and provisioning services that automate the process of running and managing an application
  • Monitoring custom applications needs to go beyond simple “is this server available or not?” You can have a web server, for example, that is available but is not processing any requests. Being able to see availability as well as response times, throughput, and other key metrics WITHIN software infrastructure such as web servers is critical insight to have when diagnosing issues.
  • As enterprise IT teams address the CIOs top two initiatives for 2010 (virtualization and cloud computing according to Gartner), having a monitoring and performance management solution that is able to span both physical and virtual worlds is essential.You can’t be stuck just seeing the physical infrastructure with no visibility into the software running with virtual machines.Being able to correlate between the performance at both layers enables you to feel comfortable widely leveraging virtualization and achieving an optimized experience.
  • As the saying goes, if you can measure it, you can manage it.This is what Hyperic is all about.A suggested 5 step approach to getting the most from your application monitoring and performance management efforts is to:Identify and Organize your Key Performance MetricsLet your systems run and collect enough performance data that enables you to establish baselinesBased on this insight, you can define your alert criteria and setup automated response and control actionsIn order to coordinate a broader team, you can setup alert escalation workflows that ensure the right people (or systems) are brought in when neededLearn from the data you have collected, and rinse and repeat (i.e. add more KPMs, etc.)
  • As the saying goes, if you can measure it, you can manage it.This is what Hyperic is all about.A suggested 5 step approach to getting the most from your application monitoring and performance management efforts is to:Identify and Organize your Key Performance MetricsLet your systems run and collect enough performance data that enables you to establish baselinesBased on this insight, you can define your alert criteria and setup automated response and control actionsIn order to coordinate a broader team, you can setup alert escalation workflows that ensure the right people (or systems) are brought in when neededLearn from the data you have collected, and rinse and repeat (i.e. add more KPMs, etc.)
  • Auto-DiscoveryWhat is it?Auto-discovery facilitates data collection by automatically determining which pieces of supported software is currently installed and running on the monitored platform, as well as configuration changes to that softwareWhat is the value? Day 0: The ability to get monitoring up and running with VERY LITTLE configuration enables customers to get a tremendous amount of visibility quickly Day 1 to infinity: Autodiscovery monitors for any changes within a managed machine, lowering ongoing maintenance/oversight. Takeaway: Cost of ownership is significantly lower since HQ automatically adjusts to environment changes with very little intervention
  • Alerting and EscalationWhat is it?A feature which notifies specified members of a team when an operational event of interest occurs; enables ability to quickly take action to resolve the issue. Alerts can be fired based on a broad set of information including metrics, log messages and configuration changes. Escalation refers to a workflow which maps to an organization’s chain of command, notifying users in order of criticality when an issue arises. What is the value? Alerting enables the operations team to monitor their applications and infrastructure and only proactively deal with the issues or decisions that actually require their attention or action. This lessens the mean time to repair by quickly pinpointing issues and escalating to the appropriate stakeholders. Takeaway: Alerting is an absolute must have in any production environment in order to quickly triage, analyze and resolve operational issues which are hampering a business.
  • Alerting and EscalationWhat is it?A feature which notifies specified members of a team when an operational event of interest occurs; enables ability to quickly take action to resolve the issue. Alerts can be fired based on a broad set of information including metrics, log messages and configuration changes. Escalation refers to a workflow which maps to an organization’s chain of command, notifying users in order of criticality when an issue arises. What is the value? Alerting enables the operations team to monitor their applications and infrastructure and only proactively deal with the issues or decisions that actually require their attention or action. This lessens the mean time to repair by quickly pinpointing issues and escalating to the appropriate stakeholders. Takeaway: Alerting is an absolute must have in any production environment in order to quickly triage, analyze and resolve operational issues which are hampering a business.
  • Scenario: 4 Apache Web Servers typically serve application needs with no problemsBut…A load balancer was reconfigured and caused major issues with the before of the Apache server farmAll 4 web servers were available so Green lights were there…But only 2 of the 4 were actually handling requests.So 2 spiked up well over average requests per minute and 2 were handling no requestsOnce the load balancer was reconfigured, requests starting flowing to all 4 web servers and requests served per minute returned back to normal stateSo in this case, you ask the question…is there anything else I can bring under management to help avoid and/or identify this issue in the future?
  • In order to ensure applications are aligned with your business goals and are deployed in an agile yet controlled manner, we offer Hyperic.Hyperic is an application management and monitoring solution used by the person within IT responsible for operating modern applications. Hyperic provides the top down visibility and control required to ensure the applications are meetings their service levels.It is fast to deploy and easy to get up, running, and managing your applications.It is built for Web operations, so it gives the level of detail that the person responsible for operating the application requires to ensure it is meeting business goals.This top down, deep visibility into applications enables the operator to manage to their required service levels and triggers alerts and control actions if/when service levels are not being met.Hyperic is built for modern application such as Spring applications and has the ability to manage application infrastructure that spans physical, virtual and cloud environments.This deep visibility within the applications and services as well as across physical, virtual, and cloud infrastructure enables the application operator to answer such questions as:Is application performance within SLAs?What is the source of bottlenecks?How is the underlying infrastructure impacting application response times?Can I automate corrective actions?How can I improve performance?
  • Hyperic does application, specifically, web-based and custom application performance, management and monitoring as a core competency. The large incumbent players in monitoring and management fall short in our area of expertise, but cover additional areas like provisioning, configuration management, and issue tracking; areas where Hyperic is a poor replacement. In large environments, Hyperic is best seen as a part of a much larger eco-system. To enable integration with this eco-system: The HQ API can be leveraged as a means of gather Hyperic information or as a point of control over the Hyperic system. Hyperic can be configured to send or receive SNMP traps. Custom control action scripts that perform actions outside of Hyperic can be added, and run as part of an alert threshold being met.
  • Time to ValueAuto discovery &amp; InventoryEase of Install and MaintenanceExtensibility
  • Now that the Developers have the necessary tools and frameworks to build the new hotel room booking application, they need a platform that can optimally run the application.Modern platforms provide lighter-weight application runtimes, efficiently manage access to large volumes of data, and open up new ways for applications inside and outside the datacenter to communicate through:[CLICK] Lightweight application server that can be instantaneously provisioned and elastically scaled[CLICK] Data management platform that provides real-time access to globally distributed data[CLICK] Cloud-ready messaging service that facilitates communications between applications inside and outside the datacenterMoreover, modern platforms need to be built with performance in mind. By providing transparent visibility into the performance of the applications and underlying infrastructure, new levels of agility can be driven through policy-driven automation and application-level SLAs that drive proactive operational behavior through such services as: [CLICK] Web server / load balancing service that is able to dynamically route requests to an application server for processing[CLICK] Proactive performance management services powered by transparent visibility into applications and infrastructure [CLICK] Policy-based configuration and provisioning services that automate the process of running and managing an application
  • We continue to expand our strategy to deliver cloud platform solutions that can be hosted at customer datacenters or at service providers. By deploying an enterprise-ready solution, based on a lightweight application platform, scalable data platform, and vSphere clouds, customers improve agility, quality of service, and take cost and complexity out of IT operations in an evolutionary way.
  • While the Microsoft ecosystem has a path to cloud (albeit a Microsoft-only path), what is the path to cloud for Enterprise Java?[CLICK]Spring provides that path to the cloud for Java. As we will cover shortly, a cloud application platform comprise of Spring applications powered by VMware application runtime and infrastructure services is one example of this path forward.[CLICK]But also key Cloud market influencers, Salesforce.com and Google, have backed Spring as the Java programming model for the cloud as well. Our partnership with Salesforce.com is on bring VMforce, an enterprise Java cloud platform to market. This will enable developers to create Java Spring applications that leverage the Force.com services such as the multitenant datastore, collaboration, reporting capabilities, etc.We have a technology partnership with Google around Spring as the Java programming model for Google App Engine. We are also tightly intergrating Spring with Google Web Toolkit (GWT) , and integrating Google Speed Tracer with our Spring Insight performance tracing tool. Both of these partnerships are intended to aggressively drive Spring forward as the programming model for Cloud applications.
  • VMware’s Cloud Application Platform addresses the needs of BOTH developers and operations by combining market-leading developer frameworks and tools with integrated application platform services to deliver speed, portability, and optimized use of cloud resources.The Modern Frameworks and Tools enable developers to build innovative new applications in a familiar and productive way while enabling the choice of where to run those applications (inside the datacenter or on private, hybrid, or public clouds). The Modern Platform Services are much more agile and designed for virtualization. Unlike traditional middleware platforms, these platform services provide lightweight footprints that make the best use of the underlying virtual infrastructure platform as well as enable businesses to bring applications to market faster and with less complexity: new applications can be delivered in days or weeks rather than months or years, and at scale.[CLICK]These two layers in our cloud application platform are Spring family of frameworks and tools and the VMware vFabric family of platform services. Let’s take a look at these in a little more detail…
  • The VMware Cloud Application Platform combines the Spring Framework for building new applications together with a complete set of Application Platform Services required to run and manage these applications.[CLICK] Spring Framework: Spring is a comprehensive family of developer frameworks and tools that enable developers build innovative new applications in a familiar and productive way while enabling the choice of where to run those applications, whether inside the datacenter or on private, hybrid, or public clouds. Spring enables developers to create applications that: Provide a rich, modern user experience across a range of platforms, browsers and personal devices Integrate applications using proven Enterprise Application Integration patterns, including batch processing Access data in a wide range of structured and unstructured formats Leverage popular social media services and cloud service API’s[CLICK] VMware vFabric: VMware vFabric is a comprehensive family of application services uniquely optimized for cloud computing including lightweight application server, global data management, cloud-ready messaging, dynamic load balancing and application performance management. [CLICK] The products behind these services include: Lightweight Application Server: tc Server, an enterprise version of Apache Tomcat, is optimized for Spring and VMware vSphere and can be instantaneously provisioned to meet the scalability needs of modern applications Data Management Services: GemFire speeds application performance and eliminates database bottlenecks by providing real-time access to globally distributed data Cloud-ready Messaging Service: RabbitMQ facilitates communications between applications inside and outside the datacenter Dynamic Load Balancer: ERS, an enterprise version Apache web server, ensures optimal performance by distributing and balancing application load Application Performance Management: Hyperic enables proactive performance management through transparent visibility into modern applications deployed across physical, virtual, and cloud environments Policy-Driven Automation: Foundry is the tentative name for a new offering still under development that is focused on policy-based automation of application and platform configuration and provisioning tasks.
  • VMware vFabric provides the application platform services ideally suited to be deployed into VMware-powered Private and Hybrid Clouds.VFabric puts a premium on performance and agility, and maintains a familiar and simple experience that follow a simple three step process:[CLICK]Applications are built in a familiar and productive way. Application architects and operators drive the definition of the “deployment policy” that specifies the Virtual Datacenter to be used, the platform services required and how they are wired together, including external dependencies (such as databases). Policy and SLA information for the app is also specified. The application and its deployment policy are then uploaded.[CLICK] The cloud application platform uses the deployment policy to work in concert with the desired virtual datacenter to automatically configure, provision, and deploy the application and its required application platform services. [CLICK] The platform then runs, manages, and scales the application based on the deployment policy and specified SLAs. Our recent Hyperic 4.4 release was about tightly integrating transparent visibility at the application layer with visibility at the virtual infrastructure layer. This is critical for being able to set policy at whatever level is required.[CLICK]We are also focused on creating an optimized experience when running Spring apps on vSphere. For example, our teams are working on a project called Elastic Memory. Rather than reserving 4GB of RAM for VMs running Java…”just in case” the app may need it , Elastic Memory for Java enables a “just in case” approach by tapping into the memory ballooning mechanisms in vSphere.Net Result? You are able to fit more Java workloads on vSphere due to better memory sharing.
  • Customers want a path to cloud computing and they are looking to VMware to help them set their Private / Hybrid cloud strategy both at the infrastructure layer and at the application platform layer.Many of our enterprise customers are using vSphere and Spring today. For those not at Stage 0, we recommend they get started there.Steps 1, 2, and 3 are about continuing along this journey to being able to embrace a platform that provides cloud-like capabilities within your datacenter or hosted (as part of VMware’s large ecosystem of servive providers such as Savvis, Terremark, etc.).Step 1: While a customer may be already using vSphere, Step 1 is about virtualizing Java workloads. These may be standard Java EE apps running on WebSphere, WebLogic, or JBoss. Hyperic plays a key role in this stage since it provides visibility into these applications running on physical architectures and maintains that level of visibility as these workloads are virtualized. Since about half of the apps deployed onto Java platforms today use Spring, many of these applications, once virtualized, are nicely prepared for Step 2.Step 2: tc server: better place to run their apps and much better suited for virtual. Lightwer weigh, less complex. Optimized for Spring and ideal for virtualized environments. Customers are able to run a higher density of instances of tc Server versus the heavyweight counterparts.Step 3: data management. We have purposely separated the management data away from the application server and have services in GemFire and RabbitMQ that are tightly focused on handling the needs of data management in cloud architectures.Step 4: is embracement of all of the moving parts of the platform and embracing policy-based operational automation capabilities. These capabilities are coming online in early 2011…which fits well with the customer adoption curve.
  • VMware recognizes the critical role our partners play in analyzing, recommending and delivering customer solutions.Last year, based on feedback we received from customers, partners and our own sales teams, we re-structured our overall partner program, now called VMware Partner Network. We did this to ensure we not only provided customers with world-class solutions, but that we provided partners with one of the best partner programs in the industry. We believe the tools, education and incentives available to you will help you increase your profitability as you solve your customers’ business challenges through VMware virtualization solutions.The VMware Partner Network provides programs to support many different partner business models. This presentation will be focused on Solution Providers. If you’re interested in learning more about the other partner types, please go to vmware.com/partners for more information.
  • So lets talk about some of the benefits we provide to our partners as part of the VMware Partner NetworkYou will have access to our best training developed by our Professional Services organization leveraging best practicesYou will have new competency branding you saw earlier which we will actively promote to our customersIntellectual property available to help you build your virtualization practices and utilize proven methodologies.Services intellectual property may include, but is not limited to, methodology, documentation, best practices, consultancy guides.Solution Enablement Toolkits (SET&apos;s) are a collection of services intellectual property, sales and marketing collateral, training guides and tools that provide a foundation of material to help productize a solution. Then help you identify, develop, close, and deliver that solution.  
  • This presentation is focused primarily on application infrastructure for the cloud generation of applications.Our agenda, or roadmap if you will, will cover three topics:[CLICK] Briefly cover VMware’s vision for the next decade of information technology and discussing how VMware is taking a uniquely comprehensive approach to enabling the next major era of IT across three major layers:Cloud Infrastructure, Cloud Application Platform, and End User Computing[CLICK] We will then drill down into the cloud application platform and the key drivers we are seeing that are driving requirements in this space[CLICK] And then we will drill down specifically into VMware vFabric, VMware’s cloud application platform solution that: Is comprised of Spring and new VMware vFabric product family: Modern application framework and integrated platform services Maximizes speed and innovation: enabling customers to bring new apps to market faster and with less complexity Extends the benefits of virtualization to the application: Provides an evolutionary path to the cloud whether private, public or hybrid
  • Transcript of "Si so product 1 day technical"

    1. 1. vFabric SI/SO RoadShow<br />vFabric Platform Deep Dive<br />April 18th, 2011<br />
    2. 2. Session Roadmap<br />Cloud Application Platform<br />Key Drivers<br />VMware’s<br />IT as a Service Vision<br />VMware vFabric<br />Combines Spring framework and tools with vFabric platform services to speed delivery of next-generation apps that are instantly scalable and cloud-portable <br />
    3. 3. VMware Solutions for Cloud Computing<br />End User<br />Computing<br />vFabric<br />vCloud<br />Infrastructure<br />3<br />
    4. 4. Transitioning from the Old to the New<br />Traditional IT<br />New IT - PaaS<br /><ul><li>Portable
    5. 5. Productive</li></ul>Web Servers/Load Balancers<br />Build:<br />Java<br />Spring<br />+ Blueprint<br />App Servers<br />Google AE<br />Public<br />VMForce<br />Messaging <br />Cache Servers<br />PaaS Pool<br />Public/Hybrid<br />IaaS – vSphere/vCD<br />Problems:<br />Time<br />Cost<br />Static<br />Provides:<br />Self-Service<br />Optimization of Resources<br />Dynamic<br />Database<br />
    6. 6. Users are booking rooms<br />Use Case: App Intelligence for “Just-in-Time” Infrastructure<br />Hotel room promotioncomes online<br />Hotel room promotion ends<br />Traffic<br />Policy-based Capacity<br />
    7. 7. VMware vFabric Cloud Application Platform<br />Application Infrastructure for the Cloud Generation<br />Modern Frameworks and Tools<br /><ul><li>Developer Productivity and Application Portability</li></ul>Frameworks and Tools<br />Modern Platform Services<br />vFabric<br /><ul><li>Optimized Runtime and Accelerated Deployment </li></ul>Platform Services<br />Virtual Datacenter<br />Cloud Infrastructure and Management<br />
    8. 8. Spring Is Java Developers’ Choice<br />“<br />At least 2 million Java developers have some level of proficiency with Spring Core, and this represents at least 50% of enterprise Java developers<br />Spring<br />”<br />Websphere<br />WebLogic<br />“<br />A majority of [enterprise Java] users interviewed by Forrester use Spring<br />”<br />“<br />Half say the adoption of Spring has reduced the time to complete a project by more than 25%, and one in four have reduced the time by over 50% <br />Source: Indeed.com Job Trends, Feb 2010<br />”<br />
    9. 9. Innovation Reigns Supreme<br />Web<br />Cloud Platform Services<br />Batch<br />Social Media<br />Security<br />Mobile<br />Integration<br />8<br />
    10. 10. Spring Ref Arch: Robust Web 2.0 Applications Built for Scale<br />HQ Agent<br />HQ Agent<br />Application Responses<br />REST / MVC<br />Plugin<br />Mobile & <br />Security<br />App <br />Controller<br />Social &<br />Web Services<br />X<br />X<br />GORM<br />RabbitMQ<br />Plugin<br />App Cache<br />Grails<br />Spring<br />RPC Broker<br />tc Server<br />tc Server<br />Application Requests<br />Web Application Server<br />Web Application Server<br />File <br />Systems<br />Website <br />Analytics<br />HQ Server<br />Data <br />Cache<br />RDBMS<br />tc Server<br />tc Server<br />Other <br />Data <br />Systems<br />Data Cache Server<br />Management Server<br />
    11. 11. Spring Ref Arch: Enterprise Integration in the Cloud<br />HQ Agent<br />HQ Agent<br />Application Events<br />SI Flow<br />SI Flow<br />X<br />X<br />App Cache<br />App Cache<br />Spring<br />Spring<br />RPC Broker<br />tc Server<br />tc Server<br />Application Events<br />Application Server<br />Application Server<br />File <br />Systems<br />Bus Trans<br />Monitoring<br />HQ Server<br />Data <br />Cache<br />RDBMS<br />tc Server<br />tc Server<br />Other <br />Data <br />Systems<br />Data Cache Server<br />Management Server<br />
    12. 12. Spring Ref Arch: Distributed Partitioned Batch Processing<br />Scheduler<br />Launch<br />Script<br />HQ Agent<br />HQ Agent<br />Partition Responses<br />Batch <br />Admin <br />Controller<br />App<br />Controller<br />Batch <br />Admin <br />Controller<br />App<br />Controller<br />X<br />X<br />Partition<br />Handler<br />Aggregator<br />App Cache Partition<br />Spring<br />Spring<br />RPC Broker<br />tc Server<br />tc Server<br />Partition Requests<br />Batch Server<br />Batch Server<br />File <br />Systems<br />Batch <br />Admin<br />HQ Server<br />Data <br />Cache<br />RDBMS<br />tc Server<br />tc Server<br />Other <br />Data <br />Systems<br />Data Cache Server<br />Management Server<br />
    13. 13. VMware vFabric Cloud Application Platform<br />Application Infrastructure for the Cloud Generation<br />Modern Frameworks and Tools<br /><ul><li>Developer Productivity and Application Portability</li></ul>Frameworks and Tools<br />Modern Platform Services<br />vFabric<br /><ul><li>Optimized Runtime and Accelerated Deployment </li></ul>Platform Services<br />Virtual Datacenter<br />Cloud Infrastructure and Management<br />
    14. 14. Is a New Style of Infrastructure Needed?<br />We need a platform that can Run these new apps.<br />Dynamic Load Balancing<br />Elastic App Server<br />Performance Management<br />Global Data Management<br />Developers & Architects<br />And… IT Operations<br />Policy Driven Automation<br />Cloud Messaging<br />
    15. 15. Tomcat<br /> tc Server<br />JEE Server<br />Elastic Application Server: Lightweight Application Platform<br />Lightweight App Container<br />Heavyweight App Container<br />Enterprise Capabilities<br />Enterprise Capabilities<br />(?)<br />tc Server is Enterprise Tomcat – The best of both worlds<br />Optimized for Cloud/Virtualization<br />Same great high performance, low complexity, lean platform (10 MB Server)<br />Best platform to run Spring (or any non-EJB Java) applications on<br />Has Features/Capabilities Enterprises need and expect<br />Management, Monitoring, Diagnostics, Support<br />
    16. 16. SpringSource tc Server: Key Highlights<br />Familiar Spring + Tomcat experience<br />Deep performance insight into Spring apps<br />Agile Spring development experience via STS <br />Developer <br />Efficiency<br />Performance & SLA management of Spring apps <br />Application provisioning and server administration<br />Rich alert definition, workflows, and control actions<br />Group availability & event dashboards<br />Secure unidirectional agent communications<br />Operational<br />Control<br />Lean server (10 MB) ideal for virtual environments<br />Template-driven server instance creation<br />Integrated experience with VMware environments<br />Open, secure API for all operations<br />Deployment<br />Flexibility<br />
    17. 17. SpringSource tc Server: Key Highlights<br />Familiar Spring + Tomcat experience<br />Deep performance insight into Spring apps<br />Agile Spring development experience via STS <br />Developer <br />Efficiency<br />Performance & SLA management of Spring apps <br />Application provisioning and server administration<br />Rich alert definition, workflows, and control actions<br />Group availability & event dashboards<br />Secure unidirectional agent communications<br />Operational<br />Control<br />Lean server (10 MB) ideal for virtual environments<br />Template-driven server instance creation<br />Integrated experience with VMware environments<br />Open, secure API for all operations<br />Deployment<br />Flexibility<br />
    18. 18. Developer Efficiency: Deep Performance Insight into Spring Apps<br />
    19. 19. Developer Efficiency:Deep Performance Insight into Spring Apps<br />(cont’d)<br />
    20. 20. Rich visual tools for rapidly building modern applications<br />Spring 3.0, Spring Roo, Groovy & Grails tools<br />Encourages agile development and testing <br />Tight integration with tc Server minimizes application redeploys/restarts<br />Links performance issues to code traces highlighted in Spring Insight<br />Supports flexible deployment targets<br />tc Server, Java EE servers, VMware, Cloud, etc.<br />SpringSource Tool Suite<br />Spring Roo<br />Grails<br />Spring<br />(Core, Rich Web, Integration)<br />Groovy<br />Java<br />tc Server<br />(Spring Insight)<br />Developer Efficiency:Agile Spring Development Experience<br />
    21. 21. SpringSource tc Server: Key Highlights<br />Familiar Spring + Tomcat experience<br />Deep performance insight into Spring apps<br />Agile Spring development experience via STS <br />Developer <br />Efficiency<br />Performance & SLA management of Spring apps <br />Application provisioning and server administration<br />Rich alert definition, workflows, and control actions<br />Group availability & event dashboards<br />Secure unidirectional agent communications<br />Operational<br />Control<br />Lean server (10 MB) ideal for virtual environments<br />Template-driven server instance creation<br />Integrated experience with VMware environments<br />Open, secure API for all operations<br />Deployment<br />Flexibility<br />
    22. 22. Operational Control: Production Deployment Architecture<br />Server 1<br />Server 1<br />Server 2<br />tc Server<br />Instance 1<br />tc Server<br />Instance 1<br />tc Server<br />Instance 1<br />tc Server<br />Instance 1<br />tc Server<br />Instance 1<br />tc Server<br />Instance 1<br />tc Server<br />Instance 1<br />tc Server<br />Instance 1<br />tc Server<br />Instance 1<br />Management Server<br />Administration, Provisioning, Groups, Metrics, Alerts, Events, Access Control, Agent Upgrades, etc.<br />Web<br />Dashboard<br />Spring<br />Agent<br />Agent<br />Agent<br />Open API<br />Spring<br />Spring<br />Spring<br />Inventory, Metric, Audit, …<br />Seamlessly Upgradeable<br />Spring<br />Hyperic Monitoring<br />Web Servers, App Servers, Databases, Caching, Messaging, Directories, Virtualization, etc.<br />
    23. 23. Apache Tomcat<br />Servlet 2.5 (JSR 154)<br />Java Server Pages 2.1 (JSR 245)<br />Clustering Features<br />Session & context attribute replication<br />Load balancing<br />Improved over Tomcat 5.x <br />Advanced I/O Features<br />Improvements in Memory Usage<br />Stable, Fast, Lightweight<br />Tomcat Compatibility<br />Runs existing Tomcat applications<br />Leverages existing skill-sets<br />Enterprise Capabilities<br />Run multiple instances per install<br />Centralizes tc Server install/updates<br />Enterprise-ready stable release <br />Security vulnerabilities & bug fixes<br />Fixes will be in upstream open source release<br />Built, certified and pre-tuned<br />Advanced Scalability Options<br />Non-blocking (NIO) connectors<br />High concurrency connection pool<br />Advanced Diagnostics<br />Detects deadlocks and slow running requests<br />Provides access to SQL behind slow requests<br />Identifies time spent in garbage collection<br />Operational Control: Enhanced Tomcat-compatible Server<br />
    24. 24. Operational Control: Application Provisioning<br />Provision applications to single server or group of servers<br /> Manage deployed applications <br /> View application status<br /> Start, stop, reload, and undeploy applications<br />
    25. 25. Operational Control: Server Administration & Configuration<br /> Centralized administration of server configuration and defaults<br /> Out of box pre-tuned configurations<br />JVM Options, production configurations, automated boot scripts, Windows service wrapper<br /> Server Instance Templates<br />
    26. 26. Operational Control: Performance & SLA Mgmt of Spring apps <br />Automatically Monitor Application, Data Access, Custom Components <br /> @Controller, @Service, @Component, @Transactional, @Repository, @ManagedResource<br /> Executions Per Second, Average Execution Time, Maximum Time, Minimum Time, etc.<br />Monitor Performance and Execute Control Operations inside Spring<br /> Transaction Manager, Hibernate Session, Message Listener, JMS, JavaMail, Thread Pool, etc.<br /> Start/Stop Listener, Set Max Messages, Set Receive Timeout, Set Pool Size, Set Keep Alive, etc.<br />
    27. 27. Operational Control: Performance & SLA Mgmt of Spring apps <br />(cont’d)<br />Monitor Application Server Status, Health, and Response Times<br /> Availability, Throughput, Utilization, Connection & Thread Pool Health, Deadlock Detection, Garbage Collection<br />
    28. 28. Operational Control: Alert Workflows and Control Actions<br />
    29. 29. SpringSource tc Server: Key Highlights<br />Familiar Spring + Tomcat experience<br />Deep performance insight into Spring apps<br />Agile Spring development experience via STS <br />Developer <br />Efficiency<br />Performance & SLA management of Spring apps <br />Application provisioning and server administration<br />Rich alert definition, workflows, and control actions<br />Group availability & event dashboards<br />Secure unidirectional agent communications<br />Operational<br />Control<br />Lean server (10 MB) ideal for virtual environments<br />Template-driven server instance creation<br />Integrated experience with VMware environments<br />Open, secure API for all operations<br />Deployment<br />Flexibility<br />
    30. 30. Deployment Flexibility: tc Server Instance Templates<br />Streamlines process of spinning up new server instances<br />Script-driven templates deliver uniquely named server instances in seconds<br />Run multiple instances based on a single set of server binaries<br />Pre-packaged templates for popular configurations provided out of the box<br />Separates server runtime, configuration, and applications in a way that makes testing changes and making updates a breeze<br />Instance templates contain:<br />Server, web, and context configuration files<br />Parameterized properties files (ex. ports, etc.)<br />Custom scripts, custom shared resource libraries, etc.<br />Web applications (ex. Spring Insight)<br />Example use cases:<br />Dev, QA, Performance Test, Staging, and Production templates<br />Templates for multiple instances on a machine serving a specific application<br />
    31. 31. Deployment Flexibility: tc Server Instances (large physical box)<br />tc Server<br />Instance X<br />tc Server<br />Instance 1<br />tc Server<br />Instance m<br />. . .<br />Spring<br />Spring<br />Spring<br />Spring<br />Spring<br />. . .<br />tc Server ver Y<br />(shared binaries)<br />tc Server ver X<br />(shared binaries)<br />Operating System & JVM<br />Single lightweight (10MB) install for multiple running instances<br />Shared binaries eases upgrades of all instances<br />Separates configuration and code from server runtime<br />Multiple server versions can be installed per machine<br />
    32. 32. Medium Virtual Machine<br />Deployment Flexibility: tc Server Instances (virtualized platform)<br />tc Server<br />Instance 1<br />tc Server<br />Instance m<br />. . .<br />Small VM<br />Small VM<br />Spring<br />Spring<br />Spring<br />Spring<br />tc Server<br />(shared binaries)<br />tc Server<br />tc Server<br />OS & JVM<br />OS & JVM<br />Operating System & JVM<br />Virtual Infrastructure Platform<br />Complete flexibility to deploy large, medium, and small “machines”<br />Lightweight footprint ensures maximum resource utilization<br />
    33. 33. Is a New Style of Infrastructure Needed?<br />We need a platform that can Run these new apps.<br />Dynamic Load Balancing<br />Elastic App Server<br />Performance Management<br />Global Data Management<br />Developers & Architects<br />And… IT Operations<br />Policy Driven Automation<br />Cloud Messaging<br />
    34. 34. Data in the Cloud<br />tc Server<br />Spring Edition<br />Hyperic &<br />Spring Insight<br />Your Java<br />Spring App<br />Trace, Monitor, Alert, Manage<br />Built with<br />SpringSource Tool Suite<br />Lightweight App Runtime<br />Session & Object/Data Store, <br />Geo Replication & Partitioning, Active Queries & Notifications, …<br />GemFire Enterprise<br />Distributed Data Fabric<br />GemFire Data Management<br />Other Data Systems<br />File Systems<br />Databases<br />
    35. 35. Yet Another Piece of Middleware?<br />Why YAPOM ? <br />Execution Excellence <br />Make your applications run 4 to 40 times faster<br />Ingest / Digest / Distribute vast amounts of data with extremely low latency <br />Higher ROI of IT investments & Lower Cost Per Transaction<br />A 4x Performance Increase is like getting 3 free computers that take no space or electricity<br />Enables applications to survive network outages and distressed networks<br />Data Awareness – especially across applications/systems<br />Supports High Availability, Fault Tolerance, and Site Failover with zero additional design/development costs<br />
    36. 36. What is GemFire?<br />Database<br /><ul><li>Storage
    37. 37. High Availability
    38. 38. System Integration
    39. 39. Data Distribution
    40. 40. Persistence
    41. 41. Load Balancing
    42. 42. Data Transformation
    43. 43. Event Propagation
    44. 44. Transactions
    45. 45. Data Replication
    46. 46. Service Loose Coupling
    47. 47. Guaranteed Delivery
    48. 48. Queries
    49. 49. L1 Caching</li></ul>+ Service Bus<br />+ Messaging System<br />+ Complex Event Processor<br />+ Grid Controller<br /><ul><li>Task Decomposition
    50. 50. Distributed Task Assignment
    51. 51. Map-Reduce, Scatter-Gather
    52. 52. Business Event Detection
    53. 53. Result Summarization
    54. 54. Real-time Analysis
    55. 55. Event Driven Architectures</li></ul>=<br />GemFire combines select features from all of these products and combines them into a low-latency, linearly scalable, memory-based data fabric<br />
    56. 56. Open PaaS : Productivity, Portability and Scalability<br />VMware vSphere Infrastructure Platform<br />Private<br />SpringSource Application Platform<br />GemFire Data Virtualization Platform<br />Your Java Spring App<br />Powered by VMware & Salesforce technology<br />Build applications using familiar Spring skills and the SpringSource Tool Suite Eclipse IDE<br />Public<br />Other Platforms<br />Deploy your apps to the Private or Public platform of your choice<br />
    57. 57. Scaling the Tiers<br />The web and application tiers can be easily combined and virtualized. Nodes can be added or removed on the fly.<br />Load Balancer<br />Add/remove web/application servers<br />Web Tier<br />Application Tier<br />The database only grows by moving the VM to a larger machine<br />Database Tier<br />The disk systems can be virtualized and can grow on demand<br />Storage Tier<br />
    58. 58. Legacy Database Clustering Strategies<br />A<br />B<br />C<br />D<br />A<br />B<br />C<br />D<br />Legacy database clustering technologies tend to be either:<br />Statically Partitioned<br /><ul><li>Failure of Server A will double workload on Server B
    59. 59. Failure of Server A and Server B makes some data unavailable
    60. 60. Rebalancing requires taking database offline</li></ul>Shared Everything<br /><ul><li>All servers must co-ordinate activity
    61. 61. Must acquire distributed locks on data for update
    62. 62. Scalability is not linear and limited to a handful of nodes
    63. 63. Failure to synchronize activity can crash the entire cluster</li></li></ul><li>Linear Scalability<br />GemFire can achieve near linear scalability with nodes that can be added or removed on the fly.<br />Scale<br />Add/remove web/application/data servers<br />Disks may be direct or network attached<br />Web, Application and Data tiers can be collapsed into a single virtual machine.<br />Optional reliable, asynchronous feed to Data Warehouse or Archival Database<br />
    64. 64. Memory-based Performance<br />GemFire uses memory on a peer machine to make data updates durable, allowing the updating thread to return 10x to 100x faster than updates that must be written through to disk, without risking any data loss. Typical latencies are in the few hundreds of microseconds instead of in the tens to hundreds of milliseconds.<br />Perform<br />GemFire can optionally write updates to disk, or to a data warehouse, asynchronously and reliably. <br />
    65. 65. Data-Aware Function Routing<br />Data Aware Function<br />Execute<br />Batch Controller or Client<br />Scatter-Gather (Map-Reduce) Function<br />GemFire provides ‘data aware function routing’ – moving the behavior to the correct data instead of moving the data to the behavior.<br />
    66. 66. Data Distribution<br />Distribute<br />GemFire can keep clusters that are distributed around the world synchronized in real-time and can operate reliably in Disconnected, Intermittent and Low-Bandwidth network environments.<br />
    67. 67. GemFire virtualizes the database into the application tier<br />Cloud Ready<br />Add/remove web/application/data servers<br />Add/remove disk<br />GemFire server is a small Java jar file that can be easily deployed with Java applications. <br />Optional reliable, asynchronous feed to Data Warehouse or Archival Database<br />
    68. 68. Is a New Style of Infrastructure Needed?<br />We need a platform that can Run these new apps.<br />Dynamic Load Balancing<br />Elastic App Server<br />Performance Management<br />Global Data Management<br />Developers & Architects<br />And… IT Operations<br />Policy Driven Automation<br />Cloud Messaging<br />
    69. 69. More Than Just Data – How do I Distribute Cloud Information? <br />Application Data Lives Here<br />Application MessagingThat Won’t Fail<br />RabbitMQ Message Bus<br />Application Data Sleeps Here<br />GemFire Data Fabric<br />File Systems<br />Applications<br />Databases<br />Devices<br />Other Systems<br />Cloud Services<br />
    70. 70. Who uses AMQP<br />Over 500 known commercial users recorded by AMQP vendors, examples:<br />National Science Foundation OOI Cyber infrastructure<br />Frankfurt Stock Exchange <br /> “EUREX 12 is FIXML over AMQP Eurex is the very first exchange to introduce AMQP as a standard protocol on its system, thus easing the monitoring of positions and risk related data for its members and ensuring market integrity for all participants.”<br />JPMorgan sends 1 billion AMQP messages per day<br /> 60 production system (50% CAGR, unforced)<br />NASA’s Nebula Cloud Computing project<br />Second Life<br />Developer clouds: VMforce, Engine Yard, Joyent, Heroku<br />
    71. 71. Basic use cases<br />Event<br />I need to know when to do something<br />Data fragment<br />I need to give you a piece of this data without you needing to understand the whole schema<br />Routing<br />Control who gets which message, without changing sender and receiver<br />Publish<br />Tell everyone who wants to know about this<br />Batch<br />Producer and consumer can run at independent times<br />Load share<br />Add more consumers to scale up<br />
    72. 72. Where AMQP fits<br />What goes in here will clean up if it is <br />OPEN,<br />UBIQUITOUS,<br />& ADAPTABLE<br />async<br />sync<br />reliable<br />unreliable<br />copyright (c) Rabbit Technologies Ltd.<br />
    73. 73. How AMQP works<br /><ul><li>Each message is stateless
    74. 74. Consumers create queues; these buffer messages for push to consumers
    75. 75. Queues are stateful, ordered, and can be persistent, transient, private, shared.
    76. 76. Exchanges are stateless routing tables.
    77. 77. Consumers tell queues to bind to named exchanges; each binding has a pattern e.g. “tony” or “*.ibm.*”
    78. 78. Producers send messages to exchanges with a routing key e.g. “tony”, or ordered set of keys e.g. “buy.ibm.nyse”
    79. 79. Exchanges route messages to queues whose binding pattern matches the message routing key or keys</li></li></ul><li>50<br />Architectures you can build with AMQP<br />copyright (c) Rabbit Technologies Ltd.<br />
    80. 80. Rabbit is great for developers<br />Developer platform integration<br />
    81. 81. Is a New Style of Infrastructure Needed?<br />We need a platform that can Run these new apps.<br />Dynamic Load Balancing<br />Elastic App Server<br />Performance Management<br />Global Data Management<br />Developers & Architects<br />And… IT Operations<br />Policy Driven Automation<br />Cloud Messaging<br />
    82. 82. Is a New Style of Infrastructure Needed?<br />We need a platform that can Run these new apps.<br />Dynamic Load Balancing<br />Elastic App Server<br />Performance Management<br />Global Data Management<br />Developers & Architects<br />And… IT Operations<br />Policy Driven Automation<br />Cloud Messaging<br />
    83. 83. Need: Measure & Manage Custom Apps Against Business Goals<br />Web-based Application Infrastructure<br />End-user<br />App Server<br />Web Server<br />Database<br />Is performance within SLAs?<br />What is source of bottlenecks?<br />How is infrastructure impacting application response times?<br />Can I automate corrective actions?<br />How can I improve performance?<br />App Server<br />Physical or Virtual Infrastructure<br />
    84. 84. Need: Go Beyond Red Light, Green Light Availability<br />
    85. 85. Need: Application Visibility Across Physical and Virtual Worlds<br />
    86. 86. If You Can Measure It, You Can Manage It<br />
    87. 87. If You Can Measure It, You Can Manage It<br />
    88. 88. Identifying Key Performance Metrics<br />Is trouble coming?<br />Are we meeting obligations?<br />How can unique knowledge help?<br />
    89. 89. What to Measure for Custom Developed Applications?<br />
    90. 90. Examples of Collected Metrics<br />
    91. 91. Track Events Alongside Collected Metrics<br />Event Tracking and Correlation<br />Provides history of log, configuration, alert and security events with performance data.<br />
    92. 92. Hyperic Inventory and Configuration Tracking<br />Maintain exact, real-time inventory of resources<br />Hyperic Auto-Discovery<br />Continuously runs to discover new inventory and modified inventory properties such as IP set changes or configuration changes. These too can be used as the basis for alerts.<br />
    93. 93. Group Resources to Understand Real Utilization<br />Create groups to determine if problems are localized<br />Create groups for like resources, e.g., all web servers<br />Create groups that share a dependency, e.g., that share a similar host<br />Remote Diagnostics<br />Hyperic HQ allows users to run real-time diagnostics like cpuinfor, cpuperc, df, top, netstat, ifconfig, and who across groups and operating systems simultaneously.<br />
    94. 94. If You Can Measure It, You Can Manage It<br />
    95. 95. Perform Trend Analysis<br />Ensure all applications are fully instrumented for monitoring<br />Monitor INSIDE and OUTSIDE the virtual machines<br />Establish as long of a history as possible<br /><ul><li>Long history provides more time and information to triage quickly
    96. 96. Start during test</li></li></ul><li>Correlate Performance Across Physical & Virtual<br />Answer the question, “What Changed?”<br />Was there a spike in traffic?<br />Did someone add a new component or application?<br />How quickly has performance degraded? <br />Bridge the gap between virtual and physical<br /><ul><li>Compare guest & host metrics
    97. 97. CPU, Memory, Disk utilization
    98. 98. Relate Physical & Virtual Performance to Individual Applications</li></ul>Hyperic virtualization plugins<br />Collect metrics inside and outside the VMs, and monitors consumption by both allocation and availability.<br />
    99. 99. Establish Baselines and Automate Anomaly Detection<br />Automatic baseline calculation for dynamic metrics<br />Out-of-Band Metrics Identified and Bubble-up to Dashboard<br />Hyperic Enterprise SmartTrendBaselines performance over any given period, and these baselines can be used to set alerts.<br />
    100. 100. If You Can Measure It, You Can Manage It<br />
    101. 101. Define Alert Conditions and Automated Response<br />Control Actions<br />Any script can be run remotely from Hyperic HQ and will be logged with the event history of the resource. With Hyperic HQ Enterprise these can be scheduled or run as a response to an alert.<br />
    102. 102. Automate Response via Control Actions & Scripts<br />
    103. 103. Define a Recovery Alert<br />Opposite Condition to Problem<br />Link to Problem Alert<br />This Is Set on Problem Alert. Not Available for Recovery Alert Definition<br />
    104. 104. Example Alert-based Actions<br />Stop or Restart a Problem Service<br />Remove Server from Load Balancer Configuration<br />Execute External Process Script<br />Issue Remote API Calls<br />Integrate with Issue Tracking System<br />Scale Server Deployment (e.g. add additional VMs to handle load)<br />Perform Actions Against HQ API<br />
    105. 105. If You Can Measure It, You Can Manage It<br />
    106. 106. Establish Support Escalation Workflows<br />
    107. 107. Example Escalations<br />Defcon 1: Page on-call and email ops, wait 5 minutes, then page all.<br />High Priority: Page on-call and email ops every 30 minutes<br />Med Priority: Email ops every 4 hours<br />Med Priority w/ Suppress: Suppress for 20 minutes, then email ops every 4 hours<br />Low Priority: Email ops every 24 hours<br />Low Priority w/ Suppress: Suppress for 20 minutes, then email ops every 24 hours<br />Low Priority no Email: Used for warnings in Ops Center only, no notification<br />
    108. 108. Acknowledge Escalation and Suspend Actions<br />
    109. 109. If You Can Measure It, You Can Manage It<br />
    110. 110. Learn from Gathered Metric Data<br />Discrepancies in behavior among identical Apache servers <br />Load balancer configuration the culprit: Expected results following fix<br />
    111. 111. If You Can Measure It, You Can Manage It<br />
    112. 112. Hyperic Provides Top Down Visibility to Meet Goals<br />Modern Application Management<br />Monitoring for custom applications<br />Best tool to manage Spring apps<br />Top to bottom insight and control<br />Deep visibility into applications & services<br />Spans physical, virtual, and cloud<br />Managing The World’s Largest Infrastructure <br />
    113. 113. Where Hyperic Fits in Management Architecture<br />Monitor of Monitors<br />Other Infrastructure<br />Management<br />Hyperic<br />Provisioning /<br />Configuration<br />Management<br />External<br />Authentication<br />Integration with Hyperic via:<br /><ul><li> HQ API
    114. 114. SNMP
    115. 115. Script Control Action</li></ul>Ticketing /<br />Process Management<br />
    116. 116. Hyperic Architecture Overview<br />User Interface<br />HQ Database<br />
    117. 117. Hyperic Server Considerations for Production<br />Application Server Sizing<br />CPU<br />Memory<br />Database Server Sizing<br />Disk I/O<br />Other Considerations<br />Firewalls and other Security Software (agent and server)<br />User Accounts<br />Use of a Virtual IP Address<br />HA Configuration<br />
    118. 118. Lessons From Hyperic QA on Server Sizing<br />Performance test environment H/W config:<br />Dual Quad Core CPUs<br />16 GB of RAM (2 - 6GB dedicated to JVM heap, depending on what is being tested)<br />Standalone MySQL DB w/ 7 disk RAID0 Array<br />Our test profile includes:<br />1000 platforms<br />4000 servers<br />10000 services<br />100K to 150K metrics/min<br />20000 to 50000 alert definitions<br />
    119. 119. Hyperic Agent Architecture: Open Plugin Flexibility<br />
    120. 120. Agent Upgrades via Hyperic UI<br />
    121. 121. Push Plugins via Hyperic UI<br />
    122. 122. Data Collection via the Hyperic Agent<br />
    123. 123. Anatomy of a Custom Plugin<br />
    124. 124. System Information Gatherer and Reporter (SIGAR) In-Depth<br />
    125. 125. Is a New Style of Infrastructure Needed?<br />We need a platform that can Run these new apps.<br />Dynamic Load Balancing<br />Elastic App Server<br />Performance Management<br />Global Data Management<br />Developers & Architects<br />And… IT Operations<br />Policy Driven Automation<br />Cloud Messaging<br />
    126. 126. Private Application Cloud Platform Vision<br />Your Java<br />Spring<br />App<br />Load Balancer<br />Deployment Policy<br />Configure, Provision, Control<br />Trace, Monitor, Alert<br />Elastic App Runtime<br />App and deployment policy uploaded to Cloud platform<br />Platform configures required services and provisions app<br />Launch application<br />Inventory<br />Messaging Service<br />In-Memory SQL<br />Elastic Data Fabric<br />Policy-based Infrastructure Platform & Resource Pools<br />(vSphere , vCloud Director)<br />
    127. 127. Cloud Foundry<br />Initially, CloudFoundry.com supports Spring for Java apps, Rails and Sinatra for Ruby apps, Node.js apps and apps for other JVM frameworks including Grails. Cloud Foundry also offers MySQL, Redis, and MongoDB data services.<br />Open PaaS offering from VMware<br />Currently in Beta<br />Three Primary Flavors<br />CloudFoundry.com – Complete Hosted PaaS<br />CloudFoundry.org – The Community Site<br />Cloud Foundry Micro-Cloud – PaaS for the Enterprise<br />
    128. 128. Market Has Chosen Spring As Path Forward for Enterprise Java<br />“In partnership with VMware, we are bringing Spring to Force.com.”<br />“With VMware, we are making it easy for developers to create Spring Java apps in the cloud.”<br />2.5 million<br />Spring Developers<br />vFabric<br />
    129. 129. VMware vFabric Cloud Application Platform<br />Application Infrastructure for the Cloud Generation<br />Modern Frameworks and Tools<br /><ul><li>Developer Productivity and Application Portability</li></ul>Frameworks and Tools<br />Modern Platform Services<br />vFabric<br /><ul><li>Optimized Runtime and Accelerated Deployment </li></ul>Platform Services<br />Virtual Datacenter<br />Cloud Infrastructure and Management<br />
    130. 130. VMware vFabric Cloud Application Platform<br />Application Infrastructure for the Cloud Generation<br />Integration<br />Data Access<br />Rich Web<br />Batch<br />Cloud APIs<br />Social Media<br />Frameworks & Tools<br />vFabric<br />Platform Services<br />Dynamic Load Balancer<br />Performance Management<br />ERS (Apache)<br />Hyperic<br />Elastic <br />App Server<br />tc Server<br />Policy-driven Automation<br />vFabricAppDirector<br />Global Data Management<br />GemFire<br />Cloud Messaging<br />RabbitMQ<br />Virtual Datacenter<br />Cloud Infrastructure and Management<br />
    131. 131. vFabric Vision: Optimized Cloud Infrastructure<br />VMware vFabric<br />Application Runtime <br />and Data Services<br />Application<br />Deployment<br />Policy<br />Elastic Resource<br />Utilization<br />Build your application<br />Configure and deploy<br />Virtual Datacenter<br />Infrastructure Platform & Resource Pools<br />Transparent Visibility<br />Policy-driven Automation<br />Run and scale<br />
    132. 132. Evolutionary Approach to Cloud Application Platform<br />4<br />3<br />Cloud Platform<br />Cloud Data Management<br />2<br />Cloud App Runtime<br />VM<br />1<br />Stage<br />vFabric <br />tc Server<br />Virtualized Applications<br />VM<br />App Server<br />0<br />Virtualization & Spring<br />
    133. 133. vFabric Resources<br /><ul><li>Partner Central
    134. 134. Partner Central: http://www.vmware.com/go/learnvfabric
    135. 135. vFabric Overview, PaaS Whiteboard, tcServer Demo, Hyperic Demo, Gemfire Presentation
    136. 136. SME Email List for Technical Questions
    137. 137. SME-SpringSource@vmware.com</li></ul>Webinars<br />http://www.springsource.com/newsevents/webinars<br />Avoid Pitfalls when Monitoring a Virtualized Environment<br />Next-Generation Data Management in the Cloud for Java Apps<br />Best Practices for Virtualizing Java Workloads<br />Performance Tuning Production tc Server: Tuning for Throughput & Scale<br />Upcoming: The NPC Story - Speedier Apps, Minimal Downtime, Lower Cost<br />
    138. 138. VMware’s Commitment to Partners<br />
    139. 139. Solution Provider Benefits Include...<br />Training and Education<br />Sales Engagement <br />Branding <br />and Customer Recognition<br />Incentives/ Margin<br />Intellectual Property & SET’s<br />Demand Generation <br />NFR & IUL Software<br />
    140. 140. Temporary Program for Net New VMware vFabric Partners<br />LEVEL<br />REQUIREMENT<br />Application/Agreement: Sign & Complete<br />Ability to Sell: ACE, Workstation, Fusion, vSphere Essentials & Essentials Plus<br />REGISTERED<br />Go to www.vmware.com <br />Partners- > Partner Programs <br />Solution Provider - > Registered <br />Apply Now <br />Fill in the Details and Submit<br />
    141. 141. Sign up for Partner Central and Partner University<br />Partner Central is the exclusive online information resource, providing a single dedicated web portal for all VMware Partners.<br />
    142. 142. Key Takeaways<br />Cloud Application Platform<br />Key Drivers<br />VMware’s<br />IT as a Service Vision<br />VMware vFabric<br />Combines Spring framework and tools with vFabric platform services to speed delivery of next-generation apps that are instantly scalable and cloud-portable <br />
    143. 143. Questions?<br />vFabric Platform Deep Dive<br />April 18th, 2011<br />
    144. 144. Appendix A<br />Use Cases<br />
    145. 145. tcServer Successes<br />
    146. 146. Case Study – From Level 0 to Level 1.5<br />About the Company<br />The Digital Services Division (DSD) of Associated <br />Newspapers (ANL) provides all online development and infrastructure services to ANL’s online <br />portfolio of newspaper web sites. This includes <br />the Daily Mail, UK’s largest online newspaper <br />website, as well as Evening Standard, This Is <br />Money, Metro and 150+ regional sites. ANL’s goal <br />is to deliver websites that offer an engaging and <br />satisfying experience for users and measurable <br />commercial benefits to advertisers. ANL is part of <br />the Daily Mail and General Trust plc.<br />Moved from Traditional to Elastic Application Server<br />Benefits:<br /><ul><li>Faster Testing and Live Deployments –
    147. 147. From Hours to Minutes
    148. 148. Rapid Turnaround on Production Fixes
    149. 149. Proactive Problem Solving
    150. 150. H/A – 100% Uptime on Website
    151. 151. Improved Performance – 3X
    152. 152. Reduced Server Costs</li></ul>Notable Quote<br />“In the newspaper environment, we constantly need to find new and innovative ways to monetize our content,” Perkinson continues. <br />“Ideas for new features are coming through all the time, and for us to be able to turn those features around and get them to market quickly is absolutely key. But with Oracle WebLogic, developers were constantly task switching while waiting for Oracle WebLogic to deploy and start up our applications after each test and staging release.”<br />
    153. 153. Case Study – Level 0 to Level 2<br /> NPC International, based in Overland Park, Kansas, is the largest Pizza Hut franchisee in the world and is owned by Merrill-Lynch Global Private Equity Group. NPC International connects to its 1,200 restaurants across the US via a web application deployed through the local POS system, providing a variety of essential corporate functionality such as payroll, vacation requests, compliance management, invoice approval and online employee training. The web-based system must be kept running at top performance to handle 170,000 page views per day by NPC International users. <br />Benefits:<br /><ul><li>Enhanced Application Performance
    154. 154. High Availability
    155. 155. Increased Developer Productivity
    156. 156. Greater Scalability and Improved User Experience
    157. 157. Virtual Cloud Infrastructure
    158. 158. Reduced Server Costs by 75%</li></ul>Virtual Cloud Infrastructure <br />tcServer has enabled NPC International to implement an internal, private cloud of VMware-based virtual server resources, to maximize efficient usage of existing infrastructure. Because tc Server’s footprint is small, 12 tc Server instances are running on a single physical box, with additional capacity available to install more tc Server instances when needed. Consequently, tc Server enables NPC International to maximize internal server resources by eliminating the multiple machines necessary to run numerous application servers. <br />“I could not have deployed the applications within VMware-based virtual machines without tc Server,” Brisbin says. “I need a small, lightweight server that starts in a few seconds. I need to run several instances so I can make use of all the CPU resources.” <br />Confidential<br />110<br />
    159. 159. GemFire Successes<br />
    160. 160. Use Case - ForEx<br /> real-life use case: Global Foreign Exchange Trading System<br />The project achieved: <br /><ul><li>Low-latency trade insertion
    161. 161. Permanent Archival of every trade
    162. 162. Kept pace with fast ticking market data
    163. 163. Rapid, Event Based Position Calculation
    164. 164. Distribution of Position Updates Globally
    165. 165. Consistent Global Views of Positions
    166. 166. Pass the Book
    167. 167. Regional Close-of-day
    168. 168. High Availability
    169. 169. Disaster Recovery
    170. 170. Regional Autonomy</li></li></ul><li> real-life use case: Global Foreign Exchange Trading System<br />Use Case - ForEx<br />In that same application, GemFire replaced: <br />Oracle Database In Every Region<br />Still need 1 instance for archival purposes<br />TIBCO Rendezvous for Local Area Messaging<br />IBM MQ Series for WAN Distribution<br />Veritas N+1 Clustering for H/A<br />In fact, we save the physical +1 node itself<br />3DNS or Wide IP<br />Admin personnel reduced from 1.5 to 0.5<br />
    171. 171. real-life use case: Event-driven Risk and Pricing<br />Use Case – Event Management<br />Batch processing delays were costing money<br />and limiting opportunities<br />Running Pricing and Risk calculations in batch mode required special applications to be written that created a ‘buffers’ to ensure that regulatory obligations were not violated (BASEL II regulations).<br />An initial attempt to produce event-detection processing on legacy technology would not scale. Only 43 priority products could be managed – other products could not take advantage of a known tactical advantage.<br />
    172. 172. real-life use case: Event-driven Risk and Pricing<br />Use Case – Event Management<br />"The breakthrough for this tool came when we decided to put the event detection logic into our pricing models"<br />Derek Joyce<br /> Chief Business Technologist for Equity Derivatives<br />JPMorgan investment Bank<br />Built and deployed the Event Workstation project in under 12 months<br />Features: Real-time event detection, easier integration of new products, and control workflow to minimize business risk and meet all regulatory requirements<br />Trader UI queries reduced from 20 minute to under 5 second response time<br />8 CPUs re-price 6000 complex and exotic instruments in under 3 minutes<br />
    173. 173. Use Case – Mainframe Migration<br /> real-life use case: Mainframe-based Nightly Batch Run<br />I/O Wait<br />9%<br />CPU Busy<br />15%<br />A mainframe-based, nightly customer account reconciliation batch run<br />0<br />120<br />60<br />min<br />CPU Unavailable<br />15%<br />Mainframe<br />Batch now runs in 60 seconds<br />COTS Cluster<br />93% Network Wait! Time could have been reduced further with higher network bandwidth<br />
    174. 174. real-life use case: Mainframe-based Nightly Batch Run<br />Use Case – Mainframe Migration<br />So What? So the batch runs faster – who cares?<br />It ran on cheaper, modern, scalable hardware<br />If something goes wrong with the batch, you only wait 60 seconds to find out<br />Now, the hardware and the data are available to do other things in the remaining 119 minutes:<br /><ul><li>Fraud detection
    175. 175. Regulatory compliance
    176. 176. Re-run risk calculations with 119 different scenarios
    177. 177. Up sell customers</li></ul>You can move from batch to real-time processing!<br />
    178. 178. real-life use case: Web 2.0 Portal – Customized ads<br />Use Case – Web Portal<br />1<br />2<br />3<br />4<br />A popular online gambling site attracts new players through ads on affiliate sites<br />Customized Banner Ad on affiliate site<br />In a fraction of a second, the banner ad sever must:<br />Generate a tracking id specific to the request<br />Apply temporal, sequential, regional, contractual and other policies in order to decide which banner to deliver<br />Customize the banner<br />Record that the banner ad was delivered<br />Banner Ad Server<br />Affiliate's Web Server<br />
    179. 179. real-life use case: Web 2.0 Portal – Customized ads<br />Use Case – Web Portal<br />Their initial RDBMS-based system<br />Limited their ability to sign up new affiliates<br />Limited their ability to add new products on their site<br />Limited the delivery performance experienced by their affiliates and their customers<br />Limited their ability to add additional internal applications and policies to the process<br />Their new GemFire-based system<br />Responded with sub-millisecond latency<br />Met their target of 2500 banner ad deliveries per second<br />Provides for future scalability<br />Improved performance to the browser by 4x<br />Cost less<br />
    180. 180. real-life use case: DISA / DOD Global Command and Control<br />Use Case – Asset/Position Monitoring<br />Centralized data storage was not possible<br />Multi-agency, multi-force integration<br />Numerous Applications needed access to multiple data sources simultaneously<br />Networks constantly changing, unreliable, mobile deployments<br />Upwards of 60,000 object updates each minute<br />Over 70 Data feeds<br />Needed a real-time situational awareness system to track friendly assets and enemy assets <br />that could be used by all of the war fighters in theatre <br />Northrop Grumman (integrator) investigated the following technologies before deciding on GemFire<br /><ul><li>RDBMS – Oracle, Sybase, Postgres, TimesTen, MySQL
    181. 181. ODBMS - Objectivity
    182. 182. jCache – GemFire, Oracle Coherence
    183. 183. JMS – SonicMQ, BEA Weblogic, IBM, jBoss
    184. 184. TIBCO Rendezvous
    185. 185. Web Services</li></li></ul><li> real-life use case: DISA / DOD Global Command and Control<br />Use Case – Asset/Position Monitoring<br />655 sites, 11 thousand users<br />Real-time, 3 dimensional, NASA World Wind User Interface<br />Active, directed event propagation<br />On the desk of<br />President of the United States<br />US Secretary of Defense<br />Each of the Joint Chiefs of Staff <br />Every commander in the US Military<br />Likely to be adopted as the joint, common operating picture for US allies and friendlies<br />
    186. 186. RabbitMQ Successes<br />
    187. 187. BBC - real time content management<br />Source feeds are collated, transformed<br />and routed to their destinations <br />
    188. 188. Pubsubat massive scale: “Twitter for Data in the Cloud”<br />Oceanographic Observatory Institute<br />
    189. 189. Putting it all together: The OOI National Network<br />125<br />
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×