IT infrastructure sucks.

It does. Most of my IT-focused colleagues would agree, even if they very much enjoy their job and the toys with which they get to play. The problem is that server infrastructure has just become too convoluted and interdependent, which means that failures can have catastrophic ripple effects, that security is extremely difficult to manage, and that application deployment can be excruciatingly slow. I am thoroughly convinced that the best way for most companies to run their IT applications, both internal and customer-facing, is on some sort of PaaS running in a public cloud.

Did I just say public? Yes, public. Because private clouds are a gutless compromise between security, cost and scalability and because private clouds allow for an unhealthy dose of laziness when it comes to security. Public clouds force developers to use encryption and authentication. Private clouds are just a different name for the same data center that’s been around for the last fifteen years. Choosing a hosted platform (not a hosted infrastructure) forces application developers to be flexible about underlying hardware and operating systems, yielding code that will run in a variety of environments instead of only one tightly-architected stack. That means freedom from vendors and easy bursting for excess capacity. It means EngineYard, Node.js, AppFog, Cloud Foundry, etc. (I’d personally avoid “raw” EC2 and similar solutions, simply because I’d much rather have someone else managing an operating system for me.)

Clouds over Echo Summit, South Lake Tahoe

When I first started developing web-based applications, they had to run them on a very carefully-managed cluster of BSD-UNIX machines. I had to take care of backups, failover, monitoring, patching, upgrades, hard disk failures, firewalls and network connectivity. The servers ran on-site because bandwidth was precious. Very few people had the expertise to troubleshoot the stack when things went wrong, and if I went too long without poking around on my own servers, I would sometimes forget how it was all cobbled together.

I eventually left the application development world and moved into technical sales, where I helped customers buy super-sophisticated Ethernet and Fibre Channel switches. When network virtualization companies started popping up I went to work for one of them, thinking that network virtualization was a great idea to abstract away a layer of the data center, making life simpler. After all, abstraction is a fundamental part of computer science, isn’t it?

I agree that server and network virtualization are necessary steps for enterprises to move into the cloud. But why should they move into the cloud in the first place? There’s a great infographic on Mashable that points out only 17% of companies move into the cloud for cost reasons. The real driver is often mobility – access to information from any device – or “elasticity” – the ability to start an application for a small number of users, and scale it up as the customer base grows.

The problem is that most enterprise applications don’t really support mobility. And even fewer support true elasticity. Scale-out requires a fundamental change in architecture from the legacy scale-up technology that IT departments have become so adept at managing. Scale-out often means a much looser coupling between data and logic. Scale-out relies on generic IP connectivity, not a finely-tuned Fibre Channel SAN with carefully-provisioned LUNs, and certainly not a statically-provisioned network laden with hundred-line ACLs and QoS maps.

On the other hand, a true cloud application makes some assumptions and some sacrifices, and at the end of the day it pulls a lot of logic out of the traditional IT department and into the application or platform’s code. Networking, for example: since a cloud is inherently shared, network access must be presumed to be insecure. Rather than relying on the IT department’s network team to “lock down” a server’s VLAN, ACL, firewall rules (which is a fool’s errand to begin with), a cloud application must expose itself to network requests only after appropriate authentication. No cleartext, unauthenticated database connections, for instance, which are still shockingly prevalent in enterprise-grade applications.

Image by Andrew McKaskill

There exist today a bewildering list of open-source and commercial packages upon which to build a “cloud” application. We’ve all heard of Ruby on Rails, OpenStack, Hadoop, HBase, Cassandra, Amazon EC2, EBS. As a developer, when I look at my options for hosting a web application I find it rather daunting. As an MBA, I realize that very few of those options really deliver on the promise of the cloud – the cloud that we see in billboard ads: “resilient, elastic, secure, cheap, mobile”.

Obviously it’s possible to build a great cloud application on top of EC2; from Netflix to Smugmug, there are many success stories. But Netflix and Smugmug, just like Google, Facebook, LinkedIn and many others, have no business outside the cloud. They have armies of developers who work tirelessly to capture the relevant bits of network, storage, backup and security in their own proprietary code. What about the rest of us? How would a regional transit authority, for example, build the back-end for an iPhone application that lets passengers ride the train with nothing more than their mobile phone? How about an ad agency working on a social media project with a quick turnaround? A developer in a dorm room with a great idea?

The recent meteoric rise in popularity of “apps” has been driven by the fact that they encapsulate just the right amount of “business logic” in a cheap and easily-consumed medium. The value of an application is in its customer-facing logic – most of the back-end logic is irrelevant (as long as it works). VLAN tagging, LUN provisioning, RAID configuration, operating system patches and host security are just there to support the application logic, right? Somehow we have become so focused on the infrastructure that the real objective is lost in the confusion.

Infrastructure shouldn’t be taken for granted, but it also shouldn’t dictate how an application is designed, developed and deployed. With offerings today like those from Engine YardJoyent and all the others, there’s very little in between a great idea and paying customers. As a developer, a sales guy and a marketer, I’d say that’s a pretty great thing.

Posted in Cloud | Tagged , , , , , | Leave a comment

Letting the rust collect…

Well, it’s been a long time since my last post. Over a year, in fact! I have been flying, but I haven’t made the time to write about it.

Since earning my glider rating I’ve made a few flights up at Tahoe in a Grob 103, which was an incredible thrill – the Grob feels like a Ferrari compared to the Ford-Pinto-esque Schweizer 2-32 I used in my glider training. But outside of that, I’ve only been up in a C-172 for the occasional Bay Tour.

While I think it’s absolutely true that learning to fly gliders really helps to hone your skills in a powered airplane, I’ve struggled to return to flying powered airplanes as if they actually had an engine. My first few landings, for example, had a terrifyingly steep glide slope with a perfectly-executed forward slip right before the threshold. I learned this in a glider, where sudden downdrafts encourage glider pilots to carry extra altitude for as long as possible. Needless to say, the CFI in the right seat quickly reminded me that there’s a perfectly good engine in the airplane we were flying.

Salt flat south of the San Carlos, CA municipal airport.

I’ve also been aggressive on the rudder pedals, which many C-172 pilots sometimes forget even exist! The induced drag on the long, slender wings of a glider forces pilots to use a lot of rudder input for coordinated turns; in a Cessna 172, with a shallow-enough bank angle, there can be turns where no rudder input is even required!

My resolution for the new year is to knock off some rust; a few cross-country flights to a new airport, an Instrument Proficiency Check, and maybe even some good old-fashioned reading of the AIM.

Posted in Aviation | Leave a comment

Added a glider rating!

Today I passed my oral and practical exam to add a glider rating to my Private Pilot license. I’d like to thank all the fine people at Turf Soaring near Phoenix, Arizona. Especially Dan Webber and Carl Baxter, my friendly CFIs.

Soaring at 9,000 AGL in an SGS-32

Learning to fly gliders has been a very rewarding experience. I decided to pursue the rating because I’ve heard from many pilots that it would refine my stick and rudder skills – I found this to be absolutely true and I’d recommend every pilot take at least a few flights in a glider, especially after doing Instrument training if you’ve used the autopilot a lot. I find that I’m much more confident with my landings these days thanks to the planning and constant glidepath assessment that I perform in a glider. Having an engine and the option for a go-around feels like a luxury these days!

But beyond the skills added to my repertoire I also learned about a whole new sport and the thrill of finding and soaring in thermals. During my glider training I had a flight that lasted 1.5 hours, during which my CFI helped me find thermals and ride them up to almost 10,000 MSL, just under the cloud base. I can’t describe the joy of that experience but I do recommend that anyone fond of flying or sailing give it a try!

This winter I plan to learn mountain-wave soaring up at Lake Tahoe – I find it absolutely fascinating that a glider can make it past FL 350 without an engine, where a Cessna 172 can barely make it to 10,000 feet!

So Carl, Dan, and everyone else at Turf: thank you for a wonderful introduction to an incredible sport.

Posted in Aviation, Phoenix | Tagged , , | Leave a comment

Flying Adventure in the Grand Canyon

I recently took three classmates over the Grand Canyon and landed at 1Z1 on the North Rim. Because of our weight I could only take half a tank worth of fuel in each wing, so we stopped for fuel in Prescott on the way up as well as the way back home.

There was a misunderstanding on the meaning of “filler tab” and we ended up with full tanks, putting our airplane about 80 lbs over maximum take-off weight. It turns out some people call it a collar, others call it a filler neck. And the Cessna POH calls it a tab. Fortunately the FBO manager was very nice about unloading the extra fuel and not charging us for it.

Lifting off at maximum take-off weight at a density altitude of over 6,000 feet was painfully slow, as was the 100 foot-per-minute climb over rising terrain. Eventually we lumbered back on-course and turned North toward the Grand Canyon.

The views into the Canyon were spectacular and we even saw some rafts drifting down the Colorado River. Three miles from the runway we began a brisk descent, crossed mid-field and entered the downwind leg of the traffic pattern. The final approach was windy and bumpy, with strong updrafts followed by downdrafts of equal magnitude. My recent glider landings actually made me feel very comfortable with this approach, and we touched down gently at the beginning of the runway. With an upward slope and a strong headwind, stopping distance was magnificently short. I taxied to the least obtrusive spot I could find, shut down the engine and chocked the wheels with some rocks. My passengers and I hitched an ATV ride into the ranch, had some lunch and went for a hike. We then returned to the airplane and took off for an uneventful ride home.

I had read that the strip was “sealed gravel”, sloped upward, was surrounded on three sides by canyon walls, and that airplanes landing in the past had been damaged by bushes near the runway. These details really didn’t make me feel comfortable about landing there, yet of the three options for landing at the Grand Canyon, Bar-10 Ranch seemed like the most interesting – we wanted to go for a hike and didn’t want to deal with the crowds on the South Rim at KGCN.

Queue some Internet magic: for years I’ve been reading AOPA’s Flight Training magazine and I’ve always enjoyed Greg Brown’s Flying Carpet column. I contacted him via his blog since he wrote an article about flying into Bar 10; he called me up with some really great advice and he even put me in touch with some friends who had recently flown into Bar 10. Combined with some careful flight planning, the conversation with Greg really made me feel confident about the trip.

As pilots, we usually work hard to reduce risk and uncertainty every time we go flying. It’s much easier to work up the courage to make that cross-wind landing on a 2000′ island runway if you’ve had some helpful insight from a pilot with local knowledge. CFIs are always a good start, but with the reach of today’s social media tools why not expand your network beyond the local flying club? There was a good discussion on this very topic at last month’s AOPA summit; you can watch the replay here.

And for anyone curious about making that flight into the Grand Canyon, I recommend it wholeheartedly. Just be sure you’re comfortable with high-altitude operations, pay attention to density altitude and airplane loading, and you should probably stick to daytime VFR. I’ve also posted some pictures on my Flickr site.

Posted in Aviation, Phoenix | Tagged , , , | 2 Comments