Sunday Nov 11, 2007

Week Highlights - GFv3 Schedule, IPS, Governance Board, JavaFX, ...

Red Hat Logo

• How-Tos: Clustering, Launchd, Metro & JAXB and GF Profiles
• Community - Interviews, RedHat and OpenJDK and Governance Board
• Future Releases - IPS in UC2, GFv3 Schedule and Sailfin Tooling
• Adoption Indicators - New GeoMap, Nuxeo Core and GF and Geronimo
• Web.Next - JavaFX, jMaki Charting, Bayeux/Comet and JAX-RS
• Events - IJTC
• Try this: GlassFish.ORG

Tuesday Nov 06, 2007

GlassFish podcast on Clustering

GlassFish Podcast image

In this third episode of the GlassFish Podcast, HA engineering lead Shreedhar Ganapathy discusses project Shoal and how it's applied to GlassFish clustering as a GMS (Group Management System) technology but also how it does in-memory replication to provide High Availability (depending on the profile used).

If you're interested in the max number of nodes in a cluster, buddy replication, recovery failure notification, sticky load-balancing, availability level, or distributed state cache, this interview gets into all of these. It also tries to go from first steps to setup the cluster to tips on running and managing it effectively. Finally it touches on what's next for clustering in GlassFish in the next 18 months.

This is a longer podcast that the earlier two (40 minutes). Feedback is welcome about what you think is the optimal duration (although I suspect this varies depending on one's commute).

Monday Oct 08, 2007

Two new articles on GlassFish v2 - Clustering and Solaris Zones

ALT DESCR

When it comes to clustering in an application server, defining the vocabulary is the first thing that needs to be done. This new article does this and much more. It defines key concepts for GlassFish such as Domain Administration Server (DAS), Node Agents, server instances, discusses deployment topologies, and explains how the Shoal and JXTA technologies are used to set up the cluster and replicate data in-memory. It also provides instructions on how to get the GlassFish "Cluster" profile running.

The second article explains how the application server can take advantage of the Zones technology built in Solaris 10 and OpenSolaris. It has a quick intro on what are Solaris zones and how they provide isolated environments for application instances. Propagation among zones can complicate installations and updates, so the article going into the details of installing and using the GlassFish application server in a global or a sparse zone. It also covers upgrading from previous versions of the software that may have come bundled with Solaris.

Wednesday Sep 19, 2007

More on clustering and load-balancing in GlassFish v2

Cluster image

One of the key features in GlassFish v2 is clustering support. With greater power comes greater responsibility, so Prashanth has a detailed post on setting up and using the clustering, load-balancing and data replication features from the newly released GlassFish v2.

Prashanth goes into the various options in terms of replication and load-balancing using either software (web servers) or hardware solutions. It also covers more advanced topics such as establishing a secure connection between the DAS (Domain Admin Server) and the web server. Shreedhar comments with interesting GMS/Shoal prerequisites like syncing machine clocks.

Update: The clustering features briefly described here are meant to give readers a feel for how this all works and is not intended to replace the product documentation
•  Sun Java System Application Server 9.1 High Availability Administration Guide
•  Sun Java System Application Server 9.1 Deployment Planning Guide
•  Sun Java System Application Server 9.1 HADB Commands Reference Manual.

Wednesday Sep 05, 2007

HowTo - 2 Machine Cluster Setup for GlassFish - CLI mode

Informational Sign

A tip from Shalini:
2 Machine Cluster Setup for GlassFish - CLI mode

Sunday Aug 26, 2007

Load Balancers and GlassFish

Balanced Scales

A recent USERS thread asked about Load Balancers and GlassFish; from there and with a couple of additions:

• Load Balancer Module Home Page
• Daniel on Balancing with Mod_JK
• Prashanth on BigIP - F5, a hardware appliance.
• Sreeram and Jason on using Sun Secure Application Switch
• Pankaj on using LB Plugin (which can be used with SJS Web Server)
More LB Plugin Info from Satish.

We are going to start an FAQ at the GlassFish Wiki for frequent questions like this; stay tuned.

On a different direction, one of Sailfin's improvements is integrated Load Balancer - see Milestone 1.

Tuesday Aug 14, 2007

Shoal Users Guide - Clustering 101

School of FIsh

Shreedhar is beginning to document how Shoal works and has just written a Shoal 101. Shoal is the Group Management Service (GMS) used in GlassFish but it can also be used independently.

The writeup includes a Sample Example that shows how to register for group events, join a pre-defined group, get notifications of group events, send/receive messages, and leave the group.

Friday Aug 10, 2007

Shoal Clustering - With or without GlassFish

Project Shoal logo

Artima has a feature entry on Project Shoal which just reached 1.0 Early Access. Project Shoal is a Group Management System heavily used in GlassFish v2 but it can also be used in other contexts. The JXTA implementation used by default and which brings close-to-zero clustering configuration in GlassFish can also be replaced (by JGroups for instance) using the appropriate SPIs.

One of the reasons for the GlassFish v2 delay was the time needed to make sure we could go through as many customer scenarios as possible, specifically in the clustering area. Shreedhar reports on the 8-node GlassFish clustering quality tests which led to improved quality of Shoal itself. This and future use of Shoal in SailFin (the SIP supported application server based on GlassFish with Ericsson as a major contributor) shows the greater GlassFish Community at work.

Wednesday Aug 08, 2007

Master Passwords in GlassFish

Mary Feldman as Igor in Young Frankenstein

Alexis has put together a nice summary of the basic concepts needed to use GlassFish v2 in a cluster profile. These include the concepts of domain, cluster, DAS and NA, master password, upgrading profiles, difference between cluster and enterprise profiles and more.

Check all of these at Alexis' blog. And here you can find the transcript to Young Frankenstein (the young master).

Thursday Jun 21, 2007

Another One Bites the Dust - OpenDMK is Open Source

JMX is the popular management and monitoring technology which has been integrated into Java SE starting with version 5.

JDMK (Java Dynamic Management Kit) is a Sun product building on JMX to provide a distributed model with Federated MBean Servers, Agent Discovery, and SNMP support. This is a mature product that reached version 5.1 patch level 3 and it is now being open sourced under the name OpenDMK. Here's a good blog on all things JMX and OpenDMK.

Sreeni reports how the open sourcing of JDMK impacts GlassFish. The clustering architecture of version 2 uses cascading of instance MBeans on to the DAS (Domain Admin Server) and JMX remote connectivity. The latest GlassFish v2 build now uses the OpenDMK bits instead of the JDMK jars. This is transparent to the user and probably the last step on the way to a full open source GlassFish application server.

Tuesday Jun 05, 2007

Inside GlassFish V2 Clustering

Think that enterprise features like clustering, fail-over, and load-balancing are beyond the scope of an open source application server? Think again. GlassFish v2 implements them all, and Nazrul has put together a nice writeup of these new features in his blog.

GlassFish v2 is currently in Beta, and we're getting pretty close to its production release target (September). So it's a great time to try these new features out for yourself. (And if you need even more motivation, don't forget that someone is going to win a great prize just for sharing their experiences in trying out GlassFish.)

Upgrade your GlassFish... from Developer to Cluster...

Cluster Upgrade Screenshot

Kedar has a very good write-up on Clustering in GlassFish v2 that describes the basic use-case for a cluster profile and then shows how to upgrade to it from the usual developer profile.

Kedar also has a two-parter screencast based on the writeup. The first part is only audio but the second part has the actual upgrade screens.

Wednesday May 23, 2007

Load Balancing for GlassFish v2 with F5's Big-IP

Photo of Big-IP (from F5)

GlassFish is moving farther in the deployment level, with GlassFish v2's support for clustering and other enterprise-level features. A recent example of this is described by Prashanth where, triggered by questions at the JavaOne pavillion, he describes how to use a hardware appliance (Big-IP from F5 Networks) for load balancing.

Prashanth's writeup is very detailed and explains how to configure Big-IP and also includes links to relevant GlassFish documents. Check it out!

Thursday May 17, 2007

In-Place Upgrading from Developer to Cluster Profile on GlassFish

Photo of Anissa and Jane at JavaOne

Once upon a time... Open Source application servers had poor administration consoles, but GlassFish v2 has an excellent one; thanks to Anissa (on the right)!

Anissa has started describing the Admin GUI; check these two blogs. The first came just before JavaOne and showed how to create a cluster on two machines (blog, screencast). In the second she describes a common scenario: upgrading from a development profile to a cluster profile (blog, screencast).

Great job! Check it out!

Wednesday Apr 25, 2007

Debugging a Clustered GlassFish

Perho

Say you want to debug a clustered deployment. So you open your laptop, start your appserver cluster with debugging enabled, then start one instance first, then the second instance, and ... wham! you have a port collision because both instances try to open the same jdwp port! But this has changed...

Byron reports that starting in b45 (downloads) this has been fixed: you can start the instances and delay the debugging port binding. The syntax is not (yet?) pretty, but it is very useable. Check out Byron's blog for the details!

BTW, I see that the last posted build is GFv2b 43; I'll check the status on b45 and will update this blog.