Posts Tagged ‘cloud computing’

Preparing and delivering content on a Content Delivery Network (CDN).

When choosing to use a CDN there may be numerous ways to integrate your content to deliver it.

Most CDNs employ one of 2 methods for delivering content.  The first is origin pull or off-site origin.  This evolves the CDN pulling the content from some outside source.  This origin could be your webserver, a cloud computing service, something like Amazon S3 or any other internet connected HTTP server.  The key is, that the CDN needs to access your content via HTTP GET requests.

The second method is CDN storage.  This is storage that the CDN supplies to you on their network.  This is usually a preferred method as the CDN does not have to go far to get your content to cache it on edge servers.  You can expect to pay for this storage on top of your other CDN charges.  Typically, you will FTP the content to the CDN storage or in some cases, there will be an HTTP upload option or even RSYNC may be an option.  If your content is large in size, larger than 5-10MB its recommended  you store the content on the CDN.

Using CNAMEs to access content

Most CDN’s will use CNAMEs to allow you to access your content.  A canonical name or CNAME is simply an alias.  For example   ‘static.domain.com’  could point to the CDN URL. You can use this instead of the URL that CDN supplies to you.  This way you can better brand your site and won’t have the CDN URL floating around on your site somewhere.  Talk to your CDN on how to implement a CNAME, they may have special requirements or might not even allow them.

When you do off-site storage, the CDN usually needs to know where you store that content.  So be prepared to supply the CDN the CNAME and the Source/Origin URL.  Origin, being the URL where the CDN can go to, to pickup your content.

When you write your HTML instead of using a relative path to a file like “./images/logo.jpg” you will use an absolute URL instead, such as “http://static.domain.com/images/logo.jpg”.  This way you are essentially embedding content from the CDN on your website.

If you are using a content management system, check to see if there is a way to address all your static elements like images, CSS, java script, PDF, MP3, FLV, MP4, etc at once.  You may be able to specify a “pre-pend” URL for specific file types.  This would make switching to a CDN easy and quick.  You could “CDN enable” your whole site in one click.

WordPress users, see the CDN Rewrites Plugin –

How do you know if your content is cacheable?

If you are uploading the content to the CDN then it will be cacheable.  If the CDN is going to pull the content from you then you need to consider a few things.  Most CDNs will honor any cache control headers you put on your content.  For example, if you put a Max-Age=86400 on your content, then the CDN will consider that piece of content fresh for 24 hours.  Don’t think for a second you can tell the CDN how long to hold a piece of content in cache for.  They will decide when that piece of content needs to be purged from an edge server.  However, setting this TTL will tell the CDN that after 24 hours they need to look to see if there is a new version of the file.

Also consider this, if your content has a Private, or No-Cache header on it, then the CDN will probably not cache it, you’re wasting bandwidth.   You are trying to deliver non-cacheable content through the CDN, they will go back to your origin for every request.

Some CDNs can address this issue by implementing some custom work around, so talk to your CDN of choice for advice.  Also, check with your CDN to see if they require specific cache control headers to be present, you may need to alter your headers in order to make your content cacheable even if you don’t have a No-Cache type header.

Conclusion

This was a basic overview on how CDNs handle basic caching of content from different origins as well as how to deliver your content through the CDN.  Consider the issues of cache control headers, these can be very powerful and allow for flexibility on how your content is cached and for how long.  You should always work with your CDN of choice directly as they will have specifics for implementing their solution.  No 2 CDNs are exactly alike.

Got Cloud Computing? Ditch your CDN?

Do I need a CDN if I have Cloud Computing?

Over last year or so, the term Cloud Computing has been making headlines.  There are several new entrants into the Cloud Computing industry.  The idea is simple, you have all these computers or servers directly connected to the cloud (The Internet) and you have massive computing power at your fingertips.  Companies like Rackspace, GoGrid, Amazon, and AT&T are all offering one form of Cloud Computing or another.

The services available from these companies range from simple “Cloud Storage”, to fully scalable virtual servers in the cloud.

When to use Cloud Computing
The great thing about these services is the instant setup and “unlimited scalability”.  When you want a new website, with a few clicks of a mouse you bring up a new Linux or Windows box.  They even make it easy for you by pre-installing services like SQL, Mail, and in some cases applications like Wowza or Windows Media streaming server.

The setup process is usually wizard driven and they take the guesswork out of setting up server software and services.

A couple of cloud-computing providers even partner with Content Delivery Networks (CDN) to offer Cloud Storage.  Essentially you put your files in the cloud storage and they are on a CDN.

Sounds good, why do I even consider a CDN?
All of these services are on virtualized boxes and shared resources.  They are not dedicated.  The services are not fully managed either.  You would be responsible for software updates, patches, licenses, etc; although you really shouldn’t ever be concerned about hardware or bandwidth.  The idea behind cloud-computing is that you just pay more and they dedicate more resources to your servers.

If you have an existing data center or web servers, you may hesitate moving your web sites or web servers to a cloud-computing Provider.  This may mean abandoning hardware and software you’ve already invested in.  You may consider bringing up new servers in a cloud environment to reduce costs or gain flexibility.

If you have a lot of web sites it may make sense to consider a cloud provider versus a normal web host provider.  You will have more control over your domains and depending on your provider you may be able to scale easier.  Plus you would have full root access to the web servers to configure them however you want.  It would be like a dedicated server package from a web host provider.

If you plan to use a cloud computing company in lieu of a CDN, thinking you can just build your own CDN within their cloud, think again!  Start asking your cloud-computing vendor these questions:  how many data centers are they in?  What kind of peering arrangements do they have?  What are their peek bandwidth capabilities/egress capabilities?  Where in the world are they hosted?  Will your servers be replicated everywhere around the world or just in the US, just in one data center?  Are there more costs involved for Europe, Asia, or Australia delivery?   What if you need streaming servers for videos, can they do that?  What about mobile delivery?  Do they offer token-based authentication? Pseudo Flash Streaming? What about encoding and transcoding?  Does your cloud-computing vendor have any content management software or video?  Do they support live video delivery?  These are all questions to consider if you think you want to use a cloud-computing company instead of a CDN.

A tier 1 CDN like Limelight or Akamai will have thousands of servers to cache your content around the world.  They will offer all those ancillary services related to content delivery.  A CDN will support streaming and HTTP progressive downloads.  They will probably have Adobe, Microsoft and Apple servers.  A CDN will be able to support live events.  On top of that you will be able to accelerate your whole site, with Akamai’s DSA or Limelight’s Limelight Site services.  You are not limited to just videos with a CDN, any piece of content can be delivered via a CDN.

You will probably find that integrating a CDN is easier and less time consuming than bringing up new servers and maintaining them.  In some cases with a CDN it may be as simple as pointing a CNAME to the CDN or just uploading your content to them.

Pricing
Certainly, the pricing of cloud-computing is more attractive than a CDN.  But you will need to figure out what your needs are and find the right combinations of services.

Mosso by Rackspace:

  • $100/month
  • 50 GB of storage space
  • 500 GB of monthly bandwidth
  • 10,000 compute cycles.  Compute cycles measure how much processing time your applications require on the Mosso cloud. 10,000 compute cycles are roughly equivalent to the monthly capacity of a server with a 2.8 GHz modern processor. per month
  • Prices go up from there.

GoGrid:

  • $.19/hour of RAM (add more RAM, pay more) $136/month per 1GB of RAM plus
  • $.50/GB of transfer outbound
  • 10GB of storage included $.15/GB thereafter
  • Free Load Balancing with F5 load balancers

Amazon EC2:

  • $.10/hour up to $.80/hour for “On Demand”
  • $325 setup up to $2600 setup + $.03/hour up to $.24/hour for a “Reserved” server
  • $.10/GB on inbound traffic
  • $.10 to $.17/GB for outbound traffic
  • Storage is extra through the S3 service
  • Other services are extra

AT&T Synaptic Storage as a Service:

  • Pricing not disclosed

CDN Pricing
Pricing for CDN service will vary greatly depending on what you want and where you get if from.  With the Tier 1 CDNs expect a minimum commitment per month and to sign a 1-year contract.  With a Tier 2 CDN like Level3, CDNetwork, Edgecast, etc, you may get a month-to-month contract and lower prices, but you may not get the same service either.

Pricing for CDNs will be anywhere from $.05/GB to $1.00 or more per GB depending on what you commit to.  Keep in mind only the largest contracts in the hundreds of TBs to Petabytes will get down to the $.05/GB range.  When you add on ancillary services, you will add to your monthly bill as well.

It appears that Rackspace wins on pricing, although as you add on more CPU Cycles and storage they may increase significantly.  Rackspace is also known for their customer service, which will count for a lot.  Amazon’s pricing seems convoluted and confusing, it looks cheap on the outside, but if you add up all your inbound/outbound, storage and class of service, their pricing isn’t too aggressive.  Also, Amazon is not known for customer service at all.  Getting a hold of tech support may be a chore.  GoGrid’s pricing is very close to Rackspaces’ and their product seems top notch, also the free load balancing counts for a lot, so don’t count out GoGrid.  Finally, AT&T has only just announced their cloud storage product.  Their web site doesn’t disclose pricing.  Good luck getting someone at AT&T on the phone that can help you understand their product.

Conclusion
If you’re looking at Cloud Computing to increase website performance, you may consider a CDN first.  Examine why your site is under performing.  Do you need more databases, do you need more mail servers? Do you need more domains?  These are all reasons to get cloud computing.  But if you have a lot of videos, music or software downloads or your pages are sluggish, then a CDN is the way to go!

Ideally, your best solution will be to use both a cloud-computing company and a CDN.  This will give you optimal performance, flexibility, and reliability.

If you have any questions about this topic, please feel free to post them here and I will respond.

Thanks,

Mike Colburn (DigitalMediaGuy)

Got Cloud-Computing? Ditch your CDN?

Do I need a CDN if I have Cloud Computing?

Over last year or so, the term Cloud Computing has been making headlines.  There are several new entrants into the Cloud Computing industry.  The idea is simple, you have all these computers or servers directly connected to the cloud (The Internet) and you have massive computing power at your fingertips.  Companies like Rackspace, GoGrid, Amazon, and AT&T are all offering one form of Cloud Computing or another.

The services available from these companies range from simple “Cloud Storage”, to fully scalable virtual servers in the cloud.

When to use Cloud Computing
The great thing about these services is the instant setup and “unlimited scalability”.  When you want a new website, with a few clicks of a mouse you bring up a new Linux or Windows box.  They even make it easy for you by pre-installing services like SQL, Mail, and in some cases applications like Wowza or Windows Media streaming server.
Read more

Return top