Mar 25, 2007

Getting "Out There"

A friend of a friend (funny how that works) gave me some pointers to get my blog plugged into the broader "blogosphere." I just created a profile on technorati.com and am "posting claim" to my blog there.
Technorati Profile

Mar 22, 2007

Would You Please Get Those VM’s Under Control!


With all the recent controversy in financial markets and politics, it’s time for us geeks to stir up a little controversy of our own. A recent article in the Register talks about the challenges in managing Virtual Machines and licensing issues associated with the ability to deploy new (virtual) servers at will. A recent blog at Server Virtualization captured some of the opinions regarding the topic of how closely you should control the VM’s in your environment and whether or not developers can/should “hide a VM under their desk.”

Instead of finding new ways to circumvent your IT department, what if your IT department could provide you access to the VM’s you need, when you need them? When you’re done with your VM’s, you could give them back so that others can use them. Since there’s no physical asset, borrowing a VM should be easy. What if your IT department could go one step further and provide your VM’s freshly installed with the O/S and applications you need. This is a win-win situation. The IT department can still keep tabs on server resources and software licenses. And developers get access to the environments they need in their dev/test cycles. Cassatt Collage can help you set up this dynamic VM environment. (Read more)

At Cassatt, our IT director, Kirk, is the one who’s on the hook for Sarbanes-Oxley compliance. I really don’t want to see Kirk go to jail for failure to comply with software licenses-- one of the possible consequences of not getting a handle on how many VM's you have in your enterprise. After all, Kirk is a nice guy, and he does bring farm-fresh eggs for Karen, our CFO. So even though I’m a developer at heart, I do my part to make sure that Kirk stays out of the slammer, Karen gets her eggs, and I get my paychecks. So don't you think it might be worthwhile to get those VM's under control?


Mar 16, 2007

What Can You Do with a Web Services Interface?

Last year, we were working with a large software company and using Collage to provision and manage this company’s application suite. We presented our results to the VP sponsoring our project. We showed several use cases for provisioning new server instances within minutes and automatically responding to server failure. He was impressed with the functionality, but he requested that we provide a high-level “dashboard” application that could integrate with his company’s application suite. The VP designed this new User Interface (UI) on the whiteboard at the end of the meeting, and the UI looked nothing like our current UI (of course).

After returning to our office, I tapped Mukund, who wears many hats at Cassatt. I needed him to write a new UI, drawing on his prior experiences as a Java Swing developer. He used the Collage Web Services interface to build a Java Swing app that provided a high-level view of the application domain. He also included controls to increase service levels of the managed application.

A week-and-a-half later, we went back to the VP and showed him the new app that he had designed on the whiteboard. The VP was quite pleased-- surprised, in fact-- that we were able to turn this around so quickly. Later, we had a chance to present our results (and the Swing app) to their executive management team. We’re still working with that customer, and we’re still using the Web Services interface to provide custom functionality in their environment.

Mar 12, 2007

What Should You Do if a Server Fails? Absolutely Nothing.

A server failure can be disruptive to your business and your personal life. Servers tend to fail at the worst times— late at night, over the weekend, or in the middle of an important demo. Disk drives fail, motherboards burn out and software crashes; these things happen. To fix the problem, someone could reboot a server or reinstall software on a new server. What if your data center could automatically recover by performing these actions for you?

Cassatt Collage goes beyond provisioning. Collage constantly monitors the applications and servers in your data center. Collage polls for a heartbeat from each server—using standard OS-level and application-level monitors available in Linux, Windows and Solaris. You can also introduce your own custom monitors, such as a customized agent or a script running inside a database, and have Collage monitor that as well. When a server has failed, Collage will replace the server with a new one from the free pool and boot the same application/service on the new server—all of this within minutes and without losing any data.

For each application, you specify the monitoring parameters. You can define which monitors to use, the polling interval, and how many retries you should allow. In a smaller configuration with less than 100 servers, I like to monitor SNMP at 30-second intervals with 3 retries. For larger configurations with ~400 servers, I would increase the monitoring interval to 60 seconds. For Apache servers, I add an HTTP monitor on a system URL embedded in my web app so that I can ensure that the Apache service is running.

As part of our standard customer demo, I like to pull a blade server that’s running an application and watch Collage respond to the failure. I’ll let the customer pull the blade out of the chassis in the lab; blinking lights, fan noise and 10 racks of servers always adds a little extra to the demo. By the time we return to the conference room (with the failed blade in hand), Collage has quarantined the failed blade in a maintenance pool, allocated a new server from the free pool and booted this server to the same application. All of this takes only 3 minutes from bare metal to a running application on a new server. This demo is always very memorable and illustrates High Availability in a very simple manner. (Seeing is believing.) I had given this demo to some visiting executives from TCS. A year later, I had met them again in San Jose, and they still remembered the demo.

Mar 7, 2007

Business Lessons from “Buff Bill”

Two years ago, I had put together a fun video for our Sales kick-off event. I wanted to illustrate several use cases and the derived benefits from using Cassatt Collage to manage your data center. The video featured Cassatt employees and Bill Coleman, our CEO, as “Buff Bill,” head of Buff Bill’s Boards and Bikes. The video was definitely fun to make and somewhat funny (as in, “don’t quit your day job” kind of funny). In the video, Buff Bill used Collage to:

  1. Quickly integrate the IT systems of a recent acquisition.
  2. Shift the distribution of computing resources between different web portals based on seasonal demand.
  3. Respond quickly to increased workload by ramping up capacity as needed and in advance of new sales promotions.

The video featured Mukund as the poor sys admin who had to miss a Blink182 concert to bring new systems online-- but that was before he started managing his data center with Collage. After Mukund started managing his systems with Collage, he had way more free time—enough time to party with his friends and even take in a Linkin Park concert with Buff Bill.

Although we didn’t win any awards in the Sundance Film Festival (no surprises there), Buff Bill tackled some of the same challenges facing our customers today. One of our recent customers has achieved the top spot in their industry, and their only means to grow top-line revenue is through acquisitions. Their biggest headache has been integrating the IT systems of the acquired company. They are planning to use Cassatt Collage to manage all their IT systems so that they can quickly integrate newly acquired companies.

Another large customer faces predictable traffic spikes at different times during the week. Certain web properties are accessed almost exclusively on the weekend, whereas other business-related web properties are most active during the weekdays. We’re talking with them about using Collage to shift resources dynamically between their different web properties so that they can reduce their CapEx and OpEx.

One of these days I might post the Buff Bill video on YouTube. (I’ve been forbidden by our CFO, Karen. That almost sounds like a challenge to me, but I do like my paychecks.) In the meantime, you should check out Bill's thoughts on utility computing and what data centers may look like in the future. Recently, Bill was interviewed by Laurianne McLaughlin , the technical editor of CIO Magazine. Bill talked about a future where phone companies will run your data center. You can read about it in Laurianne’s blog. It’s a very interesting read, even though it's not as funny as my video.


Mar 1, 2007

Blog Tag

Okay, so I just got tagged a few days ago by Ken Oestreich. It’s taken me a while to post a list of five things about me that you probably don’t know, but here goes:

  1. When I was in high school, I sold my first computer program and accompanying article to an Apple II enthusiast magazine—Nibble Magazine. I sold them 3 articles and programs in total, but they only published one of them. It was assembly code and an accompanying bitmapped font set to display text with high-resolution graphics on the Apple II+.
  2. In 1989, I started my own three-person software company (Victory Software) to write role-playing games for the Apple IIgs. We managed to sell a few thousand copies of three different games. However, we shut down the company a few years later after Apple killed the IIgs line in favor of the color Macs. All of this was in the pre-Internet era, but it’s amazing what historical references you can find on the web these days.
  3. I don’t write game software anymore, but I have taken up golf. A few years ago, my daughter and I were playing at Blackberry Farm in Cupertino. The pro shop told us that Julie Inkster was playing two holes ahead of us. We did manage to see Julie and her kids from across the lake, but we never did close enough for an autograph. My golf swing and short game are nothing to write about (even in a blog), but I have been a pretty good swing coach for my kids. My kids and I never saw anyone else famous on the golf course, but my son is a big Tiger fan. He wears Tiger’s Sunday red-and-black combination when we play on Sundays.
  4. When I worked in Rochester, Minnesota in the 80’s, I actually placed fifth in a city road-race. I ran just under 11 minutes for a two-mile road race— nothing great, but good enough for a small town of 60,000. I still have my plaque somewhere in the garage. The race was in early May, but it was 30 degrees outside and snowing! During the last 100 yards, I got passed by a teenager, which was a little disheartening. Back in my youth, I never did manage to break the 5-minute-mile barrier, but I did get within 5 seconds. I still run these days, but it’s more like 7:30 miles. :-)
  5. I have a US patent. It’s patent #6,683,553. I got it when I worked in the Java Web Services group at Sun. The patent belongs to Sun, but I still have the plaque on my desk.

Okay, so now it’s my turn to tag 5 folks. Unfortunately, I’m a relatively new blogger, and I don’t have a bunch of blogging friends. So, I’ll tag Floyd Strimling and Rob Gingell. And I’ll put out 3 requests to folks who would be good bloggers. (I’ll just nudge them privately.)

Feb 6, 2007

Sometimes an API is the Right UI

Graphical User Interfaces (GUI’s) are great for client-side applications. Everyone has their favorite software application or consumer device, and the usability of the GUI usually makes a huge difference in user satisfaction. Well what’s the right user interface for data center infrastructure? What if you want to embed platform functionality into your own application?

There’s a funny ad from IBM, where a poor sys admin has to monitor dozens of monitors—one monitoring console per data center application. The ad talks about “silo’ed applications” and not being able to tap into data.

My company’s product, Cassatt Collage, delivers a platform for provisioning and managing a host of data center resources—servers, virtual machines and networks. Collage monitors applications and maintains service levels, so you don’t need to watch a monitor. Under the covers, Collage is a J2EE application. The Collage UI is a web-based UI that is built with JSP and Servlets. Collage also provides several programmatic interfaces so that you can respond to events and drive Collage functionality from the command line or your own applications.

Collage provides a Web Services interface (affectionately— but incorrectly— dubbed the WSDL interface) that gives you access to all the same functionality available from the GUI. You can create new application tiers, allocate resources (servers) to those application tiers, respond to events, increase or decrease service levels— basically anything you could do by clicking through the UI.

Remember Mukund? (Mr. 465 VM’s from my last posting). About a year ago, Mukund had created a Scripting SDK (SSDK) that used the Collage web services interface but provided a much simpler interface for use in scripting languages. The SSDK is intended to allow our professional services folks to integrate Collage with a customer’s applications. Since Mukund developed the SSDK in Java, I decided to poke under the covers and use the underlying Java functionality. (I’m not much of a script guy, but I do like simple API’s that I can call from Java.)

As part of the system test effort for the last Collage release, we developed several reliability and performance tests that measure Collage performance at extreme scale and over long time intervals with thousands of user actions. In order to automate these performance tests, I used the Java internals of the SSDK to create application tiers, allocate servers, activate servers, deactivate servers, deallocate tiers and delete tiers. We call this a “tier life cycle.” I also used JWebUnit to measure UI performance at different times and different deployment sizes. We use these tests as part of the standard system test cycle to characterize Collage performance at scale and ensure that performance levels are sustained over time—simulating how Collage will perform in your data center after a year’s worth of activity. I also wrote some reliability tests that create dozens of threads that basically pound a Collage system with different tier actions.

The SSDK has also proven useful in customer scenarios. Martha is the director for the Applications Engineering team, and she is on the “front lines” with many customer engagements. Martha is a super-star in pretty much any application domain— whether it’s J2EE, ETL, ERP, CRM, BI, DB. Whenever there’s a tough customer problem, Martha’s the one we call. In January, Martha used Collage’s image management capabilities and SSDK to automate the deployment and configuration of a customer’s complex application environment. The customer needs to deploy hundreds of independent Collage environments and wants to do this without any human setup. Each environment can be deployed and configured in only 37 minutes, and the process is completely automated! This is a perfect fit for Collage and the SSDK.

In a future posting, I’ll talk about more about the web services interface and my adventures with the Eclipse Web Tools Platform, which works very well with our web services interface BTW. If you want to find out more about the SSDK, check out Cassatt InfoCentral.