Please download the latest version of the Flash Player from Adobe.com

Amazon EC2

December 13, 2007 11:34 AM

Thin client technology is certainly gaining traction in the market. Amazon furthered the trend with EC2 beta. How do you (developers, IT mgrs, etc) see this impacting(or not)your future applications?

Comments (Comment Moderation is enabled. Your comment will not appear until approved.) | Add Comment
Sam Curren's Gravatar
I'm not sure I'd call EC2 a 'thin client' technology. But as a virtualization tool, it is very important to me.

I have two uses for EC2: Data processing and front-end scalability. Data processing is a no brainer for EC2 use because you can scale up a processing layer to as many machines as necessary to accomplish the processing task. For example: If I have 10 computing hours of processing to handle, I could run 1 machine for 10 hours or 10 machines for one hour. Both options cost the same, but one is done much sooner. At this point, I use other languages for my data processing (Python, mostly), so CF isn't as needed in this situation.

Front-end scalability is important for handling bursts in traffic. I would really love to write my CF apps and run them on our normal server, but then be able to deploy the SAME CODE onto an EC2 instance, and boot up as many servers as I needed to handle the increase in traffic. In addition to paying the EC2 fees, I would probably pay an additional machine-hour fee for running ColdFusion without having to buy licenses to cover each virtual machine that I booted.

I like writing my apps in CF, and being able to deploy them onto a virtualized environment (or build them entirely on the virtualized infrastructure) would be a huge help as I plan for both scalability and cost savings. At this point, my only option is to use another language, and I don't really like that option.
Posted By Sam Curren | 12/13/07 2:18 PM
Charlie Arehart's Gravatar
If anyone would like to see a recording of an hour-long presentation on using EC2 from a CF developer's perspective (both to answer Kristen's question and to share more info about it with others), I'll throw out that we had Adam Howitt give a talk last month on the ColdFusion Meetup (http://coldfusion.meetup.com/17/calendar/6710558/). The recording of his presentation is at: http://experts.acrobat.com/p95696588/
Posted By Charlie Arehart | 12/13/07 6:05 PM
Cozmo's Gravatar
@Sam Curren

You may want to look at Railo. As a proof of concept I have been able to port some fairly large CF7 apps to run on top of TomCat using Railo and EC2. IF you don't need CF 8 functionality, this is a perfectly acceptable alternative and their community version which is free with a one data source limit.

@ Kristen

EC2 and AC3 changes everything, including the very notion of how I view computing (and storage) itself. This is just the beginning.
Posted By Cozmo | 12/14/07 12:23 PM
Kristen Schofield's Gravatar
@Sam - to me virtualization is definitely part of what I referred to as the thin client trend. As people (businesses & consumers) become more comfortable with storing data & content remotely, virtualization will be a more adopted alternative - enabling personal machines to run more and more as "thin clients". Thin clients can refer to many things though - software, pc's, and remote data storage, etc. As we see with software, many software providers are offering browser based client technologies that would replace Word, Excel, Outlook.. I wouldn't be surprised if someday the need to install software (for the masses) goes away... *long_long_way* down the road but with thin clients, why would we need to? I believe EC2 furthers this trend since it makes building apps easier w/o the traditionally needed hardware and server and/or hosting environment --> yeilds a "thinner" environment - for the developer& user.

FYI - the CF8 EULA allows CF to be run in a virtualized ennvironment now. :)

I'm interested in any use cases out there for CF and EC2.. I could see them for sure but wanted to get a sense if people are looking for it.
Posted By Kristen Schofield | 12/17/07 1:57 PM
David McGuigan's Gravatar
I just got acquainted with most of Amazon's new web services last night and was borderline jaw-droppingly impressed. Excited. Enthusiastic. Floored. On the edge of my chair. About to sign up. When...

I calculated the pricing compared to the alternatives.

Amazon's pitches repeatedly hyped up how inexpensive it was but from the calculations I did actual or substantial savings don't even kick in until you get into the ultra high-demand type applications.

It seems like there's a direct correlation between how highly-variable your site and application traffic is and your potential savings with EC2 (by dynamically scaling down your virtual hardware programmatically).

But for up and coming applications and products it's difficult to determine definite usage trends for a long time if not impossible to predict or project them at startup. Meaning those innovative features are lost on pre-large businesses (otherwise known as small).

Back to alternatives. HostMySite.com, for example, lets you colocate a 1U server for $150 a month flat with industry-best support and service.

If you're smart with your hardware purchasing, you can get an incredible server for ridiculously cheap nowadays. It's a buyer's market. I bought a Dell 1U rackmount with a 2.4 Ghz Xeon quadcore, 4 GB of RAM, and 3 years of support for UNDER $1500 last week. Factor in Server 2008 Web's sub-$500 price tag and moving to EC2 stops making sense for me and my next 10 big projects, at least until they blow up on tha scene.

But I still think it's really really neat to read and talk about, if that's any consolation Amazon.
Posted By David McGuigan | 1/25/08 5:15 AM
Sam Curren's Gravatar
@David, Amazon is not trying to compete in the same market as HostMySite or any of the other main ISPs. What their computing grid allows is the ability to scale your system by the hour. If you will be running one server (or two servers, or n servers) all the time because you need them up for reasons OTHER then scalability, then EC2 is not for you.
EC2 is perfect when your application (or parts of it) have long periods of nearly no work to do. If you have enough of your own hardware to handle peak usage, then your machines will be seriously underutilized the rest of the time.
Imagine a system that receives data, does a fair amount of processing, and then makes the processing results available on a website. Put the website (including the system to receive data) on your own servers. Then use EC2 servers to do the processing. When there is no data to process, you pay $0. When you have data, you can spin up as many servers as you need to get the job done. 10 hours of 1 machine, or 1 hour with 10 machines cost the same. This allows you to build a very performant system for very cheap.
When doing cost comparisons, make sure to understand the market they are competing in. When building systems with a fluctuating workload, you simply can't beat EC2.
Posted By Sam Curren | 2/23/08 5:44 PM
Alex Griffin's Gravatar
Amazon's pitches repeatedly hyped up how inexpensive it was but from the calculations I did actual or substantial savings don't even kick in until you get into the ultra high-demand type applications.
Posted By Alex Griffin | 7/16/08 9:36 AM
Snake's Gravatar
As there is no instance available with CF, I presume you have remote access to install your own software so you can install CF. But then if you only need your VM for a few hours a month, what happens in the mean time, do you have to rebuild the instance each time you need it, or do they keep it intact even when it is not in use and not being paid for?
Posted By Snake | 12/11/08 11:37 AM
evangelize coldfusion and the platform
Thanks to Ray Camden for blogCFC and to David McGuigan for my blog design.
Please install the latest Flash player by visiting: Adobe.com