Saturday, August 30, 2008

Cool way to view your photos


It’s a very enjoyable summer. I’ve never had so much quality time with my kids :-) In addition, I’m checking a very interesting initiative, so my time is well spent.

During my research I saw a nice service/program – photosynth - I saw a cool demo of it some time ago and now it’s available for usage by everyone.

To understand what it does, it’s better to check it in action. Check this solar system model. My daughter, Maya, created it at a science camp, pictured it from all angles and created the photosynth model. Yep, I’m a proud father!

BTW, this time this technology does not belong to Google but to Microsoft…

Monday, August 4, 2008

Flexible Scalability - Part I

[After a few not so technological posts, getting back to tech…]
When planning a (web) application, everyone fantasize on the tons of users that would use this ‘amazing app’. It’s great to dream but what happens if the dream comes true :-) Assuming the architecture is scalable and was designed for large amount of users, you would still need the computing power for that (CPU, memory, DB, network…). And what happens until you reach millions of users and ‘just’ have dozens of thousands of users – how can you stretch your infrastructure to support it?
For that you need flexible scalability… I gave a try to two leading solutions:
Google App Engine – “Enables you to build web applications on the same scalable systems that power Google applications”
Amazon Elastic Compute Cloud (EC2) “A web service that provides resizable compute capacity in the cloud. It is designed to make web-scale computing easier for developers.”

My intermediate impression after working with both solutions for a short time is:

Google App Engine is relatively simple to use. You just need to have Google account and after a short registration you have your engine setup and free for usage until you reach ~5 million monthly page views (did not manage to test that…). It contains an ‘offline’ SDK that allows you to develop and test the application locally and then to upload it to their environment which makes it easy. The main drawback (for me) is that it is designed for running web applications using a specific engine based on the Python programming language which requires learning a bit but by using the tutorial it is still easy to use.

Amazon EC2 is actually part of a bunch of web services that allow using Amazon scalable platform for building apps by consuming processing power, storage, etc’. It’s not free and you pay for the usage (CPU time, storage, network traffic and some other parameters).Basically it allows to choose a machine image with relevant applications and to run number of instances based on the need. However although it allows using variety of machine images, containing different types of applications, it is not completely straightforward (flexibility has its cost). As it’s not free - I had to pay for my tests - up till now only 50 cents, but on the other hand, I managed only to run an existing image and even did not manage to get a proper web page shown.

Hope next time I will have more impressive results…