Archive for August, 2008

chi.mp 1.5 Released

We’ve released version 1.5 of the chi.mp service, with a list of the major changes published on the chi.mp blog.

This was a tough but important release. We’ve implemented some significant architectural changes to improve the performance of the system and to make it easier for us to support a growing community of owners over the next few months. The actual release process was relatively smooth, but any time you make a major changes to your operational architecture (like moving certain processes from a single machine to multiple machines) you face new integration challenges. Ultimately I am pleased with the results and feeling very good about our ability to grow going forward.

,

No Comments

Rails 2.x Configuration Cheat Sheet

One of the under-documented elements of Rails is the options available during configuration. Technically, these elements are documented (there are explanations for each in the source code) however they do not appear in the online documentation at api.rubyonrails.org. To assist myself and others I have created a Rails 2.x Configuration Cheat Sheet. I’ve placed it up on github, so feel free to use it within the constraints of the license (Attribution-Noncommercial-Share Alike 3.0 United States).

,

3 Comments

PowerDNS + Postgres + Ruby scripts = DNS Nirvana

If you have to do anything with DNS I strongly suggest taking a look at PowerDNS. This open source DNS server rocks. The authors are on top of all of the issues around DNS, patch as soon as necessary and in general just make the thing stable. The real beauty though is when you combine PowerDNS with PostgreSQL and throw in a dash of Ruby for kicks. With this combination you get a simple means for adding and modifying records on the fly along with support for DNS configurations that aren’t even possible with a static DNS server.

PostgreSQL will handle all of your simple, standard DNS records and Ruby can be used to handle more esoteric things like wildcard matches for DNS resolution and other nifty things. PowerDNS will cache your queries avoiding the need to go to the database for every request and you can easily throw new records into the database and server will respond instantly without needing to reload zone files and the like. Highly configurable and elegant!

, , , ,

1 Comment

Under The Covers: EC2 IP Address Allocation

When you decide to assign a static IP address to an EC2 instance it is important to understand how the underlying host assignment will work. Let’s say I have an instance with the EC2 host name of ec2-1-2-3-4.compute-1.amazonaws.com and in my pool of allocated addresses I have 50.60.70.80. If I assign that IP address to the instance then the EC2 host name will change to ec2-50-60-70-80.compute-1.amazonaws.com. From this we can assume that the instance has been moved from the original host to the new host. That’s how EC2 handles IP address assignment. The potential issue behind this arises if you use CNAME records to refer to the original host. Those CNAME records will no longer work because they point to the original host. This problem becomes even more evident when you disassociate an IP address from a host. If you are using CNAME records to point to the the ec2 address you will have to modify them.

The best way to handle all of this would be to set up an automated system that can automatically change a CNAME record if the host name changes. This has the added benefit of being able to gracefully handle recovery. You can also do it by hand. In any case make sure that CNAME record TTLs are low so that when a change does need to occur, caching DNS servers don’t hold onto your old records for too long.

No Comments

Open Communication

One of the big differences I’m noticing about how I do business now versus how I did business several years ago is that there are a lot more ways to have open conversations with my customers. Twitter may still only resonate with the early adopter crowd, but when that is your target audience it ends up being a great way to communicate. People fire out thoughts about your service and you can actually respond to them in a way that lets other people not only see the response but contribute. The same can be said about Get Satisfaction, which is a nifty community-based support site. Chi.mp uses both and in both cases I feel joy in contributing. True, sometimes the feedback can be harsh, but any feedback is good feedback when your developing a product.

No Comments

Identity Management in Ruby – erubycon Presentation

Here are the slides from my presentation at erubycon 2008 on Identity Management in Ruby.

Identity Management in Ruby slides

This presentation was a bit different than what I usually do as there were no code samples – it was more introductory.

, ,

No Comments

Yes, That Does Say V7

I’m not a big fan of system administration. I can honestly say I despise it. For a couple years a ran my blog on my own server and had to deal with the operational issues that came with that…well no more I say! I am now going to run on hosted Wordpress and see how that goes. At some point I may try to dig up some old posts that people may still be interested in, but mostly I’ll just pick up where I left off with new posts. Let the games begin.

2 Comments