| By Jan Bartel | Article Rating: |
|
| October 17, 2008 09:00 AM EDT | Reads: |
11,885 |
Jan Bartel's Blog
Cloud computing refers to the ability to deploy your application on infrastructure that you do not necessarily own nor manage yourself and that can be easily scaled up to handle demand and provide resiliency to failure. The hardware infrastructure can be composed of clusters of many cheap machines or it may be high-end hardware which is virtualized into many nodes. In either scenario, the cost of ownership is dramatically less than in the traditional model.
Additionally, your application executes in an environment where the services it consumes can be transparently provided for you and scale along with the application. Think services like databases, messaging and servlet session clustering for example.
Software as a service is an increasingly popular paradigm for webapps so let's look at how Jetty is used in the cloud and some of the types of technologies involved.
Cloud Platform: Morph
Lets look briefly at a cloud platform solution for scalable webapps. Morph allows you to upload your war file and have it automatically deployed to as many virtual nodes as you need. Morph handles the load balancing for you and allows you to add or subtract virtual servers elastically as your load dictates. Moreover, your webapp immediately has access to some of the most commonly-needed resources like relational databases, mail servers and soon also a JMS service! These services are provisioned, configured, backed-up and monitored by Morph 24x7. Better still, Morph ensures high-availability of your webapp by configuring a fail-over pair as a matter of course. And at the heart of this great service, what do we find? Yes, that's right - Jetty! Jetty is the servlet container into which webapps are deployed and has been especially configured for a cloud-hosted environment.
Cloud Technology: Terracotta
Terracotta provides a shared memory model. It is mostly unobtrusive in code, generally just requiring good synchronization boundaries around the objects to be shared to enable it to efficiently disseminate updates amongst nodes. You can use Terracotta to implement cloud-type facilities for your webapp when running in Jetty. In fact, Jetty can already make use of Terracotta as its distributed sessions mechanism. We've recently been collaborating with the Terracotta guys to really hone the performance of the Jetty/Terracotta session clustering and we're getting some very pleasing results, which will be the subject of another blog.
Cloud Infrastructure: Hadoop
Hadoop is an open-source implementation of the MapReduce algorithm for breaking computational problems into smaller blocks that can be distributed over a cluster so that they may execute in parallel. Hadoop uses Jetty in two ways: to help distribute the jobs amongst the nodes, and also to monitor and report job execution status. FYI, Hadoop recently broke the terabyte sorting record - well done guys!
Cloud Infrastructure: GigaSpaces
GigaSpaces provides a space-based infrastructure to scale-out applications. The space's job is to ensure that data can be made available in the most efficient way possible to whichever node requires it. There are different options for configuring the space including partitioning based on characteristics of the data, or data persistence via an RDBMS. A number of different API facades onto the space (JMS, JDBC, Map and Space) are provided, so you can pick the semantic appropriate to your application. Jetty itself uses the Space API in the implementation of the Jetty/GigaSpaces clustered sessions module.
However, the space can be used for more than just distributing data, and can also be used to scale applications themselves, more akin to grid computing. In this scenario, nodes in the space (or grid) called processing units execute application logic and can be added on demand to handle load. Webtide has been collaborating with the Gigaspaces guys and we've put a Jetty instance into each and every processing unit. This means that a webapp can be instantly scaled simply by deploying it to more processing units in the grid.
Published October 17, 2008 Reads 11,885
Copyright © 2008 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
- Amazon CTO to Keynote at SYS-CON's Cloud Computing Conference & Expo
- Mike Neil to Present "Virtualization Futures" in His Keynote
- Joyent CEO to Present on "The Open Cloud" at SYS-CON's Cloud Computing Expo
- Hummer Winblad to Present at SYS-CON's Cloud Computing Conference & Expo
- Nirvanix CEO to Present at SYS-CON's Cloud Computing Expo
- RightScale CTO to Present at SYS-CON's Cloud Computing Expo
- Enomaly Founder & Chief Technologist to Present at SYS-CON's Cloud Computing Expo
- Certeon Named "Silver Sponsor" of SYS-CON's Virtualization and Cloud Computing Conference & Expo
More Stories By Jan Bartel
Jan Bartel is the Chief Engineer and one of the co-founders of Webtide, and Mort Bay Consulting. She has extensive industry experience as a team leader and consultant, working with Java, J2EE, and other key related technologies. She is a contributor and committer to a number of open source projects in addition to Jetty, of which she is one of the project leaders. During her 20-year career, she has delivered both client-side and server-side applications in industry sectors as diverse as online services, telecommunications, and banking and finance.
- It's the Java vs. C++ Shootout Revisited!
- Patterns for Building High Performance Applications
- Asynchronous Logging Using Spring
- Java for Programmers (2nd Edition)
- Cross-Platform Mobile Website Development – a Tool Comparison
- Three Buzzwords That Every CIO Hears but One They Should Listen To
- Write Once Run Anywhere or Cross Platform Mobile Development Tools
- Immersing into JavaScript Frameworks
- Workday Reportedly Prepping to Go Public
- Cloud Expo New York: The Java EE 7 Platform - Developing for the Cloud
- Book Review: Sams Teach Yourself Java in 24 Hours
- OpenOffice.com Lives
- Book Excerpt: Introducing HTML5
- Adobe Sends Flex to the Apache Foundation
- Five Years Waiting for JRE 7: Is It Justified? (Part 1)
- Book Excerpt: Java Application Profiling Tips and Tricks
- i-Technology in 2012: Five Industry Predictions
- It's the Java vs. C++ Shootout Revisited!
- Patterns for Building High Performance Applications
- OpenXava 4.3: Rapid Java Web Development
- The Next Web Architecture
- Asynchronous Logging Using Spring
- Java for Programmers (2nd Edition)
- Is Write Once Run Anywhere Ever Going to Be a Reality?
- A Cup of AJAX? Nay, Just Regular Java Please
- Java Developer's Journal Exclusive: 2006 "JDJ Editors' Choice" Awards
- JavaServer Faces (JSF) vs Struts
- The i-Technology Right Stuff
- Rich Internet Applications with Adobe Flex 2 and Java
- Java vs C++ "Shootout" Revisited
- Bean-Managed Persistence Using a Proxy List
- Reporting Made Easy with JasperReports and Hibernate
- Creating a Pet Store Application with JavaServer Faces, Spring, and Hibernate
- Why Do 'Cool Kids' Choose Ruby or PHP to Build Websites Instead of Java?
- What's New in Eclipse?
- i-Technology Predictions for 2007: Where's It All Headed?



















