Explanation of the different types of hosting options

‘What type of hosting should I get?’  I’ve had this question asked of me several times by other entrepreneurs, I thought I’d cover the Pros and Cons of each of the different types that you can get.  Hopefully it will help you decide what the best approach is for your startup.

dedicated server – this is what you traditionally expect with hosting.  a service provider allocates you physical hardware in their data center that is dedicated to your website, and your website alone.  Pros:  You can do whatever you want on that machine, because you are leasing it.  Cons:  If you get a sudden burst of traffic because you got on the Digg homepage, you’ll most likely crash the server.  Also, you need to have someone highly technical to administer the machine.

a cloud server – a cloud server is a virtual server that runs on a shared massive computing infrastructure – such as the Amazon EC2 setup, or the Rackspace Cloud Server setup.  Pros:  They are in essence, dedicated servers, so you can do whatever you want on each of the virtual servers.  If you know what you’re doing, you can typically startup new machines to handle unexpected load/traffic.  Cons:  You’ll need an even more technical person to understand how to create virtual machines and administer them.

shared hosting – shared hosting is a setup where you and several other clients of the hosting company share a dedicated/cloud server.  Pros:  All administration should be handled by the service provider, including email setup, security, and website setup (but not maintenance).  Cons:  You don’t have admin access and you can’t install anything you may need on the server itself.  Sometimes you may not even have access to the machine, except through FTP.

shared cloud hosting - shared cloud hosting is similar to shared hosting, except that everything is stored on an administered cloud infrastructure.  Examples of this type of service are: Rackspace cloud sites, Microsoft Azure, and Google AppsPros:  All administration is handled by the service provider.  Generally if your site gets slammed with traffic, the shared cloud site can handle all the additional traffic.  Cons:  No control of the environment that you’re in.  If you have a highly customized server that requires add-ons that aren’t in a standard package, then you probably need to go with a cloud server or dedicated server.

Ok, hope this helps.  If you have any questions of thoughts shoot me an email.

Amazon (Alexa) website thumbnails closes

http://www.techcrunch.com/2009/03/18/amazon-shutters-unpopular-alexa-site-thumbnail-service/

Sucks.  I had literally just built a site that was using the Amazon site thumbnail generator.  Techcrunch lists a couple of replacements, but the one that i’ve found that works the best is PageGlimpse.

The other sites don’t offer a way to tell you when the image that’s been queued is actually ready.  Alexa always was able to deliver the image right away.  However, PageGlimpse sets a 302 temporary redirect for you.  This is good in detecting whether or not the image has been generated.  You can setup a cron or some other sort of job to update the images in the background when they are generate.  When I finish my scripts, i’ll see if my client will allow me to post it up here.

WordPress Amazon Plugin: Amazon Product Ads

Found a great wordpress plugin that I started using:  http://wordpress.org/extend/plugins/amazon-product-ads/

It’s great because it allows you to display amazon products that are associated to some of the content you are writing about.  If you look on the right hand side of the page, you’ll see that I posted a wordpress book in relation to this content (you know in case you want to learn more about wordpress).

Anyway, it should be important to note that I did have to modify some of the code on line 183 of the amazon-product-ads.php.  The products weren’t dislaying for me for some reason.  So I just copied my own amazon affiliate tags in there and replaced the one that the plugin came with.  If you have questions about what I did, feel free to email me!

INIT: Id "x" respawning too fast : disabled for 5 minutes.

Ok, some of you might be experience this issue when you create an image.  I’m not exactly sure why these errors happen.  I think they may have something to do with actual console screens? (someone correct me if im wrong, please!)

Anyway, what i did in my /etc/inittab is just shut them off intead of respawning them:

# Run gettys in standard runlevels
1:2345:respawn:/sbin/mingetty tty1
2:2345:off:/sbin/mingetty tty2
3:2345:off:/sbin/mingetty tty3
4:2345:off:/sbin/mingetty tty4
5:2345:off:/sbin/mingetty tty5
6:2345:off:/sbin/mingetty tty6

I’d like to note that I’m not linux admin guru by any means and i have no idea wtf this will do later on.  It’s just helped me remove these annoying messages from my /var/log/messages.

Load Balancing using Amazon Webservices – Elastic Load Balancing

It’s really pretty simple to setup, i thought it’d be more of a challenge, but it wasn’t hard at all.  The major thing I had to change was setting up my sessions on jenniebot to be stored in the database rather than on the webserver.  This is pretty much the biggest thing you need to worry about.  It will add a greater strain on your database due to processing sessions via the db rather than the web server.

Ok, onto the technical stuff:

My resources for this are the tech docs located at:  http://docs.amazonwebservices.com/ElasticLoadBalancing/latest/DeveloperGuide/

I pretty much just followed the example line by line.

elb-create-lb jenniebotloadbalancer  –headers –listener “lb-port=80,instance-port=80,protocol=HTTP” –availability-zones us-east-1a

elb-configure-healthcheck  jenniebotloadbalancer  –headers –target “HTTP:80/ping” –interval 30 –timeout 3 –unhealthy-threshold 2 –healthy-threshold 2

elb-register-instances-with-lb jenniebotloadbalancer –headers –instances i-xxxxxx,i-xxxxxx

One thing to note that the documentation doesn’t tell you, is that you need to go do your dns provider and change your site’s www.xxxx.com and xxxx.com to reference the public loadbalancer name that amazon provides you when you startup your load balancer.

This could be really helpful when combined with the AutoScaling feature that Amazon offers.  I’d recommend building an Amazon Image after every deployment so that you can spawn that image and add it to the load balancing pool when necessary.  It’d be even better if you had a statically generated site with flat html that you could push using lighthttpd or some sort of setup like that.  Ok, enuff talking.. email me or drop a line in the comments if you have questions!

Have fun load balancing!

-d