GoGrid Blog

Real on-demand servers. Really!

Archive for the ‘FAQs’ Category

How to Install Drupal on a GoGrid Cloud Server in Less than 15 Minutes

Written by Bryan Levine on Aug 1st, 2008 | Filed under: FAQs, Features, General, GoGrid, How To

drupal_logo

NOTE: We are currently revising this article. Please bear with us as we modify the content below for improvement.

Content Management Systems (CMS’s) are all the rage these days because of their unique ability to manage and deliver so many different types of media. The ability to create community-based websites with permission-based access and the ability to dynamically deliver different media formats and content can allow users to easily develop websites, online communities or internal intranets in a matter of minutes. Drupal, winner of dozens of open-source application awards, is one of the best and most popular Content Management Systems available today. The basic installation allows users to create online blogs, forums, wikis, books and newsletters, all of which can be privately managed by individuals or groups depending on how you set up the available permissions levels.

Of course, Drupal installs are fully supported on GoGrid. So, before you jump in and install Drupal, be sure that you have a GoGrid account set up. If you simply want to give Drupal a try within a Cloud Hosting environment, then with the automatic $50 credit that users receive with a new GoGrid account, you could create a GoGrid server in a few minutes and then spend the rest of your time (after the 15 minutes of setup) getting to know Drupal. Once you get your Drupal install dialed in, you might want to keep it so GoGrid makes it easy with pay-as-you-go billing and volume pricing as well. If you just wanted to test out your install skills and simply play around with Drupal on GoGrid, you can delete your cloud server(s) and use GoGrid for something else. It’s your call.

To start, simply deploy a GoGrid server through the http://my.gogrid.com customer portal. In this example, we’ll use a RHEL 4.5-based LAMP stack since it has all the software packages needed for a Drupal installation already installed.

  1. Click on the “+” button once you’ve logged in, then select “Web/App Server”. Enter a friendly name for your server, such as “Drupal” or the domain name you’ll use once your server is configured. Enter a quick description of the server and select an IP address (our new IP suggest function will suggest one automatically for you). If you already have a GoGrid server instance that runs your website and you want to install Drupal in a sub-directory or sub-domain, skip down to the second half of this article.
  2. Next, select the operating system to run your Drupal installation on. Drupal can run on either Windows or Linux machines, but in this example we’ll use a Linux-based RHEL 4.5 server image. Please note that Drupal will not run on MSSQL, so using a Linux-based distribution is easier to manage out of the box. If you wish to run Drupal on a Windows server, you will have to manually install PHP 4 or 5 with MySQL or PostgreSQL to run alongside IIS.
  3. Select the amount of RAM dedicated to your server. Depending on the amount of traffic you’re expecting, you may want to allocate a good amount of RAM to your server. I’m choosing to go with a 1GB server.
  4. Select the server image you want to deploy. In this case, I’ll be using a LAMP stack. (For Windows servers, you may want to select a Windows 2003-based operating systems with IIS and MSSQL Express installed on the server image, then install PHP and MySQL or PostgreSQL.)
  5. Click on “Save” and your server will be deployed within a matter of minutes.
  6. Once your server’s light turns green, click on the new Drupal server and then select the “Passwords” button at the left. This will take you to the login information for your server.

Now that a server has been deployed, you can go ahead and connect to it remotely via SSH. If you work on a Windows machine, you can download the PuTTY client to connect to a Linux Server. If you’re on a Mac or a Linux machine, you can open your terminal and SSH directly to the IP address of the new GoGrid server.

  1. SSH to the new server and log in using the username and password credentials located on the “Passwords” page in the GoGrid portal. In my examples, I will use the IP address 208.113.93.249. Replace this IP address throughout this document with the IP of the server you just deployed:
    ssh 208.113.93.249

    Enter your username and password to log in.

  2. Navigate to the folder where you want the Drupal installation to live. In a Linux server, this is usually in /var/www/html. If you want to install this as a subdirectory of your website, create the directory and change directories to that folder (/var/www/html/your.subdirectory).
    cd /var/www/html
  3. Now you need to download the Drupal package from drupal.org:
    wget http://ftp.drupal.org/files/projects/drupal-6.3.tar.gz
  4. Once the package has finished installing, you’ll need to un-archive it:
    tar -xzf drupal-6.3.tar.gz
  5. A new directory called “drupal-6.3” should appear when you enter the command ls to show the contents of your current directory. Now we’ll need to create the MySQL database associated with Drupal. Enter the MySQL prompt and create a new database and user for the Drupal installation. Note that you should create more securely named username, password and databases than I have below. These are just examples:
    mysql -u drupaladmin -p
    Enter password:
    Welcome to the MySQL monitor. Commands end with ; or \g.
    Your MySQL connection id is 21
    Server version: 5.0.58 Source distribution
    Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
    mysql> CREATE DATABASE drupal;
    Query OK, 1 row affected (0.00 sec)
    mysql> GRANT ALL PRIVILEGES ON drupal.* TO "drupaladmin"@"localhost"
    -> IDENTIFIED BY "abcd1234";
    Query OK, 0 rows affected (0.00 sec)
    mysql> FLUSH PRIVILEGES;
    Query OK, 0 rows affected (0.01 sec)
    mysql> EXIT
    Bye
  6. You will need to modify a few files on the standard Drupal installation before proceeding with the installation. Change directories to the /sites/default directory from the root Drupal installation:
    cd sites/default/

    Now create a copy of the default.settings.php file to settings.php:

    cp default.settings.php settings.php

    Modify the file so that it is writeable from the Drupal installation:

    chmod 766 settings.php

    Create a directory called files and modify it so that it is writeable by the Drupal installation:

    mkdir files
    chmod 766 files/
  7. Now, the rest is quite simple. Open a web browser and navigate to the directory where you installed Drupal. In this example, the directory is in the root web directory, so all I have to do is navigate to my IP address (or host name if DNS records have been properly set up), and presto! The install page should appear. If it does not appear, append the URL with /install.php.
  8. Follow the on-screen instructions by selecting your language and entering your database credentials. After clicking on “Save and Continue”, you should see a progress bar for only a few moments before being brought to the following screen:
    drupal_admin2
  9. At this point, you will need to change the permissions on the files directory and on settings.php so that they are not writeable any more. You may also want to delete the file default.settings.php or move it out of your web directory entirely for security reasons:
    chmod 644 settings.php
    chmod 644 files/
    rm –rf default.settings.php

    Also make sure to move or rename the install.php file in the root Drupal installation directory. Refresh the page and all the red warning box will turn to green.

  10. Click “Save and Continue” and you will be brought to the site configuration screen. Here you can enter the name of your website and create your admin user account. Be sure to pick a secure password with at least one number, one upper-case letter and at least 7 characters long. Random passwords are always the most secure and there are several random password generators all over the web. Configure you time and date settings and follow the remainder of the on-screen instructions before hitting “Save and Continue”. It may take a few minutes for the installation to complete, so be sure not to refresh during the installation process.

That’s it! You should be brought to the welcome page where you can click on links to the admin page or online docs. You can login and start posting content immediately. Download, modify and design your own skins (Drupal even has a skin API!), add extensions and plugins from http://drupal.org and setup users and permissions. There are literally hundreds of extensions and plugins you can install to host MP3’s, Flash movies or anything else imaginable.

Drupal is one of the best community portals available and is a great PHP-based option for beginners to get their hands dirty in PHP. The user-interface is intuitive and robust, allowing admins to set up user-roles and permissions for nearly every function that can be performed by the software. This is especially useful as a company intranet or as a community page for your customers to access support materials. And installing on a GoGrid Cloud server allows you to simply delete your server if you make a mistake and start over within minutes or just give Drupal a test run.

Also be sure to check out our “How to Install WordPress on a GoGrid Server in Less Than 10 Minutes” and “How to Install phpBB on a GoGrid Cloud Server in Less Than 10 Minutes“. You could have a Drupal CMS, a WordPress Blog and a phpBB forum up and running in less than an hour!


How to Install phpBB on a GoGrid Cloud Server in less than 10 Minutes

Written by Bryan Levine on Jul 23rd, 2008 | Filed under: FAQs, Features, General, GoGrid, How To

phpbb_logo If you’re running software applications or services in your GoGrid cloud, then there’s a good chance that you need a way for your customers to communicate with one another. Forums and bulletin boards are great tools for companies to allow their customers to help each other out with your products. Using these tools also alleviates some of the load on your support teams, saving you labor expenses and time. One of the best bulletin boards is the open-source phpBB software. This is a simple-to-install, feature-rich, PHP-based web application that takes only minutes to configure on a GoGrid server.

The latest version of phpBB (version 3.0) does have some specific server requirements, namely: Windows or Linux, an SQL database system (e.g., mySQL 3.23 or above, MS SQL Server 2000 or above, or PostgreSQL 7.x or above) and PHP 4.3.3 or above. GoGrid has you covered with those requirements so you don’t have to monkey around with doing any changes (with the exception of Windows, you will have to install PHP for that).

To start, simply deploy a GoGrid server through the http://my.gogrid.com customer portal. In this example, we’ll use a CentOS 4.5-based LAMP stack since it has all the software packages needed for a phpBB installation already installed.

  1. Click on the “+” button once you’ve logged in, then select “Web/App Server”. Enter a friendly name for your server, such as “phpBB” or the domain name you’ll use once your server is configured. Enter a quick description of the server and select an IP address (our new IP suggest function will suggest one automatically for you). If you already have a GoGrid server instance that runs your website and you want to install phpBB in a sub-directory or sub-domain, skip down to the second half of this article.
  2. Next, select the operating system to run your phpBB installation on. phpBB can run on either Windows or Linux machines, but in this example we’ll use a Linux-based CentOS 4.5 server image.
  3. Select the amount of RAM dedicated to your server. Depending on the amount of traffic you’re expecting, you may want to allocate a good amount of RAM to your server. I’m choosing to go with a 2GB server.
  4. Select the server image you want to deploy. In this case, I’ll be using a LAMP stack. (For Windows servers, you may want to select a Windows 2003-based operating systems with IIS and MSSQL Express installed on the server image.)
  5. Click on “Save” and your server will be deployed within a matter of minutes.
  6. Once your server’s light turns green, click on the new phpBB server and then select the “Passwords” button at the left. This will take you to the login information for your server.

Now that a server has been deployed, you can go ahead and connect to it remotely via SSH. If you work on a Windows machine, you can download the PuTTY client to connect to a Linux Server. If you’re on a Mac or a Linux machine, you can open your terminal and SSH directly to the IP address of the new GoGrid server.

  1. SSH to the new server and log in using the username and password credentials located on the “Passwords” page in the GoGrid portal. In my examples, I will use the IP address 208.113.93.242. Replace this IP address throughout this document with the IP of the server you just deployed:
    ssh 208.113.93.242

    Enter your username and password to log in.

  2. Navigate to the folder where you want the phpBB installation to live. In a Linux server, this is usually in /var/www/html. If you want to install this as a subdirectory of your website, create the directory and change directories to that folder (/var/www/html/your.subdirectory).
    cd /var/www/html
  3. Now you need to download the phpBB package from phbb.com (note: this is for the 3.0.2 version of phpBB. There may be subsequent versions so you should check and change the path below as appropriate):
    wget http://downloads.sourceforge.net/phpbb/phpBB-3.0.2.zip?download
  4. Once the package has finished installing, you’ll need to unzip it:
    unzip phpBB-3.0.2.zip
  5. A new directory called “phpBB3″ should appear when you enter the command ls to show the contents of your current directory. Now we’ll need to create the MySQL database associated with phpBB. Enter the MySQL prompt and create a new database and user for the phpBB installation. Note that you should create more securely named username, password and databases than I have below. These are just examples:
    mysql -u phpbb3admin -p
    Enter password:
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 21
    Server version: 5.0.58 Source distribution
  6. Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
    mysql> CREATE DATABASE phpbb3;
    Query OK, 1 row affected (0.00 sec)
    
    mysql> GRANT ALL PRIVILEGES ON phpbb3.* TO "phpbb3admin"@"localhost"
     -> IDENTIFIED BY "abcd1234";
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> FLUSH PRIVILEGES;
    Query OK, 0 rows affected (0.01 sec)
    mysql> EXIT
    Bye
  7. Now, the rest is quite simple. Open a web browser and navigate to the directory where you installed phpBB. In this example, the directory is in the root web directory, so all I have to do is navigate to my IP address (or host name if DNS records have been properly set up), and presto! The install page should appear. If it does not appear, append the URL with /install/index.php.
  8. Read through all the docs on the initial page. This provides information about the GNU public license, provides links to the install guide and gives details on how to get support from phpBB.
  9. Next, click on the “Install” tab at the top of the page. This will provide a web-interface to pass parameters to the configuration files:
    phpbb_install
  10. Follow the on-screen instructions that will guide you through the installation. Since this server has all the requirements necessary for a LAMP environment, there should be no issues with the requirements page at all.
  11. Follow the on screen instructions to the “Database Settings” page. The “Database server hostname or DNS” field will be localhost. Fill in the “Database Name” and “Database Username” fields according to the database name and database user you created in step 5. Don’t worry about the “Database Server Port” field unless you have manually changed the port that MySQL runs on. In my case, I would enter phpbb3 in the “Database name” field and phpbb3admin in the “Database User” field. Enter the “Database Password”; in my case, this is abcd1234. You should receive the “successful connection” message. Now you can click on the “Proceed to next step” button.
  12. This is where you set your phpBB admin user details. Choose any name and password combination that you like. It is always best to use a random password generator; just make sure you write it down! Enter your email address as well. Click on the “Proceed to next step” button and you should receive the “test passed” message. Click the button again.
  13. This page will write your configurations to the config.php file. You may receive an error message saying that config.php is not writeable. If this happens, change permissions on the file and refresh the page, but be sure to restore security to it after the install is complete:
    chmod 777 config.php
  14. You should be prompted with a message that says the configuration file was written. You can then click the “Proceed to next step” button again to move on. You should be at the “Advanced Settings” page. Fill in all of the information in the “Email Settings” section if you want to be able to send and receive emails through the phpBB software. You can also choose to use an external server to handle your email from this page. Next is the “Server URL Settings” section. If you are running this installation locally and haven’t changed any default settings in Apache, leave this information as is. If you are running an SSL cert, you will need to follow the on screen instruction in the first three fields of this section. If you have already set up DNS records and have www address, you can note this in the “Domain Name” field. Click on the “Proceed to next step” button when finished.
  15. You should receive a message that says that the database tables have been written successfully. Click on the “Proceed to next step” button again. This may take several minutes as the installation finishes according to all your configurations.
  16. Move or rename the install directory on the server so that it is not accessible by the outside world. This command will move it up into the /www directory if the phpBB install was done in the root web directory:
    mv install/ ..

That’s it! You should be brought to the admin control panel where you can configure your new bulletin board to your liking. Download, modify and design your own skins, add extensions from http://phpbb.com and setup users and permissions.

phpBB is an excellent community tool that developers, customers and support agents can all use to communicate with one another. It allows businesses to save support and developer labor, provide an elevated level of customer service and get feedback from their users all in one centralized and easy-to-use place! Set up moderators and administrators to keep your forums organized and reply to your users as you see fit.

Be sure to check the GoGrid blog regularly for more How-To’s. GoGrid Cloud Servers truly give you “control in the cloud” and can help you quick build and scale community services like phpBB or WordPress.


GoGrid’s Cloud Computing API is LIVE!

Written by Michael Sheehan on Jul 17th, 2008 | Filed under: API, Cloud Computing, FAQs, Features, General, GoGrid, News, ServePath

If you were watching closely, the GoGrid API was released at the end of last week. Today however, we are making it official! With the release of the API, GoGrid users can now programmatically control their cloud infrastructure on GoGrid. What is truly unique about this offering is that we are the first Cloud Computing provider to provide both a web-based control panel/GUI (Graphical User Interface) and an API (Application Programming Interface), coupled with Windows and Linux cloud servers, free load balancing and support, free static IPs and more.

REST-serverTopology

API’s are critical to many Developers and System Administrators who are looking to have even more rigorous control over their environments. The GoGrid API provides the ability to:

  • create interactive GoGrid management applications
  • allow Resellers to skin their own GoGrid portals
  • script and link various GoGrid commands for automation
  • connect GoGrid functions to other management tools or environments
  • query and retrieve real-time information on billing, usage and GoGrid devices and objects

When we created the API, we wanted to be sure that it not only lived up to our phrase “Control in the Cloud” but also that it was easy to use, well documented and feature-rich. Others in the Cloud Computing space (like Amazon’s EC2) elected to release an API first and then hope that others would build more friendly interfaces around that API. We decided to produce the web GUI first (so that everyone from novices to tech-savvy users could use GoGrid immediately) and then round off our offering with the API (more skewed towards Programmers and Developers).

GoGridGUIApiKeyGeneration

For those technically inclined, here are some details on what you can expect from the GoGrid API:

  • REST-like Query interface that allows the sending of HTTP GET or POST requests to the GoGrid API REST server
  • API Keys are easily generated within the GoGrid web GUI
  • Unlimited number of API Keys can be generated per account
  • API Keys can be individually enabled or disabled at any time through the web GUI
  • API Keys can be assigned the same role-based access controls (RBACs) as GoGrid GUI users
  • Changes made via the GoGrid API are reflected in GoGrid’s GUI in real-time
  • API output formats: JSON (Java Script Object Notation), XML (eXtensible Markup Language) and CSV (Comma Separated Value)
  • Supports API calls from Java, PHP, Python, and Ruby as well as shell scripting language like bash

ApiAnatomy

There are several methods available:

  • General commands
    • List – lists all requested objects
    • Get – retrieves all information on selected single object
    • Add – add a device or object
    • Delete – delete a device or object
    • Power – start/stop/restart servers
  • Items supported and available methods:
    • Load balancer (list, get, add, delete) – commands related to Load Balancers
    • Server (list, get, add, delete, power) – commands related to Servers
    • Image (list) – lists available server images available
    • IP (list) – lists all assigned, unassigned, public and/or private IPs
    • Password (list, get) – lists all passwords for system/server
    • Billing (get) – display billing summary data for account
    • Utility (list) – lists all valid options for a particular lookup

Role Based Access Controls (RBAC) are available. The matrix below illustrates the support:

GoGridAPIRBACmatrix

I could probably go on and on about the plethora of features contained within the API. Best bet though is to sign-up for a GoGrid account and try it yourself. More information on the API can be found on the GoGrid website.


How to: Install WordPress on a GoGrid Server in less than 10 minutes

Written by Bryan Levine on Jun 30th, 2008 | Filed under: FAQs, Features, General, GoGrid, How To

wordpresslogo WordPress is the most popular blogging content management system software in use today with over 4 million downloads in its existence. It can be seen on hundreds of thousands of websites, most notably on Ebay.com, CNN.com, People.com and the NewYorkTimes.com. Millions of readers view WordPress -based websites every day and get near real-time RSS feeds from their favorite authors. Blogging is a great way to promote your company (hence your visit here), review your current obsessions or talk about your hobbies in a community-oriented fashion.

That being said, this article will show you how to do a quick WordPress installation in less than 10 minutes on GoGrid. You will be up and running, ready to post content about what you ate for lunch or the newest tech gadget you saw on the streets, all with the clean aesthetics and easy, feature-rich navigation of a WordPress website.

To start, simply deploy a GoGrid server through the http://my.gogrid.com customer portal. In this example, we’ll use a CentOS 4.5-based LAMP stack since it has all the software packages needed for a WordPress installation already installed.

  1. Click on the “+” button once you’ve logged in, then select “Web/App Server”. Enter a friendly name for your server, such as “WordPress” or the domain name you’ll use once your server is configured. Enter a quick description of the server and select an IP address (our new IP suggest function will suggest one automatically for you).
  2. Next, select the operating system to run your WordPress installation on. WordPress can run on either Windows or Linux machines, but in this example we’ll use a Linux-based CentOS 4.5 server image.
  3. Select the amount of RAM dedicated to your server. Depending on the amount of traffic you’re expecting, you may want to allocate a good amount of RAM to your server. I’m choosing to go with a 2GB server.
  4. Select the server image you want to deploy. In this case, I’ll be using a LAMP stack. (For Windows servers, you may want to select a Windows 2003-based operating systems with IIS and MSSQL Express installed on the server image.)
  5. Click on “Save” and your server will be deployed within a matter of minutes.
  6. Once your server’s light turns green, click on the new WordPress server and then select the “Passwords” button at the left. This will take you to the login information for your server.

Now that a server has been deployed, you can go ahead and connect to it remotely via SSH. If you work on a Windows machine, you can download the PuTTY client to connect to a Linux Server. If you’re on a Mac or a Linux machine, you can open your terminal and SSH directly to the IP address of the new GoGrid server.

  1. SSH to the new server and log in using the username and password credentials located on the “Passwords” page in the GoGrid portal. In my examples, I will use the IP address 208.113.93.243. Replace this IP address throughout this document with the IP of the server you just deployed:
    ssh 208.113.93.243

    Enter your username and password to log in.

  2. Navigate to the folder where you want the WordPress installation to live. In a Linux server, this is usually in /var/www/html.
    cd /var/www/html
  3. Now you need to download the WordPress package from wordpress.org:
    wget http://wordpress.org/latest.tar.gz
  4. Once the package has finished installing, you’ll need to unzip it:
    tar –xzf latest.tar.gz
  5. A new directory called “WordPress” should appear when you enter the command “ls” to show the contents of your current directory. Now we’ll need to create the MySQL database associated with WordPress. Enter the MySQL prompt and create a new database and user for the WordPress installation. Note that you should create more securely named username, password and databases than I have below. These are just examples:
    mysql -u wordpressadmin -p
    Enter password:
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 21
    Server version: 5.0.58 Source distribution
    Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
    mysql> CREATE DATABASE wordpress;
    Query OK, 1 row affected (0.00 sec)
    mysql> GRANT ALL PRIVILEGES ON wordpress.* TO "wordpressadmin"@"localhost"
     -> IDENTIFIED BY "abcd1234";
    Query OK, 0 rows affected (0.00 sec)
    mysql> FLUSH PRIVILEGES;
    Query OK, 0 rows affected (0.01 sec)
    mysql> EXIT
    Bye
  6. In the wordpress directory, change the name of the file wp-config-sample.php to wp-config.php:
    mv wp-config-sample.php wp-config.php
  7. Open the wp-config.php file in a text editor and enter your database details. I’ll be using vi for this, but you may use something different:
    vi wp-config.php

    Under the ** MySQL settings ** section, enter in the appropriate information regarding your database that you just created. Again, these are examples taken from the steps above:

    // ** MySQL settings ** //
    define('DB_NAME', 'wordpress'); // The name of the database
    define('DB_USER', 'wordpressadmin'); // Your MySQL username
    define('DB_PASSWORD', 'abcd1234'); // ...and password
    define('DB_HOST', 'localhost');    // 99% chance you won't need to change this value
    define('DB_CHARSET', 'utf8');
    define('DB_COLLATE', '');
  8. Move all of the WordPress files into the desired location on the server. Currently, they are one level below the root domain directory, so we’ll have to move all of the files up one level. If you wish to keep them where they are, you will have to access your WordPress installation via the web at your IP address/ wordpress, i.e. 208.113.93.243/wordpress. You can move the files to wherever you see fit dependent on where you want them to appear on your website. In this example, the WordPress files will be moved to the root domain directory, /var/www/html:
    cd ..
    mv wordpress/* /var/www/html
  9. Run the WordPress installation script by accessing the file wp-admin/install.php in a web browser. This will be the IP address/wp-admin/install.php or your hostname/wp-admin/install.php. If you installed WordPress in the root directory as I did above, go to http://208.113.93.243/wp-admin/install.php, but replace my IP address with yours. If you installed WordPress in a sub-directory, go that URL in your browser. You should see the following login prompt page:wordpress-install

Once your WordPress installation is configured properly, you can join the ranks of the thousands of bloggers out there in the blogosphere. Remember to set up your RSS feeds so that people can get notified when you update your site. The only problem you should have now is deciding what to post. What is going to make your blog stand out in the crowd? Hmm, sounds like a good topic for a blog entry…


Comparison: GoGrid Cloud versus Amazon EC2

Written by Michael Sheehan on Jun 17th, 2008 | Filed under: Cloud Computing, FAQs, Features, General, GoGrid, ServePath

As GoGrid continues its record breaking sign-ups, we get asked repeatedly how we compare against Amazon’s EC2. While not exactly an apples to apples comparison, there are enough similarities to warrant a few matrices to illustrate the differences.

Feature Comparison Matrix

Feature

GoGrid

Amazon EC2

Instant server deployment
YES
YES
Instant server network scaling
YES
YES
Linux
YES
YES
Static IP address
YES
YES
Windows Server 2003
YES
NO
Microsoft SQL Server
YES
NO
FREE 24/7 phone support
YES
NO
FREE persistent storage
YES
NO
FREE inbound data transfer
YES
NO
FREE hardware f5 load balancing
YES
NO
FREE managed DNS
YES
NO
FREE DoS protection
YES
NO
Service Level Agreement
YES
NO
Graphical User Interface (GUI)
YES
NO
Hardware VLAN segmentation
YES
NO
Multiple IP addresses per server
YES
NO
Standard server images
YES
NO
Volume discounts
YES
NO
Private IP addresses on separate VLAN
YES
NO

Server/Instance Price Comparison

Feature

GoGrid

Amazon EC2

1 GB RAM/1 Xeon Core server deployed for 1 hour
$0.10*
$0.10
1 GB RAM/1 Xeon Core server deployed for 1 month
$72*
$72
Load balancing
FREE
$72

* Pricing is based on the Advanced Grid service plan.

Load-Balance Server Network Price Comparison***

Server/Component/Service

GoGrid

Amazon EC2

Web server 1: 1 GB RAM/1 Xeon Core
$72
$72
Web server 2: 1 GB RAM/1 Xeon Core
$72
$72
Application Server: 1 GB RAM/1 Xeon Core
$72
$72
Database Server (Master): 2 GB RAM/1 Xeon Core
$144
$72
Database Server (Slave): 2 GB RAM/1 Xeon Core
$144
$72
DNS Server
FREE
$72
Load Balancing
FREE
$72
24/7 Premium Support
FREE
$400
500 GB Persistent Storage
N/A
$75
Monthly Total
$499
$979

*** Pricing is based on the Advanced Grid service plan

Data Transfer Price Comparison

Transfer

GoGrid

Amazon EC2

Inbound data transfer/GB
FREE
$0.10
Outbound data transfer/GB
$0.25**
$0.17

** Pricing is based on the Transfer 200 GB service plan.

While not officially sanctioned by our Product Management team, I added this for good measure.

Deployment Time Comparison

Transfer

GoGrid

Amazon EC2

Linux Server
Less than 5 minutes
More than GoGrid****
Windows Server
Less than 5 minutes
Can’t deploy Windows
Hardware-based Load Balancer
Less than 1 minute
Not available
Ease-of-Use

happy_emoticon_25

sad_emoticon_25

**** A bit of humor after watching a long video showing how to deploy EC2 images.

If there is another GoGrid comparison that you would like to see, just leave a comment and we will do our best to post in the future.


Facebook Application Hosting Comparison Matrix (Updated)

Written by Michael Sheehan on May 5th, 2008 | Filed under: FAQs, Features, General, GoGrid, News, ServePath, Templates

With the Facebook QuickStart Servers available now on GoGrid, we have received questions as to how the GoGrid service compares with others in the cloud computing and Facebook space. While this is not the “end-all” comparison, it does provide a point of reference between GoGrid, Amazon EC2 and Joyent.

Chart updated on 5/8/08.

GoGrid Amazon (EC2) Joyent
Windows Support YES NO NO
Linux Support YES YES NO
OpenSolaris Support NO NO YES
Graphical User Interface (GUI) YES NO NO
CPU 1 Xeon Core 1 Virtual Core 1/32 Xeon Core
RAM 512 MB 1.7 GB 512 MB
Storage Allotments (GB) 30 160 10
Full Root access YES YES YES
Load Balancing FREE $72/month NO
24×7 Support FREE $500/month NO
Price $43/month* $72/month FREE
Inbound data transfer (GB) FREE $0.10 500 recipients/hr
Outbound data transfer (GB) $0.25* $0.17 500 recipients/hr

*Pricing based on GoGrid Business Grid and Transfer 200 GB plans

With GoGrid there are other choices as well for RAM and Storage allotments (1GB RAM servers have 60 GB disks and 2 GB RAM servers have 125GB disks). Key differentiators are the FREE support and Load Balancing offered by GoGrid as well as support for both Windows and Linux servers (Red Hat Enterprise Linux 4 and CentOS 4.4.) More OS images are added on a regular basis so check back regularly.

Being your humble servant, I have a special discount available to all of my readers. Contact me directly for a discount on your first GoGrid account! (Limited time only!). So what are you waiting for? Get a new GoGrid account now!


You want GoGrid details? See the new GoGrid Wiki!

Written by Michael Sheehan on Apr 14th, 2008 | Filed under: FAQs, Features, General, GoGrid, Templates

With the additions of new GoGrid server templates, especially the Facebook-ready ones, we know that you will really want to understand what is contained within each image, down to the version numbers. We have made this as easy as possible to get to. When you install a Server using one of the pre-defined Operating System templates, you now have an icon that looks like an “i” next to the OS and Template selections. Clicking on that icon will launch the new GoGrid Wiki that contains useful details on GoGrid.

mediaWikilink

The GoGrid Wiki provides information around the:

  • Supported Operating Systems
  • Template Images
  • Billing Model
  • User Interface
  • Network Devices

As more functionality is added to GoGrid, this information will expand.

media_wiki_1

You can drill down through each of the sections. Below is the Operating Systems expanded.

media_wiki_2

And within each Operating system, you can view details of what the current different templates are. All new templates are flagged with the New icon.

media_wiki_3

Clicking on the CentOS 4.4 Facebook image, for example, provides the following information:

  • Install Notes - basically an output of “uname -a;
  • Security - how the iptables is set up, for example
  • Image Details - see the software packages and associated version contained within the default GoGrid template. You can see this by running the Linux command: “rpm -qa;

We encourage you to peruse the new Wiki as many of your version question can be answered there. Also, you can get additional details on Load Balancing, the UI and Billing. If there is something that is not covered within the Wiki or this blog, drop me a note.


GoGrid FAQs - Part 1

Written by Michael Sheehan on Mar 28th, 2008 | Filed under: FAQs, Features, General, GoGrid

It is pretty obvious that the interest is high with GoGrid. And to that end, you have plenty of questions. We have been listening and hope that this first set of answers will help you in choosing GoGrid as your next hosting solution.

General

Question: Do I have full root access to each machine I’m running?

Answer:
Yes. All Linux machines have “root” access. All Windows machines have “administrator” access.

Question: Do I have to add new machines manually?

Answer:
Yes. Currently all new machines must be added via the GoGrid web interface.

Question: Can I set up a rule to have my GoGrid server scale automatically with demand?

Answer:
Not currently. However this is a feature that is on the product roadmap.

Question: Am I charged when my GoGrid server is in a stopped state and if so, how much?

Answer:
Servers in a “stopped” or “shut down” state will still count against your server RAM hour allotment and will still incur charges. This is because a stopped server still occupies RAM on our grid as well as “reserves” the resources for your server should you need to restart it quickly. At this time the only way to stop being billed for a server is to “Delete” the server, and in this case your server will be deleted forever and any data will not be recoverable. We are working on developing a solution so that stopped servers do not incur charges since we understand this is not an optimal solution for some of our customers.

Server Images

Question: Will you support Windows Server 2008?

Answer:
Yes, we will support Windows Server 2008 in the July time-frame.

Question: Can I use my own server image?

Answer:
Not initially. However this functionality will be supported in the future. And, as you have root and administrator access to your servers, you can customize your instances as you see fit (with the exception of modifying the kernel on Linux instances).

Question: Will GoGrid offer a scalable environment to support Facebook applications?

Answer:
GoGrid currently offers scalable servers for Facebook and other applications. Simply create new servers and load balance as needed. There will be a Facebook-ready server template (Facebook accelerators) added shortly.

Question: If I do set up an environment and I add another server, I would like to be able to clone my existing server as a new server. Is this possible?

Answer:
While server cloning is not available in the beta launch, it will be available soon as this is a popular request. Other customers of GoGrid have had success using some OpenSource tools to clone their servers across multiple instances.

Question: I want Windows, but I have no interest in IIS or MS SQL. I suppose I could get either server type and just turn off the services I don’t need, and install what I want (PostgreSQL, Java, etc.).

Answer:
Yes, you have full Administrator access to your Windows server which means that you can enable or disable the services that you want, as well as install other Third Party applications.

Technical Specifications

Question: Can I have more than just 1GB of RAM per server?

Answer:
GoGrid servers can be added with 512MB, 1GB, or 2GB of RAM today. We plan on increasing the maximum deployable amount of RAM to 4GB and 8GB very shortly.

Question: What load balancer do you use?

Answer:
F5 Networks LTM (http://www.f5.com/products/big-ip/). Our load balancers are configured in active-standby clustered pairs to prevent outages caused by hardware failures. These load balancers are included with each GoGrid account free of charge.

Question. Can I modify the type of load balancing or the persistence of my F5 load balancer?

Answer:
Yes. We give you the option to choose one of the following two load balancing types: “round robin” or “least connection,” and also provide the following persistence options: “SSL sticky” or “source address.”

Question: How much CPU do I get with every server?

Answer:
GoGrid is built upon a Grid of servers (nodes), managed by a hardware virtualization layer (Xen-based hypervisor) which allows several guest operating systems (virtual servers) to be executed on the same computer hardware at the same time. Our nodes are custom built multi-processor, Intel-based computers. In order for GoGrid to guarantee a minimum CPU to a virtual server, we will always maintain a ratio of 1 Xeon core (equivalent to a P4 2.0 chip) to 4 GB of RAM across our entire grid.

The maximum CPU utilization per virtual server is equivalent to the amount of cores assigned to that virtual server, per the below table.

The Xen CPU scheduler allows us to control CPU priorities per virtual server so that adjacent virtual servers cannot “steal” your CPU resources. The table below illustrates the current breakdown in CPU allocations and burst-ability by server-RAM configuration:

Server RAM Core Guaranteed (P4 2.0 GHz equivalent) Core Burst
512 MB 1/8 1
1 GB 1/4 1
2 GB 1/2 1

Note: you will soon be able to add 4GB & 8GB virtual servers.

Question: Can my GoGrid server support more than 1 Xeon processor if I’m running Windows OS?

Answer:
Not at this time. When we implement the 4GB and 8GB server options, that server will be guaranteed 1 full core and 2 full cores on both Windows and Linux respectively.

Question: Is my RAM dedicated to my server?

Answer:
Yes. The Xen hypervisor guarantees that the RAM is allocated to only your server.

Question: How much Storage can I have?

Answer:
In GoGrid, server storage is tied to the amount of RAM in your server.

Server RAM Storage
512 MB 30 GB
1 GB 60 GB
2 GB 125 GB

Question: Can I add additional Storage?

Answer:
You cannot add additional storage to a server at this time.

Question: Why am I seeing a load above 1.0 when I do ‘top’ on my Linux server? This is happening even when my server is completely idle.

Answer:
The Xen hypervisor will report the load baseline as the number of cores assigned to your GoGrid server. This means that if your system has 1 core assigned to it, ‘top’ will report a baseline load of 1.0. To ascertain your actual load, subtract the number of cores assigned to your server from the load reported by ‘top’, in order to get the actual load of your server.

Question: What happens if there is a failure of a physical server node?

Answer:
The GoGrid resource scheduler ensures that your GoGrid servers are spread across as many different physical nodes as possible. This is to minimize the impact of an unlikely hardware failure to as few GoGrid servers as possible. Please also note that GoGrid hardware nodes are enterprise-grade machines with dual-power supplies connected to two different UPS systems, and RAID protected storage volumes. All nodes are proactively monitored by the GoGrid Network Operations Center (NOC).

More FAQs are in the works. Keep your questions coming!


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.