Tag Archive: amazon

My Weekly Bookmarks for October 30th

Here’s my bookmarked links for October 26th through October 30th:

SQL Server Links

#SQLPASS Links

Tech Links

The Junk Drawer

These bookmarks are automatically imported from my bookmarks at Delicious.com. If you’d like to get up-to-the-minute updates on what I’m bookmarking, you can subscribe to my bookmark RSS feed.

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

Website - Twitter - Facebook - More Posts

Cloud-based database thoughts before #SQLPass

Next week at the PASS Summit, I’m presenting a session called “Yes, I’m Actually Using The Cloud.” I’ll be talking about what’s out there, why I use it, and why you might want to use it too.

Brendan Cournoyer of SearchSQLServer.com interviewed me recently about the topic and asked questions like:

  • For those who are relatively unfamiliar with cloud computing, what is the case for cloud-based databases? Is it all about performance?
  • Aside from questions about security, what are some other reasons why folks might be hesitant to deploy cloud databases?
  • What about other cloud database options? Relational databases in the cloud are rare. From a SQL Server perspective, how does Azure compare to the other options that are available?

You can read my answers in the interview at SearchSQLServer.

Amazon RDS: New Azure Competitor

Today, Amazon announced a new competitor to SQL Azure: Amazon Relational Database Service.  It’s got some compelling advantages:

  • It’s basically MySQL with some added goodies. If you already know and love MySQL (I don’t know it well, so I don’t love it – yet), it’s easy to love RDS.
  • Amazon handles basic management. They do patch management, backups, restores, and export performance statistics to Amazon CloudWatch for free.  To some extent, they’re providing production database administration as part of the cost.
  • It leverages Amazon’s storage for snapshots. You just tell Amazon how many days of history you want to keep, and they handle it for you without you understanding anything about recovery.
  • Coming soon: high availability with replication. You’ll be able to replicate your MySQL databases between Amazon’s different datacenters without a fancypants database administrator.

If I was a MySQL production DBA, you’d hear my eyebrows raising.  I’d be worried about my long-term job prospects.  From here, it’s a race to the bottom.  Suddenly there’s a service out there that provides some of the same functionality that production DBAs provide, except it’s available by the hour.

What’s the Cheapest Way to Solve a Problem?

How Low Can You Go?

How Low Can You Go?

If I was the project manager for an app with a MySQL back end, you’d hear my sigh of relief.  If I could move my app to Amazon RDS, suddenly performance issues have a completely different solution.  I could either pay a MySQL DBA to find the root cause, or I could simply choose a faster/stronger/better Amazon instance size.

A “small” instance is 1 core with 1.7GB of memory.

A “quadruple extra large” instance is 8 cores with 68GB of memory.

The price difference between these two is roughly $3 per hour.

How much do you think a MySQL DBA costs?  It’s gotta be more than that.  Why would you pay a DBA if you can simply ramp up hardware capacity?  Now, of course as DBAs, we know that model doesn’t scale forever.  You can still run into performance problems at the Quadruple Extra Large instance level, but project managers will gamble that their apps will still survive long enough for Amazon to introduce faster instance power.

The Best Kind of Cloud Service

This is my favorite kind of cloud service.  It’s not vendor-specific, so you can build your app with a MySQL back end without committing to using Amazon RDS.  If Amazon pulls the plug on RDS next year, no biggie – you can still run it on any hosted MySQL service.  You can’t do that with Amazon SimpleDB, which is proprietary. Even better, Amazon RDS is full-blown MySQL, not hobbled in any way.

SQL Azure falls into an odd niche, because you can develop for it without worry.  If Microsoft pulls the plug on Azure, you can still use your app with “real” SQL Servers, because Azure is just a crippled SQL Server implementation. (That’s a good thing and a bad thing.)  However, if Azure dies off, you’re stuck with moving to SQL Server, not exactly the cheapest solution around.  Microsoft offers free-for-a-while licensing with BizSpark and WebSpark, so you can at least buy time, but sooner or later you’re going to face licensing costs.

I love announcements like this because I see it as an exciting time to be a solutions provider.  Like I blogged yesterday, DBAs are always consultants, and we need to view ourselves as providing a service.  Amazon RDS, like other tools, is something that can either compete with us or be part of our toolset.  Figure out how to use it as part of your skillset, or else you risk getting displaced by it.

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

Website - Twitter - Facebook - More Posts

My Weekly Bookmarks for October 9th

Here’s my bookmarked links for October 2nd through October 9th:

SQL Server Links

Tech Links

The Junk Drawer

  • I Love That Game – Brilliant criminal minds at work.
  • Twitter Data Analysis: An Investor’s Perspective – A bunch of oddball stats about Twitter users and their histories.
  • Will Work for Whuffie? – Why you have to charge fees for speaking engagements when you hit a certain level of fame. (No, I’m not there yet, hahaha, but even if I was, my speaking engagements are free because I’m a service of Quest Software. No, not that kind of “service,” buddy.)

These bookmarks are automatically imported from my bookmarks at Delicious.com. If you’d like to get up-to-the-minute updates on what I’m bookmarking, you can subscribe to my bookmark RSS feed.

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

Website - Twitter - Facebook - More Posts

My Weekly Bookmarks for October 2nd

Here’s my bookmarked links for September 25th through October 2nd:

SQL Server, Cloud, and Tech Links

Writing, Blogging and Networking Links

The Junk Drawer

These bookmarks are automatically imported from my bookmarks at Delicious.com. If you’d like to get up-to-the-minute updates on what I’m bookmarking, you can subscribe to my bookmark RSS feed.

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

Website - Twitter - Facebook - More Posts

My Weekly Bookmarks for September 4th

Here’s my bookmarked links for September 1st through September 4th:

Tech Links

The Junk Drawer

These bookmarks are automatically imported from my bookmarks at Delicious.com. If you’d like to get up-to-the-minute updates on what I’m bookmarking, you can subscribe to my bookmark RSS feed.

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

Website - Twitter - Facebook - More Posts

The Cost of Log Shipping SQL Server to Amazon S3

Want to know how much it’ll cost to back up your database transaction logs to Amazon S3?  I’ll show you with a snippet of T-SQL.

Note the parameters at the top for retention periods.  The defaults assume one full backup weekly.  DBAs would normally want to do full backups more often, but when you’re paying by the upload, you may want to consider only uploading one full backup per week and then uploading transaction log backups the rest of the time.  You can still take full and differential backups locally for faster local recovery times as long as you set your backup parameters correctly so that you don’t break your log chain.

The @months_to_retain_full_backups parameter says we’re storing two months of full backups in S3.  This gives you some offsite flexibility while minimizing your upload costs.

The upload cost is set at $.10 per gig because that’s Amazon’s long-term price.  There’s a temporary sale going on for $.03 per gig for uploads, but you can’t set your budget by that.

With no further ado, here’s the query.  If it doesn’t work on your system, let me know – this is a really rough draft that I’ve only used on a dozen or so systems, and it wouldn’t surprise me if it’s got bugs.

DECLARE  @upload_cost_per_gb              DECIMAL(6,2),
         @storage_cost_per_gb             DECIMAL(6,2),
         @days_to_retain_log_backups      INT,
         @full_backups_uploaded_per_month INT,
         @months_to_retain_full_backups   INT
 
SET @upload_cost_per_gb = .10
SET @storage_cost_per_gb = .15
SET @days_to_retain_log_backups = 14
SET @full_backups_uploaded_per_month = 4
SET @months_to_retain_full_backups = 2
 
SELECT   bs.database_name,
         COUNT(* ) AS backups,
         SUM(bs.backup_size / 1000000000) AS transaction_backup_size_gb,
         SUM(bs.backup_size / 1000000000 * @upload_cost_per_gb) AS transaction_backup_upload_cost,
         SUM(bs.backup_size / 1000000000 * @storage_cost_per_gb / 30 * @days_to_retain_log_backups)
                   AS transaction_backup_storage_cost,
         (SELECT   TOP 1 (fbs.backup_size / 1000000000)
          FROM     msdb.dbo.backupset fbs
          WHERE    bs.database_name = fbs.database_name
                   AND fbs.type = 'D'
          ORDER BY backup_start_date DESC) AS last_full_backup_size_gb,
         (SELECT   TOP 1 (fbs.backup_size / 1000000000 * @upload_cost_per_gb
                          * @full_backups_uploaded_per_month)
          FROM     msdb.dbo.backupset fbs
          WHERE    bs.database_name = fbs.database_name
                   AND fbs.type = 'D'
          ORDER BY backup_start_date DESC) AS full_backup_upload_cost,
         (SELECT   TOP 1 (fbs.backup_size / 1000000000 * @storage_cost_per_gb
                          * @full_backups_uploaded_per_month * @months_to_retain_full_backups)
          FROM     msdb.dbo.backupset fbs
          WHERE    bs.database_name = fbs.database_name
                   AND fbs.type = 'D'
          ORDER BY backup_start_date DESC) AS full_backup_storage_cost
FROM     msdb.dbo.backupset bs
WHERE    bs.type = 'L' /* log backups only, not diffs or fulls */
         AND bs.backup_start_date >= DATEADD(dd,-30,GETDATE())
GROUP BY bs.database_name
ORDER BY bs.database_name

This query revolves around transaction log backups, but if you only do incrementals, you could change that bs.type = “L” filter in the query to be “I” instead, and you’ll get the cost on incrementals.  I don’t have a query for databases that only do full backups, but frankly, if you’re only doing fulls, your data probably isn’t important enough to get internet-based online backups available.

This query is good for more than just gauging costs, too: keep in mind that your internet connection will need to be able to handle uploading your backups out to Amazon S3.

This is only a ballpark estimate. There are other costs that this query does not cover.  For example, Amazon charges you for some types of requests, like checking directory contents.  These costs can vary, but they’re generally very small relative to the bandwidth and storage costs.  This query also doesn’t check for backup compression, but if you’re paying by the byte for bandwidth and storage, you should seriously consider using backup compression.  The ROI is extremely high: software like Quest LiteSpeed pays for itself here in no time.

If this topic interests you, I’ll be discussing it in much more detail during my “Log Shipping To The Cloud” session at the SSWUG Virtual Conference on Thursday.  (Use VIP code SPVBOZSP09 for $10 off the $125 entry price.)  If you register for the V-Conference, you can watch the sessions whenever it’s convenient for you – not just Thursday.  However, if you happen to watch it during the first showing on Thursday, I’ll be online in the chat room for the session and you can ask me questions live.

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

Website - Twitter - Facebook - More Posts

Spring SSWUG Virtual Conference coming up

Last fall, I spoke at the SSWUG Virtual Conference and had a really good time with it, so I signed up again to do the Spring SSWUG Virtual Conference too.

sswug-virtual-conferenceHere’s how it works: I fly out to Tucson to record my sessions in SSWUG’s sssswanky TV studio ahead of time, and then you can watch all of the sessions in your web browser later.  On the release days, when my videos are scheduled to go out for the first time, I sit in on the sessions in the chat room.  I answer questions you’ve got about the material, clarify things, and the other attendees can also share tips and tricks in the chat.  If you can’t clear your schedule on the release days (April 22/23/24), you can go back and watch the videos later – the only drawback being that I won’t be there to hold your hand while you watch it.  Of course, you can always email me with questions too, or catch me on Twitter.

I’m really excited about my sessions:

Log Shipping to the Cloud

In an ideal world, we’d have a standby SQL Server in a disaster recovery datacenter, but we can’t always afford that luxury. In this session, Brent Ozar will explain how to log ship your databases to Amazon S3, a cloud-based file service, and bring up a standby SQL Server in the event of an emergency. It’s like having your own disaster recovery datacenter, but without the cost – until emergency strikes.

Reaching Compliance with SQL Server 2008

To become a production DBA at a public company, hospital, bank or even just a security-minded firm, you need to understand the basics of regulatory compliance. In this session, you’ll learn how to talk the language and learn what tools are available in each version of SQL Server to make your job easier.

SQL Server Encryption

Regulatory compliance needs are a big pain point for DBAs. How do we make sure our data stays safe? Brent will explain the options available for SQL Server 2005 and 2008, do a Transparent Data Encryption implementation with SQL 2008, and demonstrate its strengths and weaknesses. Attendees will get scripts and sample Policy-Based Management policies.

Plus Great Sessions by Much Smarter Guys

Get a load of these:

  • Using Database Mirroring for High Availability by Eric Johnson
  • Become Your Own Picasso: Writing Better T-SQL by Jason Strate
  • Disk IO Tuning for SQL Server 2005 by Kevin Kline
  • 7 SQL Server Development Practices More Evil Than Cursors by Paul Nielsen
  • Panic! Disaster Strikes by Sarah Barela
  • Visual Studio Team System Database Edition – Managing Database Deployment by Ted Malone
  • Optimizing Backup and Restore Performance by Tom LaRock
  • Auditing Your Users by TJ Belt

And I’m only scratching the surface – check out the full list of SQL Server abstracts.

Register for the SSWUG V-Conference now and use VIP code SPVBOZSP09 for $10 off.  That coupon code can be combined with other discounts, too, like the early bird registration or the alumni registration.

This is a heck of a lot of quality training for less than $100.  I’ve heard from a lot of DBAs whose training budgets have been sliced away, and I gotta tell you that this is probably the best way to spend $100 on training.  The video style is really easy to follow, the speakers are just top notch, and the subject matter is really appropriate for what DBAs have to do in their jobs.  I hope you join me in my sessions!

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

Website - Twitter - Facebook - More Posts

Spring SSWUG Virtual Conference

Ah, spring – that time of year when young men’s thoughts turn to T-SQL.  The next SSWUG V-Conference will be April 22-24th, and I’ll be giving a few sessions:

Log Shipping To The Cloud (300-level)

In an ideal world, we’d have a standby SQL Server in a disaster recovery datacenter, but we can’t always afford that luxury. In this session, I’ll explain how to log ship your database to Amazon S3, a cloud-based file service, and bring up a standby SQL Server in the event of an emergency. It’s like having your own disaster recovery datacenter, but without the cost – until emergency strikes.

Attendees will learn:

  • What Amazon S3 is, and how it works as a log shipping target
  • What Amazon EC2 is, and how you can turn on a new SQL Server in the cloud in a matter of minutes
  • Best practices learned from real-life deployments

Log Shipping Basics (100-level)

The boss wants you to plan for disaster, and wants to know the business will be protected if the production SQL Server goes down. Be armed with answers about log shipping with this presentation, which will cover the basic concepts and how to implement it.

Attendees will learn:

  • Best practices for log shipping setups
  • How to use the secondary server for reporting purposes
  • Risks involved with log shipping, and how to avoid them

Reaching Compliance with SQL Server 2008 (200-level)

To become a production DBA at a public company, hospital, bank or even just a security-minded firm, you need to understand the basics of regulatory compliance. In this session, you’ll learn how to talk the language and learn what tools are available in each version of SQL Server to make your job easier.

SQL Server Encryption (200-level)

Regulatory compliance needs are a big pain point for DBAs. How do we make sure our data stays safe? I’ll will explain the options available for SQL Server 2005 and 2008, do a Transparent Data Encryption implementation with SQL 2008, and demonstrate its strengths and weaknesses. Attendees will get scripts and sample Policy-Based Management policies.

If you sign up to attend, I’d highly recommend watching the live sessions on those days (22nd-24th) instead of watching the recorded sessions.  During the live sessions, some of the speakers actually attend, and you can ask them questions in the chat room.  I’ll definitely be there for all of my live sessions.

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

Website - Twitter - Facebook - More Posts

Amazon Web Services Explained

Amazon Web Services

Amazon Web Services

Kalen Delaney is having a tough time getting her arms around Amazon SimpleDB as a concept, and I hear this kind of question a lot.  What is Amazon S3?  What is Mechanical Turk?  How do these things matter to a real business?  I’ve got a story I like to tell around how to use these services, but for a couple of years I’ve held back from posting it publicly because I dreamed I’d build that business.  Those days are over – I’m too comfy in my job to start a business, hahaha, so here comes the story!

Pretend We’re A Survey Company

I used to work for a hotel & restaurant survey company.  Believe it or not, there’s good money to be made in comment cards, and it’s a much more complicated business than you might think.  Turns out it’s also a perfect candidate for doing business in the cloud.  Hotels are switching to email-based comment cards that lead to surveys on the internet, and it’s a whole new ball game.

Some of the challenges involved with running a survey company on the internet are:

Instant scalability needs.  When you sign large hotel chains as a client, you don’t have the time or money to pour into more IT resources.  The money won’t come in for months, but the data starts coming in right away.

Huge load fluctuations.  Everybody wants their month-end reports on the first of the month, and everybody wants high-end analytics that require a lot of number crunching.  You can’t precalc them ahead of time even on a daily basis because they rely on things like standard deviation, which have to be calculated on the whole set of results.  If we build a datacenter to handle these needs, it sits idle all but two or three days per month.

Worldwide user base.  Hotel guests all over the world take surveys around the clock.  Throw in language barriers – not only do your surveys need to be translated into many different languages, but even the survey responses have to be translated back for the hotel staff.  Hotels in New York City receive comments in many languages, but the hotel staff only speaks a few.  Every comment matters, and we have to get them into a language the hotel can understand.

Diverse source systems. Hotels want their front office computer systems to drive the survey process.  They want to send a survey to the guest the morning of checkout, automatically, without doing a lot of manual data shuffling.  That means accepting a lot of data feeds in a lot of formats, parsing and importing those, and then sending out the surveys.  We need a really robust set of pipes for our data.

Need to accommodate old-fashioned surveys – some hotels still use paper survey cards, or they might leave paper cards out on the desk for people who didn’t want to provide an email address.  These paper surveys may get into our system via fax or via scanner, but the end result is always an image of a survey card.  We need to parse that survey to determine who it belongs to, which checkboxes the user colored in, push the results into our database, and snip out the comment and contact areas to be manually transcribed by a typist.  These results also need to get into our monthly (or daily) reports just like the electronic cards.  Note that this makes our time demands even tougher – hotels will send in their paper comment cards on the last day of the month and expect them to be on the month-end reports the next morning.  (Customers – the bane of our existence, right?)

Amazon Web Services solve these problems.  It’s not the only solution, but it’s an intriguing solution.  But let’s not get ahead of ourselves – let’s design our ideal solution first, and then see how Amazon’s services work.

Our Ideal IT Solution Includes…

If we could start from scratch, we would design a system that includes:

Services, not servers. For example, I know I’m going to be storing images from comment cards, but I don’t want to start guessing when I need to buy more hardware, and I don’t want to buy too much that sits around idle.  I want a file storage service that charges by volume, because I can relate those costs back to specific customers easily.  Heck, I can give a discount to customers who don’t use paper cards, or I can charge extra for paper card image storage.  Want to keep your images online for six months?  No problem – here’s the charge.  (That service is Amazon Simple Storage Service.)

A data queue that scales. I want an Enterprise Service Bus, but without the crazy expense.  I need to be able to have a queue that takes in hotel guest information from all my customers, and I’ll have servers handling those results.  I need a queue that lists which comments need to be transcribed, another queue that lists which hotel results are ready to be crunched, and so on.  I don’t need to handle them instantaneously – a queue rather than a database would be fine if it would save me money.  (That service is Amazon Simple Queue Service, and it’s absurdly cheap: one cent per 10,000 messages!)

When I do need servers, I need to change numbers by the hour. When I can’t have services, like when I need to crunch complex information or when I need to import those paper survey images to determine which checkbox a user filled in, let me spin up and spin down servers with a mouse click – or even better, automatically via an API.  I want to be able to code something that will check the incoming survey queue results and turn on servers to accommodate demand.  (That service is Amazon Elastic Compute Cloud.)

A human translation service that scales. Machine translation sucks. Hard. It works great in theory, but it’s still not good enough to pass the sniff test by hotel general managers who speak multiple languages.  They spot machine translations from a mile away.  We have to use a human translation service that passes each comment through multiple people, and maybe uses a reputation factor to decide which translators are good (and therefore don’t need as much double-checking) and which ones are wasting our money.  (That service is Amazon’s Mechanical Turk, perhaps my favorite of the Amazon Web Services.)

And finally, I need a database. I don’t have complicated data needs – especially once I brought in that queueing service, which takes a lot of processing load off.  I just need to store basic data. It needs to handle a lot of throughput, but not necessarily have fast response times, because the heavy crunching is going on on my analytical boxes anyway.  In a perfect world, I’d have SQL Server – but I might be willing to make compromises here if I can get the rest of my needs taken care of.  (So for better or worse, that service is Amazon SimpleDB.)

Our Ideal Solution Doesn’t Necessarily Include…

And let’s take a moment to look at what we’re NOT including, because that affects our cost equation too:

Point-in-time auditing. I don’t need to restore my entire infrastructure back to January 7, 2005 in order to examine financial records.  I need to be able to restore for disaster recovery, but otherwise, keep it simple.

Very high security. Don’t get me wrong, we need to keep one hotel from seeing another hotel’s data, but if they do, the world isn’t over.  This isn’t financial data or personal health data.  We won’t have anybody’s credit card, social security number, and we may not even need their address.  Sure, we’ll have their email address, and we need to guard that.

High-end business intelligence. This solution doesn’t necessarily restrict me from data warehousing and analytics: if I want that stuff, I can bring the data over to my own datacenter to do it, or I could run BI at Amazon, but high-end BI isn’t my first priority.  If I can get the rest of the solution right, I can live without it.  (I can hear the BI people loading their shotguns now.)

AWS: Greater than the Sum of its Parts

If you look at each of the Amazon Web Services pieces individually, they’re nothing amazing.  (Except Mechanical Turk – that is effing amazing.  Check out the Sheep Market.)  They’re just building blocks.  They’re not as strong or as cool as the building blocks you might use internally already – but then again, we’re professionals at building stuff.  Not everybody wants to hire an army of professionals like us to build out and maintain these systems.

I could get a survey company off the ground with zero infrastructure investment, and better yet, only pay for what infrastructure I need this month.  If I only have one small client today, I only pay by the month for that one small client’s needs.  If I sign Holiday Inn, I don’t sweat bullets wondering where I’m going to put all these servers or how I’m going to get the credit to buy them.  I still need to architect my coding solution in order to maintain a big jump in load – but I’d have to do that regardless of whether I owned the hardware or not.

I’m not only a cheerleader, I’m a client.  At SQLServerPedia, we launched a SQL Server tutorial podcast series.  Visitors can watch video in their browser, subscribe with their iPods and Zunes, or download the files for local viewing later.  I had absolutely no clue whether anybody would sign up, but I was faced with hosting the files.  How big of a hosting plan would I need?  What if I got too big of a plan, and nobody came?  What if I got too small of a plan, and we got overwhelmed?  How fast could I upgrade or downgrade the plan?  Enter Amazon Simple Storage Service, or S3: I simply pay for what I use.  We got almost 9,000 downloads in our first month, and I was completely surprised – I hadn’t even looked at the download numbers until the bill came in.  (Seriously, people, stop watching videos and get back to work. Or play. Whatever.)  We’re on track for 15,000 this month, and I haven’t had to do anything at all – Amazon just handles the infrastructure.  Best of all, it’s cheaper than any podcasting service I’ve found!

It’s not perfect.  My biggest concern as a startup would be lock-in: a lot of these services simply aren’t available from other vendors yet.  If I code my solution to work with Amazon Simple Queue Service, and Amazon decides to crank up costs tomorrow, I have tough work ahead of me to build my own queue service or buy somebody else’s.  But at the same time, if Amazon did that, there’d be a number of Amazon customers with that same business need, and someone would spring into action to service that need.

And yes, there are outages – you can track them in the CloudComputing:Indidents Database wiki at CloudCommunity.  But frankly, the big providers are doing pretty darned well.  When you factor in the peace of mind of not sweating over server firmware upgrades, air conditioning and power needs, and all the other “fun” involved with managing a datacenter, it can be compelling for business developers who just want to get their application seen on the web.

Learning More about Amazon Web Services

If I’ve whetted your appetite, here’s a few links I’d recommend:

And I’d even keep an eye on this here blog too – Amazon Web Services can offer value to us SQL Server DBAs, as I’ll be announcing in a blog series and whitepaper in the coming month.

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

Website - Twitter - Facebook - More Posts

Bad storage performance on Amazon EC2 Windows servers

This week I presented at the SSWUG Virtual Conference on how to benchmark your storage performance with Microsoft’s SQLIO utility.  Last week I talked about running SQL Server in the cloud on Amazon EC2.  Take those two things together, and we’ve got storage benchmarking on Amazon EC2 servers:

  • Maximum write speed: 68 MBs/sec
  • Maximum read speed: 8 MBs/sec

I find this too horrifying to comprehend.  I can’t imagine running a database server using a first-generation USB thumb drive for storage, but that’s essentially what this is.

If anybody out there is using Windows on Amazon EC2, I’d be really curious to hear what your SQL Server performance is like relative to your physical in-house servers.  If you’ve got the time, running SQLIO on your EC2 instances would be even better, but it takes several hours to run through my full battery of SQLIO tests.  Running any storage testing utility against an EC2 hard drive would be interesting.

This was not a one-time result – this was a continuous overnight test against an m1.large instance with nothing installed on it.  Every single read test maxed out at around 8 MBs/sec.  Unbelievable.

I’d love to spend more time digging into this, but I’m signing off the computer tonight to start our move up to Michigan.  (I have a linkpost scheduled for Friday already.)  When I get to Michigan, I’ll try a couple of other storage performance test utilities against EC2 instances to see if I’m missing something obvious, and I certainly hope I am.  I’ve never seen performance this bad on a desktop, let alone a server.

Update from Amazon EC2 Support

There’s a thread about slow Amazon EC2 performance for storage on the Amazon forums.  The official answer from Amazon is yes, it’s that slow but they believe it’s normal for SAN storage.  They’re way off base there – I routinely get faster performance out of my home lab gear – but at least they’re watching the forums.

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

Website - Twitter - Facebook - More Posts