Monthly Archives: February 2008

Apple’s Time Capsule Cometh

AppleOrderWindow

Well, after placing my order on January 20, 2008 my 1 TB Time Capsule has shipped today!

I am very anxious to get this little toy and be able to have Time Machine backup to my Time Capsule without me even thinking about it.  I am planning to take a few pics of the unboxing, not because I really have to but because I have never done one of those lame unboxing posts.

 

Checking out the new Ruby web framework called Waves

waves-logo

I recently had the pleasure to interview Dan Yoder, the creator of a new Ruby web framework called Waves.  Waves is a MVC framework, like that of Ruby on Rails but takes on some very unique ways of doing things and it piqued my interest.   I missed Waves when I wrote about 10 Alternative Ruby Web Frameworks recently and Dan pinged me to let me know about Waves.

Dan has leveraged existing technology were appropriate, such as:

It’s great to see web frameworks being created for Ruby, a perfect example that the success of Rails continues to drive innovation.

You can read my interview with Dan on InfoQ and checkout the Waves feature list on the Waves web site.

 

Technorati Tags: ,,,

ZigVersion and RailsPlayground Subversion Hosting Rock

I have a few Ruby on Rails applications I maintain outside of the commercial work I do. These applications are important to me but I have been very bad at keeping them in any source control until today.

I use RailsPlayground with a VPS for my personal hosting and I have been very happy with the hosting and the service in particular. I started looking around for a free or cheap Subversion hosting source and was pleasantly surprised RailsPlayground provides this to their VPS clients.

Pretty decent specs compared to some of the paid-for Subversion hosting plans:

Advanced Subversion and Trac Hosting

In addition to your normal webspace with our hosting plans you will receive a free account on our dedicated SVN and Trac Server with the following features.

* 1 GB Disk Space
* 10 GB Traffic
* Unlimited repositories
* Unlimited users for each repository
* Trac installed automatically via our custom control panel
* Your own Bugzilla instance by request
* Nightly offsite backups
* RAID 1 Data protection
* Secure HTTPS and HTTP access to your svn repositories
* Free with any of our current hosting packages.
* Just send an email to support@railsplayground.com to request access to this service once you have signed up.

I sent an email to support and less than 1/2 hour later I had a new account in their Subversion system and ready to go. I am doing much of my Rails work on a MacBook Pro and Subversion from the command line has not been my favorite way to work. I guess I am used to TortoiseSVN on Windows.

Welcome ZigVersion, a SubVersion client for the Mac from my good buddy Mike Gunderloy over at A Fresh Cup. A quick Twitter chat with Mike and I had the answer I was looking for, a great Subversion client for my Mac. The installation was trivial, as usual on the Mac, and connecting to my SubVersion repository was as well.

I simply added my project files via ZigVersion and checked in…done. The user interface is pretty sharp too.

ZigVersion

I am going to use this for my personal projects, since the client is free, but I will also see how well this works over the long-term and may look to buy a license of ZigVersion for commercial work.

I am also looking at using Git since I was lucky enough to score an invite to GitHub but I wanted to get something up fast and I am just get familiar with Git.

The iPhone and iTunes surprise me with a cool feature

itunesI have been using an iPhone for about 5 months now and love the thing, it is the single greatest gadget I have ever bought.  One reason I bought it was to  replace my aging iPod Mini.  I listen to as many podcasts as I can on my commute to client sites but also listen to the same podcasts on my PC when I am working at home.

One feature of iTunes and the iPhone I totally stumbled upon is one of its syncing features;  When I am home listening to a podcast and then take to the road I always sync my iPhone so I have the latest podcasts from my subscriptions.  I get in my car and finish the podcast I was listening to in my home office and viola…it starts in the same place I left off.  How cool is this??   Sure, it’s a small thing but it’s one feature that makes me glad I own an iPhone.  Topping it all off is when I come back home and sync the iPhone again, it updates the spot in the podcast I left off at in my car.   Two-way book marking, very cool indeed.

My old iPod did not do this, but either the iPhone or the latest iTunes has added this great little feature. 

Technorati Tags: ,,

links for 2008-02-21

links for 2008-02-20

Interesting reaction to Amazon S3 failure today around the web

I blogged about my thoughts on the Amazon S3 failure today and what it meant to me and cloud computing in general. There was a fair amount of reaction and feedback out on the web and I wanted to share the comments I enjoyed most.

It is interesting how fast the blogs pick up on a failure by someone like Amazon, almost like vultures.  I guess most people look for a ding in the armor of companies with spotless records.

I like the reaction from SmugMug who was not effected by the outage.  I write for InfoQ, who recently switched over to Amazon S3 and EC2 for their video distribution and we were not effected at all.  The configuration we have was implemented in such a way that caching saved us.

Technorati Tags: ,,,

Thoughts on Amazon S3 Outage and Cloud Computing

I am pretty sure that by now everyone has heard about today’s outage of Amazon Web Services, their S3 service in particular.

amazonweb I noticed there was a problem this morning when the avatars on Twitter were not showing up.  I know Twitter uses Amazon S3 to host the avatars but thought the issue was with Twitter because they constantly have problems keeping the service running.  I gave little thought that the problem might have been Amazon S3 service instead.

The coverage on the Internet spread like wildfire and the details and speculation can be found many places, including TechMeme which has lots of links and the list is growing.

I am not posting to report the Amazon outage (a million before me have already done so) but more to reflect on it and give some of my thoughts about using services like S3 and EC2 versus other ways of accomplishing the same tasks.  I don’t have the answers, just some thoughts and opinion.  I would like to hear from readers who may have more experience than I with this. 

I have been thinking lately about the best way to host my applications, either in part or full.  Right now I use a hosting provider, RailsPlayground, to host a couple Ruby on Rails applications.  I have a single VPS setup with them and have never had a problem, but I could.  The applications hosted there are small and if the VPS was down for a period of time I doubt it would matter much.  The pricing is right but there is no redundancy.

I have a couple additional applications I have been working on and the thought of hosting them is where my concerns are.  Hosting them could be done one of several ways:

  • Slices/VPS – Slicehost or RailsPlayground
  • Clustered Slices – Engine Yard
  • Dedicated Server – co-located and managed
  • Compute Cloud – Amazon EC2

All options have their strengths and weaknesses with regards to costs, scalability and reliability.   My biggest concern at this point is balancing reliability with costs.  We can easily through money at the problem if money was no object.  Even with virtually unlimited funds such as those Amazon has, they are obviously not excluded from downtime issues.

I don’t know the cause of Amazon’s downtime but do they have S3 or any of the other services running in a single data center?  Even if the data center is huge it still has a single point of failure.  It could also be their disaster recovery procedures were not tested well enough.  I think we will hear more and more coming from Amazon about the exact cause of the problem, any disaster recovery issues and a statement to the effect of why this will not happen again.

Relying on the Cloud

Can we rely on what we put in the cloud to be available?  How will we be effected by having our applications unavailable while there is some downtime?

I think I can characterize my use of the cloud by application level, which is probably like other users as well:

Level 1 Application – used daily but can live without, won’t really miss if gone.  An example of this type of application is Twitter.  Lately, this service has been down more than it has been up, but life goes on.

Level 2 Application – used daily but depending on the day, will be a productivity loss if down.  An example of this is Google Docs or GMail.

Level 3 Application – used daily and cannot be down without financial loses.  An example of this may be my own web applications I make a living on.

So how can I position my applications to give me the most uptime without throwing money at the problem unnecessarily?    I would think a single location with a single database is asking for problems.  The solution that stands out in my mind for a solution to my particular problem would be to used managed services hosting the applications on VPS slices on a cluster across multiple data centers, in different states or even continents.  I know Engine Yard does this but I don’t know if Amazon does this with EC2.  If they don’t, they should.  If EC2 was fully down today then Amazon needs to rethink their strategy a bit.

Service Level Agreements

Problems happen to the best of companies and we know uptime is not 100% guaranteed. 

Looking at part of Amazon’s Service Level Agreement (SLA), they admit they can’t ensure 100% uptime and will pay customers back for anything less than 99.9% uptime.

Service Commitment

AWS will use commercially reasonable efforts to make Amazon S3 available with a Monthly Uptime Percentage (defined below) of at least 99.9% during any monthly billing cycle (the “Service Commitment”). In the event Amazon S3 does not meet the Service Commitment, you will be eligible to receive a Service Credit as described below.

SLAs are a fair statement as to the importance of uptime to the company but no real guarantee.  The company gives us their best and will refund anything less, which is more than fair.

Final Thoughts

Amazon’s S3 downtime today just really got me thinking how risky it could be for users to rely on the cloud for computing.  The concept is great but even large companies like Amazon with massive infrastructure are still prone to problems. 

It makes me think how I run my business and how I can minimize downtime.  I certainly can guarantee 100% that the services I host will never be down.  I can only do my best and have a recovery plan.

The same is true for those services like Twitter who takes its share of slams for not being up all the time.  Heck, it’s a free service and they have a huge number of users, they are growing and we will experience pain.  Amazon S3 has experienced its real issues today and they will get better.  We can only learn from mistakes and weaknesses, this will be a learning experience.  It has opened my eyes.

Technorati Tags: ,,,

links for 2008-02-15

Good Merb and DataMapper Tutorial from Atlantic Dominion Solutions

There’s no doubt about it, Ruby on Rails is hot, but not the only game in the Ruby web framework town.  Many Ruby developers are Ruby developers because of Ruby on Rails but these developers are missing out on a web framework just a year old, Merb.

Merb is a web framework created by Ezra Zygmuntowicz, founder of The Engine Yard which provides its own solution to building web applications based on their work with Rails and leveraging some of the downsides to build something better.   Rails uses ActiveRecord to access data but Merb lets the developer choose from others, including DataMapper.  DataMapper is an ORM increasing in popularity due to its simplicity.

I have found a blog over at Atlantic Dominion Solutions that provides some good information on using some of the latest coming from the Ruby world.  One such nugget was an article by Chris Kaukis titled Merborial: Getting Started with Merb and DataMapper.

The article covers:

  • Installing DataMapper
  • Installing Merb
  • Installing DataMapper drivers for Merb
  • Installing Merb Helpers
  • Creating a Merb application
  • Connecting up to DataMapper
  • Database setup and Configuration with Merb
  • Running the Merb application

This is one of those tutorials I had thought to create and blog about but ADS has done this already, so I just wanted to point it out and let you in on a great resource in the ADS blog.