Feed on Posts or Comments 08 September 2008

informednetworker.com dmackey on 23 Jul 2008 01:50 am

Informed Networker’s Infrastructure.

Rack Madness 2007Image by Matalyn via Flickr.
NO THIS ISN’T OUR NETWORK!!

Introduction:
Today I’m going to take a few minutes to walk you through the network infrastructure that underlies Informed Networker, as well as some of our near-future plans for expansions.

DNS:
In order to for visitors to reach your website via a domain name (e.g. informednetworker.com) you need to have DNS records. DNS is similar to a phone book. Look up a name and you find a telephone number. With DNS you look up a name and find an IP address (e.g. x.x.x.x - 64.233.167.99). This all happens transparently to the end user - but there is critical work to be done by those providing the website.

In our case we chose not to host our DNS servers internally. We made this decision for several reasons:

  • We didn’t want to have to be experts in DNS.
  • We like separate servers for each role and this would have required additional hardware if we ran the DNS ourselves.
  • Out-sourced services can provide globally distributed and redundant services.

We utilize a service called DNSMadeEasy. There are other alternatives (UltraDNS), but none as inexpensive - and DNSMadeEasy offers the same featureset as these other services.

Servers:
I really love Dell PowerEdge 2950’s. While many guys admire a beautiful car, I could care less about cars - but can describe in detail the features I love about Dell’s 2950. When I was looking at the future of Informed Networker I wanted to buy a 2950, but I couldn’t justify the price for our business model. With the opportunity to move entirely cloud-based, going with a 2950 just didn’t make sense. Here are a few of the factors that weighed into this decision:

  • I couldn’t just buy one server. For redundancy purposes I would need at least two servers. While I could run virtual instances to avoid purchasing an additional server for every role, I’d still eventually be purchasing additional equipment.
  • I’d need to rent a rack at a colocation facility. Even the least expensive of these would cost more than a cloud-based solution.
  • I’d need to assure 100% uptime (or five-nine’s) - something which while possible would require significant time dedication on my part - something I felt could be better directed in other pursuits for the business.

Granted, I could have bough a single server, attached it to the FiOS at my house (till Verizon would shut me down), and hoped for the best - but we want to run professionally. I have seen too many times when a company compromises on a hack solution to save money or as an interim solution and the paint his can bring.

So where did we end up? With Slicehost. Slicehost is a Linux Virtual Private Server (VPS) environment. Their prices are relatively inexpensive. You can purchase a 256 MB slice with 100 GB of bandwidth and 10 GB of hard drive space for $20/mo. We started with one 256 MB slice and then expanded to two - one for the www server and a separate server for the db. In the near future we’ll expand to four - an additional www and db server for redundancy and load sharing. I prefer to scale out on lower-end VPS’ than to buy one or two really hefty VPS. This allows us to implement the infrastructure at the beginning that will allow for rapid expansion rather than suddenly finding ourselves maxing out one or two fat VPS’ with no systems in place. Once we have these four instances then we will scale up - in fatness. That is, we’ll move to 512 MB, 1024, and eventually 2048 MB as needed. But the infrastructure to scale comes first.

Monitoring/Analytics:

As mentioned in an earlier post, I had used in-house monitoring software in the past but chose to outsource this as well. By doing so I reduced hardware costs and surface area for security attacks. We use Google Analytics to track traffic patterns and Scout App/Mon.itor.us for site/hardware monitoring. We use Slicehost backups to image the servers on a daily basis and also take regular snapshots of the site - including some kept in a cloud-based SVN - as well as dumps of the MySQL databases which are kept off-site from Slicehost.

Upcoming Infrastructure:

Besides scalability improvements as mentioned under the server topic we want to create some Amazon EC2 instances. These won’t run generally - as the cost for an Amazon EC2 instance is significantly more expensive (though it isn’t an apples-to-apples comparison) - instead they’ll exist in the case of a Slicehost system failure. We can boot them up in five minutes and have our DNS (which propagates extremely fast) handle the IP updates almost instantaneously.

Conclusion:

Cloud-based isn’t the way for everyone to go, and considerations (especially as one grows) need to be made for the inevitable system outages a single provider can experience (e.g. Amazon’s S3). But for systems that are light on storage and looking to keep initial overhead costs low - cloud-based can be an efficient and forward-looking solution. Not to mention one can stamp one’s company as green - considering the significant reduction in power utilization, etc. caused by virtualization and consolidation in a cloud-based scenario.

P.S. Feel free to ask me any questions you may have about the Informed Networker infrastructure.

Zemanta Pixie

3 Responses to “Informed Networker’s Infrastructure.”

  1. on 23 Jul 2008 at 2:44 am 1.Database Management » Blog Archive » Informed Networker’s Infrastructure. said …

    [...] BlogBytes wrote an interesting post today onHere’s a quick excerptImage by Matalyn via Flickr. NO THIS ISN’T OUR NETWORK!! Introduction: Today I’m going to take a few minutes to walk you through the network infrastructure that underlies Informed Networker, as well as some of our near-future plans for expansions. DNS: In order to for visitors to reach your website via a domain name (e.g. informednetworker.com) you need to have DNS records. DNS is similar to a phone book. Look up a name and you find a telephone number. With DNS you look up a name and find [...]

  2. on 24 Jul 2008 at 7:00 pm 2.John P said …

    David,

    Interesting article. A little scary about your fondness for Dell servers….. :)

    I will have to check out slicehost. I use Webstrike Solutions (which you told me about year and years ago).

    John

  3. on 25 Aug 2008 at 5:16 am 3.Archi said …

    Thanks for information. Friends send me a link. Intresting. Favourited! Will come soon!

Trackback This Post | Subscribe to the comments through RSS Feed

Leave a Reply