KML_FLASHEMBED_PROCESS_SCRIPT_CALLS
 

Planning for the New GoGrid Feature – MyGSIs

April 22nd, 2009 by - 12,285 views

If you are a GoGrid customer, you recently received the April GoGrid newsletter that talks about one of the exciting new features coming from GoGrid, specifically “Personal Server Images” which we call “MyGSIs.”

Definitions

First, it probably would be helpful to understand some of the new & current terms we are using:

  • Base GoGrid Server Image is a standard GoGrid server images (e.g., Windows or Linux) that is created by GoGrid and currently available within the GoGrid system for deploying servers
    64x64-ws 64x64-db
  • Image Sandbox is a development environment where you can create a “MyGSI.” Server Images created within the Sandbox are unique in that they have a predefined RAM allocation and hard drive sizes and are only used temporarily to create a Server Image. Images created within the Sandbox contain any and all custom code or applications that you choose to put on them.
    64x64-sandbox-ws64x64-sandbox-db
  • MyGSIs are based on either a Base GoGrid Server Image or other MyGSIs but where you have the ability to personally configure, customize and save it to your liking from the Image Sandbox environment. They are used to spawn or instantiate new custom servers within GoGrid, with all your customizations, code and applications present.
    64x64-serverimage

Think of MyGSIs as originals that can be used to make copies, much the way you would have a Golden Master CD and you would make copies or clones based off of that Golden Master.

Usage

From a high level, creating a Sandbox Image can be done in 3 easy steps:

  1. Add an Image Sandbox;
  2. Install, Configure & Prepare (bundling scripts) your Image Sandbox for imaging;
  3. Save your Server Image from your Image Sandbox to your personal Images repository on Cloud Storage.

With a bit more granularity, it is a way for you to build and save a custom and personal server image. MyGSIs are created like this:

  1. Add an Image Sandbox (an Image Sandbox has a server “development environment” of 2 GB of RAM and 20 GB of storage);
  2. Remotely log in to the Server you are creating within the Image Sandbox via SSH or RDC (just as you would with a normal Cloud Server on GoGrid) and upload your applications or code. Configure the server to your exact specifications and lastly run “bundling scripts” which we provide to prepare the Image Sandbox for imaging;
  3. Save new, MyGSIs from your Image Sandbox to GoGrid Cloud Storage. Note: you can store unlimited server images in Cloud Storage;
  4. Deploy new server instances using the saved MyGSI which are great for rapid horizontal scaling, changing RAM allocations, or re-imaging a server (see “High-level Use Cases” below)

The monthly price to store a MyGSI relates to the amount of data in the contained within that Image. For example, if your Image contains 5 GB of data (your code and Operating System), you pay roughly $0.45/month. We compress the Image before it goes to Cloud Storage, so your 5 GB Server Image becomes roughly 3 GB, saving you some money in the process. GoGrid Cloud Storage costs $0.15/GB and the first 10 GB are free.

A Personal Server Image can be deployed as a new Server Instance by simply selecting the appropriate image from your repository, configuring the amount of RAM and the IP address of the new server instance, naming it and deploying. It really is that simple.

However, there are some IMPORTANT changes to workflow that you should start considering now.

Current Workflow (Pre-MyGSIs)

Right now, with GoGrid, a common workflow might consist of the following:

  1. Create Web/App Servers individually based on Base GoGrid Server Images
  2. Create DB Servers individually based on Base Server GoGrid Images
  3. Configure Web/App Servers individually
  4. Configure DB Server individually
  5. Create Load Balancer
  6. Tie it all together via a private network

While this is very straight forward and easy to do currently on GoGrid, if you are deploying and configuring large infrastructures, this process can become a bit time consuming and increases the chance of mis-configuration or human errors. We understand this and thus MyGSIs were born.

Future Workflow (MyGSIs)

It is VERY IMPORTANT to review this new workflow model. Following it will save you time and money as well as reduce the possibility for error.

In the current workflow (pre-MyGSIs), you focus on creating an infrastructure “live”, that is to say, configuring servers real-time that will be used in production. It’s a one-to-one setup, one server at a time. Once MyGSIs are rolled out, you can prototype and develop your server configurations within a specialized environment and create “masters” of which copies are spawned to production. This is more of a one-to-many setup where one “Golden Image” or “Golden Master” can be used to deploy multiple copies, all based on the original. This allows for better and faster scalability and much easier management of your infrastructure.

The new workflow would consist of:

  1. Create & Configure a Web/App within the Image Sandbox and save as a MyGSI
  2. Create & Configure a DB within the Image Sandbox and save as a MyGSI
  3. Deploy multiple instances of new GoGrid Web/App Servers based on the MyGSI
  4. Deploy multiple instances of new GoGrid DB Servers based on the MyGSI
  5. Create Load Balancer
  6. Tie it all together via a private network

Note: once you save your MyGSI, your Image Sandbox is “destroyed” and the Image is copied to Cloud Storage as a server image.

While this is the same amount of steps, if you are creating a redundant & high availability environment (see “How to Set Up High Availability Web Applications in the Cloud using GoGrid“), you actually eliminate some steps because you only have to configure your servers (the MyGSIs) once and then deploy multiple server instances based on that MyGSI with a couple of clicks. In the pre-MyGSI workflow, you would need additional steps for each server you configure and deploy.

So, the important thing to consider as you plan for this exciting release is that you will start your workflow within the Image Sandbox and then move from there. Unfortunately, there will not be a way with this first release to turn actively deployed GoGrid servers into Personal Server Image.

High-level Use Cases

There are several use cases that come to mind that will be simplified with the MyGSI release. While I will not go into the details, here are a few that people should consider:

  • True Horizontal Scaling
  • Changing & Optimizing RAM Allocations
  • Re-imaging Servers
  • Disaster Recovery & Failover Environments

I will explore some of these use cases in subsequent posts.

Lastly, for those of you ready to try out GoGrid, I encourage you to set up a GoGrid account NOW. You will be able to familiarize yourself with its workings, test out the different images and templates currently available and then design your strategy for when MyGSIs roll out.

Be sure to check the GoGrid blog for updates on this release which is expected to roll out at the end of July. I hope you are as excited as I am about this upcoming feature release!

The following two tabs change content below.

Michael Sheehan

Michael Sheehan, formerly the Technology Evangelist for GoGrid, is a recognized technology, social media, and cloud computing pundit and blogger who writes regularly about technology news and trends.

14 Responses to “Planning for the New GoGrid Feature – MyGSIs”

  1. Wagner Silva says:

    It looks nice!
    In fact, It's gonna be revolutionary!

    When it gonna happen?

  2. Emad says:

    Where is the image box? Is this feature available or a future release?

  3. randybias says:

    This is a future release. It's due in late June or early July.

  4. Jason says:

    What about editing or cloning images for redeploying? How can scripts be configured on images to work with SSL-enabled websites since SSL sites have to be tied to an IP address (assuming you want to use the same SSL port).

    Is there any consideration for a package-based deployment similar to Azure where even the server itself is a cloud.? I think you guys could get it up running quicker than Microsoft and better. So far you guys are better than EC2 for ease of use but why do you still need the BETA label. You guys have an SLA.

    • I'm looking into the answer re: your first question on IP and SSLs.

      Can you give me some details on the "package-based" deployment? What do you envision?

      Stay tuned regarding the Beta label. Yes, we do have an SLA that we have been fully honoring even though we are still in Beta.

      • Ryan Ornelas says:

        A High Availability package deployment would be nice. Two App servers, two database servers with load balance and cloud storage. I would think customers would be more opt to choose this pre-configured package with the built in redunancy as opposed in doing a single server deployment and working towards a high availablity design.

        For GoGrid, this would mean a instance jump on increased fees from the user as they are using 4 servers vs. 1 server and the user is configured for a failover state. A real win, win…

  5. Mark De Silva says:

    So there is no way for me to deploy my own customised base OS? Like say I want to rapidly deploy 10 SLAX (http://www.slax.org) machines on GoGrid. Slax is a liveCD running a stripped down Slackware linux.

    How can I run my own customized liveCDs or customized OS on GoGrid?

    • If you have a liveCD, could you not mount it within a GoGrid server? I have not personally tried that but it might be something interesting to test. You might not get great performance from it.

      Currently we don't have a way to deploy your own customized base OS but we are considering many different option for future development.

  6. Mark De Silva says:

    On VMWare I can just boot the liveCD iso as a CD image and it works straight off, how can I do similar with Xen on GoGrid?

    • What type of GoGrid server would you want to use this on? For Windows, you might try ultraISO to mount it, but I'm not sure how it would work. If you do try it, please let me know how it goes.

  7. Jared Dobson says:

    Okay really you guys are awesome. Really. I love GoGrid.

Leave a reply