Thursday, January 18, 2007

Mashup Camp : Day 2 : Amazon EC2 Web Services

Starting out here at day 2 of Mashup Camp. This is a shorter day for us than yesterday, but I think we're going to make up for it in quality. The first conversation that I'm attending today is given by Amazon, and concentrating on Amazon's Elastic Compute Cloud. In essence, EC2 are computer in the sky. Why have a computer working for 700 hours, when you can have 700 computers working for an hour? The EC2, you can scale capacity up and down in minutes. Developers can control their machine instances, and is very inexpensive, since you only pay for what you use. If you only use 700 hours, you only pay for 700 hours.

EC2 works with amazon machine images. You can clone these images over as many servers you want using a web services call. Typical images contain LAMP stacks, Ruby or Ruby on Rails. Once you have loaded that image to one EC2 instance, you can clone them to as many as you need, and tear them down. The example Jinesh (our speaker) is using is a typical web server farm, where a load balancer is sitting in front of ten web servers. You can increase your capacity by adding an eleventh server, or decrease your capacity by removing one. It is your responsibility to update the web balancer with the IP addresses of the server.

Now, here is (for me) a very exciting development for VoIP. With a system like amazon web services, you can quickly scale up the capacity of your VoIP service. You simply add more servers to your application. Here's an example. Imagine a SIP application server running an application like voicemail. In front of the application, put a SIP proxy server to load balance inbound calls. Instantiate a single instance of the SIP proxy server, and a single voicemail server. Run these both on an EC2 servers. (By the way, if you were using it all month, it would cost you $72.00 a month for one of these servers.) Adding subscribers? Add an EC2 server. Shampoo, Rinse, Repeat. At this point, the software you want to write will manage your server instances.

It gets better. Want to update the voicemail? Simple, take a new EC2 server, put the new image on it. From the SIP proxy server, send a small amount of calls to it. Test it. Work OK? Great - start migrating over. What about storage? You can use Amazon's S3 to store the data, with a similar dynamic nature. Want it to sync to your local database? No problem, use the S3 web services interface to synchronize it with your local data storage. And you have done ALL of this without buying a single piece of hardware. Of course, all of these things COULD be done by buying your own hardware and putting it into your co-location space. How much money are you spending on installation and maintenance of your servers?

4 comments:

Morgan said...

Thomas,

EC2 is very cool, but realize that it uses storage fundamentally differently than a traditional UNIX server. This manifests itself in several ways:

1. When an EC2 instance is loaded with a static image at boot time.

2. As soon as that instance is closed (or the machine is rebooted), all the information on that system is lost forever.

3. S3 isn't a file system (although there are some new storage options emerging). Most UNIX applications don't support reading and writing to S3 natively.

So, with EC2 you have to do something special with any information that could possibly change. This is a big problem with things like databases, or any configuration that may change over time.

The scenario of super easy replication isn't quite here yet ...

Morgan

Thomas Howe said...

Thanks for that clarification Morgan! And yes, it isn't quite here yet. I was thinking about VoIP applications where the applications are stateless, like SIP proxies and user agents that broadcast files.

I'm actually working on it right now, because I think there's got to be someway to bridge S3 data in and out of images, and then they can be stored locally on MySQL or the like.

I'm really excited at the possibilities, though. For typical communications system design, this is a new approach and component that (in my mind) clearly opens up a new world of practical solutions. Thanks for reading!

Thomas Howe said...

An update for Morgan - rumor has it that there's a new S3 plugin for MySQL. I suppose that answers the super easy replication issue.

sexy said...

情趣用品,情趣用品,情趣用品,情趣用品,情趣用品,情趣用品,情趣用品,情趣用品,情趣,情趣,情趣,情趣,情趣,情趣,情趣,情趣,A片,視訊聊天室,聊天室,視訊,視訊聊天室,080苗栗人聊天室,上班族聊天室,成人聊天室,中部人聊天室,一夜情聊天室,情色聊天室,視訊交友網a片,a片


免費A片,AV女優,美女視訊,情色交友,免費AV,色情網站,辣妹視訊,美女交友,色情影片,成人影片,成人網站,A片,H漫,18成人,成人圖片,成人漫畫,情色網,日本A片,免費A片下載,性愛

A片,色情,成人,做愛,情色文學,A片下載,色情遊戲,色情影片,色情聊天室,情色電影,免費視訊,免費視訊聊天,免費視訊聊天室,一葉情貼圖片區,情色,情色視訊,免費成人影片,視訊交友,視訊聊天,視訊聊天室,言情小說,愛情小說,AIO,AV片,A漫,avdvd,聊天室,自拍,情色論壇,視訊美女,AV成人網,色情A片,SEX,成人論壇

情趣用品,A片,免費A片,AV女優,美女視訊,情色交友,色情網站,免費AV,辣妹視訊,美女交友,色情影片,成人網站,H漫,18成人,成人圖片,成人漫畫,成人影片,情色網


情趣用品,A片,免費A片,日本A片,A片下載,線上A片,成人電影,嘟嘟成人網,成人,成人貼圖,成人交友,成人圖片,18成人,成人小說,成人圖片區,微風成人區,成人文章,成人影城,情色,情色貼圖,色情聊天室,情色視訊,情色文學,色情小說,情色小說,臺灣情色網,色情,情色電影,色情遊戲,嘟嘟情人色網,麗的色遊戲,情色論壇,色情網站,一葉情貼圖片區,做愛,性愛,美女視訊,辣妹視訊,視訊聊天室,視訊交友網,免費視訊聊天,美女交友,做愛影片

av,情趣用品,a片,成人電影,微風成人,嘟嘟成人網,成人,成人貼圖,成人交友,成人圖片,18成人,成人小說,成人圖片區,成人文章,成人影城,愛情公寓,情色,情色貼圖,色情聊天室,情色視訊,情色文學,色情小說,情色小說,色情,寄情築園小遊戲,情色電影,aio,av女優,AV,免費A片,日本a片,美女視訊,辣妹視訊,聊天室,美女交友,成人光碟

情趣用品.A片,情色,情色貼圖,色情聊天室,情色視訊,情色文學,色情小說,情色小說,色情,寄情築園小遊戲,情色電影,色情遊戲,色情網站,聊天室,ut聊天室,豆豆聊天室,美女視訊,辣妹視訊,視訊聊天室,視訊交友網,免費視訊聊天,免費A片,日本a片,a片下載,線上a片,av女優,av,成人電影,成人,成人貼圖,成人交友,成人圖片,18成人,成人小說,成人圖片區,成人文章,成人影城,成人網站,自拍,尋夢園聊天室