Lori MacVittie’s posterous

Random Postings on Application Delivery, Development, and SOA 

If Kernighan were a network architect he would say...

My brother sent over a question to Don and I on a coding problem he's having. Yes, most of my family members are geeks, thank you. You can probably blame that on my COBOL-coding mother.

In any case, his signature always contains this lovely quote from Brian Kernighan:

Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.

That got me thinking about network topology and configuration and application delivery. Yes, most things get me thinking about that, thank you. You can probably blame ... well, no one. That's just the way I am.

But this tongue-in-cheek humor from Kernighan is just as applicable to network and application delivery architecture. If he were a network architect he'd probably use "troubleshooting" instead of "debugging" and "configuring" instead of "writing the code", but the core of the concept would remain the same: something is wrong and we have to find out what it is and it's really, really hard. I'm pretty sure this is where the idea of outsmarting yourself came from.

 

 

Read the rest at DevCentral

 

Comments [0]

Bursting the Cloud

The cloud computing craze is leading to some interesting new terms. Cloudware and cloudbursting are two terms I particularly like for their ability to describe specific computing models based on cloud computing. Today we're going to look at cloudbursting, which is basically a new twist on an old concept.

Cloudbursting appears to be to marry the traditional safe enterprise computing model with cloud computing; in essence, bursting into the cloud when necessary or using the cloud when additional compute resources are required temporarily. Jeff at Amazon Web Services Blog talks about the inception of this term as applied to the latter and describes it in his blog post as a method used by Thomas Brox Røst to regenerate a number of dynamic pages in 5 hours rather than the 7 hours that would be required if he had attempted such a feat internally. His approach is further described on The High Scalability Blog.

Cloudbursting can also be used to shoulder the burden of some of an application's processing. For example, basic application functionality could be provided from within the cloud while more critical (e.g. revenue-generating) applications continue to be served from within the controlled enterprise data center. This assumes that only a portion of consumers will actually be interacting with the data-driven side of a web site (customer management, process visibility, etc...) while the greater portion will simply be browsing around on the non-interactive, as it were, side of the site.

Bursting has traditionally been applied to resource allocation and automated provisioning/de-provisioning of resources, historically focused on bandwidth. Today, in the cloud, it is being applied to resources such as servers, application servers, application delivery systems, and other infrastructure required to provide on-demand computing environments that expand and contract as necessary, without manual intervention.

 

 

Read the rest at DevCentral

 

Comments [0]

How AJAX can make a more agile enterprise

In general, we talk a lot about the benefits of SOA in terms of agility, aligning IT with the business, and risk mitigation. Then we talk about WOA (web oriented architecture) separately from SOA (service oriented architecture) but go on to discuss how the two architectures can be blended to create a giant application architecture milkshake that not only tastes good, but looks good.

AJAX (Asynchronous JavaScript and XML) gets lumped under the umbrella of "Web 2.0" technologies. It's neither WOA nor SOA, being capable of participating in both architectural models easily. Some might argue that AJAX, being bound to the browser and therefore the web, is WOA. But WOA and SOA are both architectural models, and AJAX can participate in both - it is neither one or the other.

It's seen as a tool; a means to an end, rather than as an enabling facet of either architectural model. It's seen as a mechanism for building interactive and more responsive user interfaces, as a cool tool to implement interesting tricks in the browser, and as yet another cross-browser incompatible scripting technology that makes developer's lives miserable.

 

Read the rest at DevCentral

 

 

 

 

Comments [0]

Dear Data Center Guy

You walked past me again today without stopping. I remember when you used to stop and admire my glowing red ball every day. But that was back when I was brand new and you thought I was the center of your data center.

I heard you talking to some friends about looking for a web acceleration solution yesterday. You were going to a meeting about it later that afternoon and you were so excited it was almost like old times, until you pointed me out on the way by and said, "Oh yeah, there's our load balancer."

It was then that I knew, knew in my backplane that you weren't paying attention to me. We just never talk anymore, do we? I am so much more than just a load-balancer, but you'd rather talk to vendors and go out to lunch with them instead of hanging out with me.

I can accelerate web applications like nobody's business, if you just give me the chance. Remember? I have a modular core that can add functionality like web application acceleration, advanced client authentication, IPv6, and layer 7 rate shaping with software modules. I have extra cycles, I can do it, but you wouldn't know that because you haven't touched my GUI in months.

 

 

Read the rest at DevCentral

 

Comments [0]

Google GMail: The Lawn Darts of the Internet

This blog on the inadvertent sharing of Google docs led to an intense micro-conversation in the comments regarding the inadvertent sharing of e-mail. sensitive financial data, and a wealth of other private data that remained, well, not so private through that [cue scary music] deadly combination that makes security folks race for their torches and pitchforks: Google Apps and Gmail.

[pause for laughter on my part. I can't say that without a straight face]  

Here's part of the "issue" "discovered" by the author:

Closer examination of the spreadsheets, along with some online digging, indicated that a CNHI employee had most likely intended to share the reports and spreadsheets with an employee named Deirdre Gallagher. Instead, he or she typed in my Gmail address and handed me the keys to a chunk of CNHI’s Web kingdom, including the detailed financial terms for scores of Web advertising deals. [emphasis added]

Many comments indicated deep displeasure with Google's e-mail functionality in terms of how it handles e-mail addresses. Other comments just seemed to gripe about Google Apps and its integration in general. "Dan" brought sanity to a conversation comprised primarily of technology finger-pointing, much of which blamed Google for people fat-fingering e-mail addresses, when he said: "The misuse of the technology can hardly be the fault of the providers."

Thank you Dan, whoever you are. How insightful. How true. And how sad that most people won't - and don't - see it that way.

Read the rest at DevCentral

 

Comments [0]

Caveat Emptor: Be sure to align your goals for cloud computing with provider models

Elasticity (adj) the ability of a cloud computing environment to expand or contract automatically on-demand according to real-time computing needs

One of the promises of an on-demand cloud computing environment (that's redundant, I think) is the ability to burst resources. Much in the same way that ISPs have long offered contracts that include the ability of the organization to exceed its allotted bandwidth for a fee, it is expected that cloud computing providers offer a mechanism for "bursting resources" that allows an organization to exceed its agreed upon resources for a fee, based on any number of factors such as bandwidth, requests per second, server resources consumed, etc...

Surprisingly, some of the providers being grouped under the "cloud computing provider" moniker do not offer the ability to burst resources. Seriously. I was reading through "Who provides what in the cloud" over at InfoWorld and came across this description of a cloud computing provider:

Terremark Worldwide: Resource pool for on-demand servers
The Terremark Enterprise Cloud is designed to give datacenters an Internet-optimized computing infrastructure. Enterprise Cloud clients buy a dedicated resource pool of processing, memory, storage, and networking, from which they can deploy servers on demand. A Web portal allows server to be dynamically provisioned from a pre-allocated pool of dedicated computer resources. Terremark promises that its cloud servers behave exactly like their physical counterparts, allowing applications to be run without modification.

That sounds more like managed hosted services than cloud computing. There's no indication whether you can "burst" resources if you consume all the dedicated resources you have purchased, but the requirement to "buy a dedicated resource pool" pretty much seems to say that you can burst within your resource pool, but you can't burst beyond that limit.

 

 

Read the rest at DevCentral

Comments [0]

Packets, schmackets. What about the apps?

As I was reading the Internet this morning I happened across an article with "Tips for Optimizing Your WAN (Wide Area Network)" and I thought, "Huh. That's pretty ... generic."  

While the article uses SAP applications as an example, it speaks in terms of generalities. Selective ACKs, quality of service, data reduction techniques, and HTTP compression.

That's when I said, "Whoop de doo."

Really, these techniques have nothing to do with SAP and applications and everything to do with packets. Every WAN and acceleration solution can do this stuff. I'm not really picking on the author of this article, per se. It's a common practice to "name drop" applications when you're describing WAN optimization and acceleration because, well, it exists to deliver applications. Without applications, a WAN is about as useful as HD cable service without a television. So why do we talk so much about packets and bandwidth instead of the important stuff, the applications?

 

 

Read the rest at DevCentral

 

Comments [0]

You're Doing It Wrong

Don and I were discussing security as a service and, as usual, he spouted off some wisdom in the form of an analogy that was too good to not to share.

When you're walking down the street with your entourage and an angry, I mean really angry, man steps out in front of you with a lead pipe where should your bodyguard be?

Yeah, that was my thought, too. He should be in front of me to stop the threat before I have to react. Even though the threat may not hit me if the bodyguard is beside me because he manages to reach out and grab the lead pipe before it lands a blow, I've probably expended unnecessary resources avoiding or flinching or cringing or screaming like a school girl at the action. Resources I didn't need to waste. I might even be (gasp) sweating from the exertion. And what a terrible faux pas for someone who can afford an entourage and a bodyguard to sweat in public.

Basically, if I get hit by that lead pipe or I expend effort avoiding being hit or even momentarily look like something out of an Edvard Munch painting, my bodyguard is fired because he wasn't doing his job. He's doing it wrong.

 

 

Read the rest at DevCentral

 

Comments [0]

The Best Post on Latency You Will Ever Read

No, it's not this one. It's not even mine. It's this one on High Scalability written by Todd Hoff. Not only does he explain latency and its sources, but its costs. Then he goes on to offer a plethora of ways to reduce latency.

A couple of suggestions he offers are:

Use a TCP Offload Engine (TOE). TOE tech offloads the TCP/IP stack from the main CPU and puts it on the network controller. This means network adapters can respond faster which means faster end-to-end communication. Network adapters respond faster because bus wait time is reduced as the number of transactions across the system I/O bus and memory bus are reduced.

Make TCP Faster. FastTCP, for example, tweaks TCP to provide smoother and faster data delivery.

I'd also suggest combining his suggestions of load-balancing and caching with TCP optimizations and connection management optimization by deploying an application delivery controller instead of a legacy load-balancer.

 

Read the rest at DevCentral

 

 

 

 

Comments [0]

SOA What?

David Bressler of Progress Software, who acquired SOA vendor Actional in January 2006 wrote a very thought provoking post on marketing that really ended up being a post about SOA and where Progress fits into the "SOA continuum". He raises some questions, and problems, with SOA and product categories that ties in nicely with an excellent blog post on the subject Todd Biske wrote a while back containing some concepts that he presented at Burton's Catalyst 2006.

One of the confusing things about any market is the wide variety of names used to describe the products and solutions that fit into the wider technology landscape. There are a distinct set of SOA product categories, or SOA What as David calls them. The problem is that there is a lot of overlap in responsibilities between those categories. For example, SOA gateways and SOA management both provide a similar set of proxy-focused capabilities: content based routing, transformation, even service-enablement, but SOA gateways rarely include the robust monitoring and alerting side of management, choosing instead to integrate with existing network management systems (NMS) like HP OpenView or IBM's Tivoli instead.

Read the rest at DevCentral

 

 

Comments [0]