DevPay are two billing/payment services that Amazon has offered for quite some time. However, I recently ran across a great example of how these two services complement each other, so I wanted to share.
First, let's talk about Amazon Web Services in general. Amazon made its name by being the first major online book store. From there, they expanded to sell other items. Nowadays, you can find just about any consumer good imaginable for sale at Amazon. As part of this expansion, they enabled other people to sell their goods too. By opening a web store with Amazon, you can take advantage of Amazon's infrastructure (i.e. billing, delivery, categorization) as well as tap into the tremendous traffic that Amazon.com gets on a daily basis.
What Amazon gets in return for letting people use its infrastructure is a small cut of the sale. This must be generating a nice stream of revenue for Amazon. In 2002, Amazon launched a new initiative that expanded the way a person could leverage Amazon's infrastructure. This was collectively known as the Amazon Web Services. Services were rolled out over a number of years, but today they offer the following:
- Amazon Elastic Compute Cloud (EC2)—unlimited computing power, you pay per CPU hour per month
- Amazon Simple Storage Service (S3)—unlimited storage, you pay per GB per month
- Amazon Simple Queue Service (SQS)—very similar to MSMQ or MQServices, but you pay per message per month
- Amazon Simple DB—Internet-sized database in the cloud, you pay per GB per month
Those are the major infrastructure services, you can see a complete list at http://aws.amazon.com/. Anyways, with 2 of those services, S3 and EC2 there is an opportunity to make some money
EC2 charges about 10 cents per CPU and S3 charges about 15 cents per GB per month. There is some variation on the pricing of EC2 because you can decide what kind of computing resource you want (i.e. dual-CPU, more RAM, etc) and those extra options cost a little bit more. Similarly, the amount of data you transfer in and out of S3 effects the cost a little bit too. But, for the purpose of example, let's say that EC2 costs 10 cents per CPU and S3 costs 15 cents per GB.
For those prices, you get basic functionality. With EC2, you basically get a Linux machine. There are a number of image templates (called Amazon Machine Images or AMI for short) that you can choose from. The most fully-loaded image is one with Apache and MySQL installed already. With S3, you get storage you can use. Amazon does not give you a UI, but there are plenty of free community tools available.
For most people, that is all they need. But, there is an opportunity to add value; this is where the money making happens. First, let's talk about Amazon DevPay. What DevPay allows you to do is add a surcharge on top of what Amazon charges for EC2 and S3. So, if Amazon charges me 10 cents per CPU hour, I can use DevPay to add an additional 40 cents. So, when someone uses an AMI that I have associated with DevPay, they will be charged 50 cents per hour; I get 40 cents and Amazon gets 10 (roughly speaking, there is an overhead charge for DevPay as well). The same is true for S3. I can add an amount on top of the 15 cents that Amazon charges and collect that from people who use my S3 storage (called buckets).
What people are doing with this is adding value and collecting money. For example, companies like Redhat (see their cloud solutions) and Oracle (see their cloud solutions are taking advantage of this. Redhat has configured an Amazon AMI with their JBoss Enterprise Application Server. If a customer wants to use it, they are charged about $1/CPU hour. I haven't used JBoss myself before, but presumably a fully configured, hosted version of it makes the cost worthwhile. Oracle is doing the same with a subset of their database offerings. Some people have called this approach selling software appliances.
I think this software appliance model is very interesting. It's a good middle ground between hosting and on-premise software. Some people are not comfortable with multi-tenant hosting. By "multi-tenant", I mean sharing an instance of software with other users. Of course the advantage to hosting is that you do not have the capital expenditure of buying servers and you don't have to hire administrators to keep them running. With the software appliance approach, whatever software you are running is yours, so you are not sharing it with anyone else. You still get the advantages of hosting because the machine is being monitored by someone else (Amazon in this case).
Where does Amazon FlexPay come into the picture? Amazon FlexPay is more a traditional payment system, similar to PayPal. One unique feature is it can process regular monthly payments. So, imagine if you are Redhat or Oracle and you are offering your software appliances. You can happily collect your $1 per CPU hour. But, that kind of revenue is not very predictable. I might make $1000 one month if everyone is running their appliances, but nothing the next month if everyone shuts them down. So, what these guys are doing is also charging a monthly rate. So, to run a perfectly configured JBoss Enterprise Application Server from Redhat, I need to pay $20/month, as well as $1 per CPU per hour (these are rough figures). Again, I have never use JBoss so I don't know if this is reasonable or not.
There are literally dozens of companies doing this for S3 as well. Most of the backup services like Carbonite and JungleDisk both use Amazon S3 as their backend storage. They are adding value by taking the generic storage that Amazon offers and focusing it on specific scenarios. When you sign up for Carbonite, you get a service that trickles your data to Amazon S3 for backup; with JungleDisk you get a drive that looks like any other drive on your system, but it is persisted to Amazon S3.
I think Amazon's payment systems and infrastructure services are some fascinating ways to make money so I wanted to share.