The sheer number of Amazon Web Services is a blessing but can also be an embarrassment of riches. Savvy startups know that choosing the right option for their purposes will make their lives easier and their company potentially more profitable.
As an example, check out this Medium post by Talko software engineer Ransom Richardson on why Talko chose to use Amazon’s DynamoDB NoSQL database service over [company]Amazon[/company] RDS managed MySQL database service. Talko is latest project of former Microsoft chief software architect Ray Ozzie. Its goal is to make smart phones better collaborative tools by, among other things, improving the quality and flexibility of voice calls. Ozzie and company have been vocal about their desire to use tools and services from AWS, Microsoft and potentially other clouds to build their product.
The whole post is worth reading, but in short, Richardson summarized why DynamoDB was better suited to Talko’s design goals than RDS.
From the post:
From the beginning Talko has prioritized building a reliable and scalable service. Even with RDS configured for multi-[Availability Zone] operation we would see the database be unavailable for a couple of minutes during a failover. That length of outage was unacceptable for our service, so we needed to find a different solution.
Since switching to DynamoDB we have not had any outages due to database unavailability. We do regularly see some operations timeout or take much longer than normal. There have also been a couple of short periods when a large number of operations have had transient failures. However, unlike the complete outage during MySQL failover, we have been able to continue functioning during these events.
That is not to say that DynamoDB is the end-all-and-be-all. Among its limitations:
There is no ability to run your own code within the database, so doing complex operations over an entire table requires pulling the data out of the table for processing. That can be done using the DynamoDB integration with EMR and Redshift, but DynamoDB is not the best option when that is the primary type of workload.
Check out the rest of the post for the lessons Talko learned from its experience here and expect to hear more along these lines of AWS deployment lessons next week at AWS Re:Invent.
The wide availability of lots of new web services not only from AWS but Microsoft, Google, IBM,etc. makes this a potentially lucrative — and confusing — time to be a startup. You really do need a scorecard to track not only new features and functions, but new pricing that changes almost daily.
For more on Talko’s use of cloud services, check out our Structure Show podcast with company co-founder Matt Pope.