Showing posts with label Google App Engine. Show all posts
Showing posts with label Google App Engine. Show all posts

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…


Friday, May 30, 2008

Bubble 2.0 ???



As part of my (fun) exploration, I’ve been reading about many products available on the web which made my questioning “are we entering the next Dot Com Bubble?” (not to say we are in the middle of it…). I’m not an expert to answer this question and there are several parameters to define a ‘bubble’ but there are tons of Web 2.0 products which look like they are based on –
“I had some spare time over the weekend, why shouldn’t I write something” or
“Taking product x and adding a couple of features would make it jackpot” or
“First let’s have enough users then worry about how to make money out of it”

Anyhow, it’s definitely interesting how it will evolve and good luck to all of them/us.

More practically, you probably noticed that the blog was ‘upgraded’ as I adopted some new ‘capabilities’ to my blog
- Google custom search – be able to search my ‘huge’ blog :-)
- Snap Shots – get an immediate preview screen of the external links
- Add This – quick subscription to the blog (don't forget to subscribe)
- Odiogo – text-to-speech technology, podcasting my posts
- FeedBurner – publicizes the content of my blog and makes it easy for people to subscribe to it
I’ll keep updating the blog as I’ll keep encountering appropriate stuff

In addition I’m taking a deeper look into 3 platforms:
- Google App Engine – Google promises a simple, free, scalable hosting environment for building and publishing web applications. I registered for the beta but meanwhile based on the SDK and the tutorials it seems simple as long as you know Python
- Microsoft Popfly – a no code mashup environment, allows building web applications (sites, facebook apps, gadgets…) using visual tools. It also allows developing Popfly building blocks (called ‘Blocks’) and sharing them with others.
- Facebook – I consider facebook as a platform. Still need to find out a platform for what