GoGrid Blog

Real on-demand servers. Really!

Archive for February, 2008

New www.GoGrid.com Site Launched

Written by Michael Sheehan on Feb 22nd, 2008 | Filed under: General, GoGrid, News

Yesterday we refreshed the GoGrid product site, located at http://www.GoGrid.com .

new_gogrid_site

The new site contains a variety of new as well as updated product and service information including:

Sign up now for the Private Beta and be sure to check back soon for more announcements!


One of the Better “Cloud Computing” Posts that I have Read

Written by Michael Sheehan on Feb 20th, 2008 | Filed under: General

Alex_Iskold_graphic As I strive to better understand these new emerging technologies such as “cloud computing”, I frequently find myself reading various blog articles, many professing to be the end-all definition related to the topic. It is not very often that I actually come across an article that is informative, understandable and compelling enough to warrant note.

The post by Alex Iskold is a perfect example of one of these excellent articles. An important definition from his post:

The idea behind cloud computing is simple - scale your application by deploying it on a large grid of commodity hardware boxes. Each box has exactly the same system installed and behaves like all other boxes. The load balancer forwards a request to any one box and it is processed in a stateless manner - meaning the request is followed by an immediate response and no state is held by the system. The beauty of the cloud is in its scalability - you scale by simply adding more boxes.

Some may say that this article is a bit “heavy” on Amazon as the “killer service.” But I believe his point is that Amazon has put a lot of weight behind and person-hours into their products and they will be hard to duplicate, at least for players developing “cloud” products. But some of his general comments hold true regardless of the product: “Free from the need to solve the scalability problems, startups are able to focus on the specific problems their product or service is trying to solve.”

I recommend this as a good read on what Cloud Computing is, a la Amazon, and for people really trying to make heads or tails of grid, utility, cloud and distributed computing.

In closing, Alex’s line “…we are witnessing a fundamental shift in our ability to compute and this is just the beginning…” truly sums it up for all players and customers in this market. I echo that whole heartedly.


Remember, Amazon’s S3 is still a “Beta”

Written by Michael Sheehan on Feb 17th, 2008 | Filed under: General, GoGrid

Amazon Web ServicesI guess I could have jumped on the bandwagon and started criticizing Amazon for the issues that it had on Friday with their S3 offering. But part of me wanted to see how it all shook out, what the cause was, what would change, if anything, and how their customers would take it. According to the blogosphere, the Amazon service was down for over 2 hours (which seems to be accurate after reading through this forum thread on the Amazon developer forum).

This official Amazon AWS response clip from the forum seems to explain the outage:

Early this morning, at 3:30am PST, we started seeing elevated levels of authenticated requests from multiple users in one of our locations. While we carefully monitor our overall request volumes and these remained within normal ranges, we had not been monitoring the proportion of authenticated requests. Importantly, these cryptographic requests consume more resources per call than other request types.

Shortly before 4:00am PST, we began to see several other users significantly increase their volume of authenticated calls. The last of these pushed the authentication service over its maximum capacity before we could complete putting new capacity in place. In addition to processing authenticated requests, the authentication service also performs account validation on every request Amazon S3 handles. This caused Amazon S3 to be unable to process any requests in that location, beginning at 4:31am PST. By 6:48am PST, we had moved enough capacity online to resolve the issue.

As we said earlier today, though we’re proud of our uptime track record over the past two years with this service, any amount of downtime is unacceptable. As part of the post mortem for this event, we have identified a set of short-term actions as well as longer term improvements. We are taking immediate action on the following: (a) improving our monitoring of the proportion of authenticated requests; (b) further increasing our authentication service capacity; and (c) adding additional defensive measures around the authenticated calls. Additionally, we’ve begun work on a service health dashboard, and expect to release that shortly.

Sincerely,
The Amazon Web Services Team

What this boils down to was that is seems like Amazon was hit by an intentional (or not?) DoS (Denial of Service) attack using these authentication protocols. Good for Amazon for coming right out (albeit only on the developer forum initially) and admitting the issue as well as listing out some actionable solutions. This is an important move, by them, with the admission of mistakes.

I have mentioned this before, it’s tough being a hosting provider (as Joyent and Twitter experienced recently). But then I remember that we (all of the ISPs and hosting providers) who are working on providing grid/virtualized/cloud computing, or any new product offering, are breaking new ground. That means, like any new or innovative product, that there will be issues, bugs, downtime and other problems. That is the price you pay with emerging technology. Software is developed by humans, to err is human, so therefore, applying simple high school logic, software will have errors.

S3 is an incredible product and might be a good match for many companies. Just remember to have a back-up strategy. Amazon’s core competency is selling books and other products, not necessarily hosting. They are making a good run at it though. My thought is that S3 spun out of a glut of extra computing power and resources being available during non-holiday times. If so, what a great idea of off loading extra server capacity during non-holiday shopping crunch times. But again, hosting is not their core business.

So I ask you, the reader and customer/potential customer of any new, bleeding edge technology, to be forgiving when things don’t work as expected. Being an early adopter of technology means that you accept the risks associated with that. Your rewards may be great (new product & better pricing), but also the potential for “disaster” is also much higher compared to more traditional routes.Some points to make sure you don’t get caught by surprise:

  • Develop a backup solution
  • Use your backup solutions regularly
  • Understand your SLA (Service Level Agreement)
  • Look for ways to set up redundancy. Set up a High Availability Network.
  • If you can afford it, diversify your network; set up various mirrored POPs (points of presence) with different service providers
  • Develop a contingency plan: if your network goes down, can you:
    • easily inform your clients
    • get a temporary site up quickly
    • get timely and informative information from your ISP
  • Put it all down in writing
  • Do a disaster recovery dry run to work out the kinks
  • Do cross-training of core skills

The most important suggestion I can make is one that Douglas Adams articulated so clearly in his book, The Hitchhiker’s Guide to the Glaxay. The two words “Don’t Panic” are boldly inscribed on the cover of The Guide. You might want to follow the same lead and put those word on your IT strategy and contingency plans. And be sure to do some research on a variety hosting providers. They can make or break your business!


Squashing Virtualization Bugs - The Dogbert Way

Written by Michael Sheehan on Feb 15th, 2008 | Filed under: General, GoGrid

The Dilbert cartoon continues its virtualization theme and the topic is a new “creative” way to ensure that you don’t have any bugs!

dilbert2008073345215_sm

Obviously the GoGrid team doesn’t subscribe to this methodology, only to the cartoon.


Virtualization "Solutions" as defined by Dogbert

Written by Michael Sheehan on Feb 14th, 2008 | Filed under: General

Scott Adams continues his Virtualization story, now with Dogbert as the virtualization “consultant.”

dilbert2008916810214_sm

I’m glad the monkeys aren’t on the GoGrid team!


Build a Killer Web App in 45 Minutes…Then What?

Written by Michael Sheehan on Feb 12th, 2008 | Filed under: General, GoGrid

techcrunch_logo Today I read an article on TechCrunch which was positioned as a poll eliciting responses on a generalized area of development. The framework, as outlined by Erick Schonfeld, was this: “come up with a killer Web app in 45 minutes” for the Future of Web Apps conference in Miami. I guess the goal is to actually build the app within the timeframe specified. The categories for the poll were:

  • A Webwide Reputation System
  • Cloud Computing
  • Social Finance
  • Webmail - An Alternative to Gmail
  • Search
  • Life Streaming
  • Video Messaging/Publishing

Below are the stats taken @ 2:10pm on 2/12/08 from the TechCrunch site.

tc_vote_results

The thing that really grabbed me about this TechCrunch poll was not what was in the original post, but the 50+ comments that followed, many with several other ideas on the “killer app.” In fact, yours truly tried to jump into the comment thread as well. I figured that I should keep my comments short, but still the topic and inferred topics kept me thinking and spawned some other ones in the process.

Many other ideas

The fact that so many readers had so many ideas leads me to believe that this is truly a loaded topic. (Well, isn’t that what web development is all about and why we have so many new services springing up?) Regardless, here are some of the other “killer apps” that caught my attention and deserve a bit more press:

  • Real-time video conferencing
  • Online web-app creator (multiple comments about this)
  • App that creates Apps
  • Time-Waste monitor that pulls in all social network tools and finds out how much time you are distracted using social networking tools (I really DON’T need to know that)
  • Workflow Application
  • News personalization, localization and syndication
  • Mini-apps to “make your offline lives easier”
  • Video equivalent of RSS widget
  • Single ID system

I obviously didn’t include some of the tongue-in-cheek ideas but the ones above have some viability, in my opinion. The one that caught my eye, though, was that of “Cloud Computing” since I had recently posted some thoughts on that topic as well. But part of my comment to Erick was to get some clarification around that. Was it related to integrations with other “cloud” or “virtualized” hosting solutions? That is what I asked.

Erick’s response:

“It is open ended, but I was thinking more along the lines of what’s the next step after S3/EC2/etc. We have Web-based computation, storage, querying, and databases. What’s next. Could be built on top of Amazon or standalone.”

My Answer to “…What’s Next?”

My brain churned on this idea and then fractured in a couple of directions.

First, hooking in and/or building on top of clustered, cloud or virtualized computing definitely makes sense to me. That is part of the reason why GoGrid was developed, to provide rapidly scalable alternatives to standardized hosting to host these apps. As I have said before, integration will be key, not only to Web 3.0, but also to the success of these mini-apps, mashups, and new companies developing these products and services in general. I was encouraged to see that “Cloud Computing” was receiving a large number of votes.

The other direction my thoughts took was trying to figure what to do with these “killer apps” once they had been developed. Developing the application in 45 minutes is definitely an achievement in itself. Getting them “out to market” in an hour, is record-worthy!

I would almost extend this challenge to just that: build and deploy a killer app in an hour. The details: build the app in 45 minutes and then get it on the Internet in the remaining 15. GoGrid could do the later part of the challenge without “breaking a sweat.” As a side note, I have been able to deploy 2 servers (1 web/application server and 1 database server) in under 10 minutes combined, from server creation to RDC-ing/SSH-ing in to those servers, without any human intervention (e.g., a sysadmin) aside from my own.

My comment on the TechCrunch article of “build it and they will come” stills stands. Yes, you can build in 45 minutes, but NO, they won’t come if you don’t have a place to put it easily and quickly.

2008 will be all about getting your product developed AND out to market ahead of your competitors. Has that every really changed? Just the tools to do so have. Just be sure that when you hit that final stretch, you have planned on a sprint and your customers have a place to go to watch you finish.


Dilbert Does Virtualization

Written by Michael Sheehan on Feb 12th, 2008 | Filed under: General, GoGrid

From today’s Dilbert cartoon (published on 2/12/08):

dilbert20183362080212

Will Dilbert be able to save the day? Our software engineers already have! Obviously, Dilbert hasn’t heard of GoGrid where you can deploy virtualized servers within minutes! I sure hope that Scott Adams builds this theme out. It might prove to be interesting.


Understanding “Clouded” Computing Terms (revised)

Written by Michael Sheehan on Feb 5th, 2008 | Filed under: Cloud Computing, Customer, FAQs, General, GoGrid, ServePath, Templates

Author’s Note: This post was revised on 6/23/08. The nature of computing is under going a revolution and rather than fully remove this post, I elected to refresh it so as to provide a better framework for readers.

There seems to be a lot of debate around different types of Computing Terms being used to describe server and hosting solutions. In fact, in the past, the blogosphere seemed to throw around terms like Grid, Cloud, Utility, Distributed and Cluster computing almost interchangeably. But, as of this revision, one term is rising to the top: Cloud Computing. (See recent trend analysis here.)

The definitions vary from source to source, author to author. While I cannot (and will not) attempt to articulate the end-all definition, I can write about how I view these terms and how they apply to the products that we offer, namely GoGrid. But before I dive into MY interpretation, providing what others view on these subjects may shed some light on our framework.

Terms as defined by Wikipedia

wikipedia_logo_sm Many people view Wikipedia as an authoritative source of information but that is always subject to debate. Wikipedia defines some of these terms as follows (not the end-all definitions though) and I have taken some liberties of removing non-relevant information for argument’s sake:

  • Grid Computing - http://en.wikipedia.org/wiki/Grid_computing
    • Multiple independent computing clusters which act like a “grid” because they are composed of resource nodes not located within a single administrative domain. (formal)
    • Offering online computation or storage as a metered commercial service, known as utility computing, computing on demand, or cloud computing.
    • The creation of a “virtual supercomputer” by using spare computing resources within an organization.
  • Cloud Computing - http://en.wikipedia.org/wiki/Cloud_computing
    • Cloud computing is a computing paradigm shift where computing is moved away from personal computers or an individual application server to a “cloud” of computers. Users of the cloud only need to be concerned with the computing service being asked for, as the underlying details of how it is achieved are hidden. This method of distributed computing is done through pooling all computer resources together and being managed by software rather than a human.
    • The services being requested of a cloud are not limited to using web applications, but can also be IT management tasks such as requesting of systems, a software stack or a specific web appliance.
  • Utility Computing - http://en.wikipedia.org/wiki/Utility_computing :
    • Conventional Internet hosting services have the capability to quickly arrange for the rental of individual servers, for example to provision a bank of web servers to accommodate a sudden surge in traffic to a web site.
    • “Utility computing” usually envisions some form of virtualization so that the amount of storage or computing power available is considerably larger than that of a single time-sharing computer. Multiple servers are used on the “back end” to make this possible. These might be a dedicated computer cluster specifically built for the purpose of being rented out, or even an under-utilized supercomputer. The technique of running a single calculation on multiple computers is known as distributed computing.
  • Distributed Computing - http://en.wikipedia.org/wiki/Distributed_computing
    • A method of computer processing in which different parts of a program are run simultaneously on two or more computers that are communicating with each other over a network. Distributed computing is a type of segmented or parallel computing, but the latter term is most commonly used to refer to processing in which different parts of a program run simultaneously on two or more processors that are part of the same computer. While both types of processing require that a program be segmented—divided into sections that can run simultaneously, distributed computing also requires that the division of the program take into account the different environments on which the different sections of the program will be running. For example, two computers are likely to have different file systems and different hardware components.

Upon initial read, Wikipedia seems to be fairly close to my definitions but still not exact. Of note, “metered commercial service” rings true within both the Grid Computing and Cloud Computing definitions. However, it also seems to spill into the Utility Computing mantra. As a side note, our newest product, GoGrid, utilizes a metered service similar to how an energy company would charge you for electricity or gas, basing charges simply on what you use.

Traditional “Clouds” vs. Modern “Clouds”

Grid Computing seems to also have some origins in the idea of harnessing multiple computer resources to gain a more powerful source of shared power and computational resources. folding@home However, I would like to suggest that this definition is showing some age and, in my opinion, falls more under Distributed Computing. When I think about Distributed Computing, SETI@Home or Folding@Home come to mind, which is definitely very different from where things are moving now. So, let’s put Distributed Computing aside for this discussion.

Traditionally, the “cloud” was loosely defined as anything outside of a controlled network. When we, as Hosting Providers, discussed “the cloud” in the past with our customers, it was about the nebulous network that is known as the Internet. The cloud is loosely managed and traditionally unreliable. To that end, we do not refer to anything within our control or our networks as “the cloud” as it is too vague and un-manageable. It is outside of our Service Level Agreement and nothing that we can guarantee or deem reliable. However, once traffic enters our network, we manage it. That is where the modern interpretation of the “Cloud” comes into play. Products like Amazon’s EC2 and ServePath’s GoGrid have internalized Cloud Computing by building a reliable infrastructure around it. While the Internet remains as a Cloud of coupled servers and networks, GoGrid, for example, extends this by creating an infrastructure that offers “control in the cloud.”

Originally, I wrote that “Cloud Computing does not necessarily equate to reliable service.” This, obviously, is a contradiction in itself if you apply both the historic and modern definitions at the same time. If one views the Internet as “Cloud Computing,” there are obvious weaknesses within this vast network. With the Internet, you are at the whim of various service providers, Internet backbones and routers managing the traffic within the Cloud. But if one applies the more modern interpretations of this, Cloud Computing now offers robust infrastructure, features and services that were previously unavailable.

Tying the Grid to the Cloud

In order to provide “modern” Cloud Computing, a provider must have some sort of an organized and controlled network infrastructure and topology. What any particular service provider chooses is up to them. For GoGrid, we elected to build our Cloud offering on top of a Grid of servers as well as utilize a Utility-based billing model to only charge the end-user for what they use within our “Cloud.” The end-result is a tightly controlled Grid infrastructure that provides a Cloud Computing experience, more so than most if not all of the other hosting providers out there.

However, what is important here is looking at Cloud, Grid and/or Utility Computing from the perspective of a Hosting Provider. Definitely this is where things get contentious. As I mentioned before, GoGrid offers a traditional utility billing process where you simply pay for what you uses. This breaks from many “old school” hosting billing processes of paying up-front for server(s) and bandwidth, month or year-long contracts and then paying for overages. Does this mean that it is Utility Computing? Not really. One has to dig into this a bit more. GoGrid uses a network of similarly-configured servers bound together by management and administrative servers and virtualization tools to provide a very unique Cloud offering that is distinct from traditional hosting.

Dedicated, Managed and Cloud Servers offered by ServePath guarantee hardware resources like RAM and Load Balancing and full root and administrator access but these paths rapidly diverge at this point. Once one steps into the virtualization arena, or dare I say “the cloud,” new features are available including rapid deployments, cloning, snapshots, fault tolerance, and on-demand scalability.

ServePath chose Grid Computing to power GoGrid and provide the flexibility, scalability and robust infrastructure as the fundamental foundation of an award-winning Cloud Infrastructure product, GoGrid. The end results is a Cloud Hosting Provider offering that delivers better environmental properties, faster vertical and horizontal scalability and ultimately better fits for cost, performance and energy-concerned customers.


TechCrunch: “Twitter and Joyent Split Amidst Downtime Travails”

Written by Michael Sheehan on Feb 1st, 2008 | Filed under: General, ServePath

Sometimes it is really difficult being a Hosting Provider.

As Mark Hendrickson points out in this recent article in TechCrunch, Twitter has stopped hosting with Joyent. After “frequent outage problems that have plagued Twitter,” it seems that Twitter has elected to host somewhere else. While I’m not sure if that is a result of issues at Joyent, Hosting always seems to be the “scapegoat” in situations like these.

twitter As the TechCrunch article states, “both companies were showing strong support for each other on their respective blogs,” which I feel is rare in this age where people jump ship at the smallest issue. But the two companies still seem to be committed to each other, even if in a lesser degree:

“Both wrote posts (here and here) describing how they were working together to prepare for the Super Bowl this coming Sunday.”

Twitter’s main blog was updated today to state that they had chosen NTT America Enterprise Hosting Services as their new hosting provider.

I use Twitter frequently to relay personal and professional information daily (tweets coming from this and the ServePath blog when a new post is delivered, for example), as well as notifying contacts of my whereabouts when I’m at networking events, and will continue to use it. Twitter is an excellent service, imitated by many but still remaining a true leader within the space. (GoGrid is on Twitter here. And ServePath is on Twitter here.)

Anyway, best of luck to Twitter with their new hosting choice. And to Joyent, I just wanted to say that “I feel your pain.” And I commend your efforts at “standing ready with excess free infrastructure,” especially for the crazy amount of Twitter activity expected for the Super Bowl!