Opera Software is mainly known for its web browser, but Opera also created and develops a growing set of web applications like its own community dedicated to the browser, my.opera.com, started in 2001.
Since then, the community grew bigger and bigger, and had the "usual" scalability problems. The application has been rewritten 3 times and the current developers team is at a turning point now.
How to make the application and systems scalable with the growing amount of traffic and users?
8. My Opera Community
http://my.opera.com
blogs shoutbox
Opera browser promotion
photo albums
RSS-Atom feeds
slideshows
custom designs
Public APIs
xml/json forums
39. user uploads use case
# Create resource object for avatar
my $res = MyOpera::Storage::Resource::Avatar->new(
owner => '{userid}',
content => '{binary data}',
);
# Main storage subsystem handle
my $storage = MyOpera::Storage->new();
# Upload on pools of servers all at once
my $ok = $storage->upload($res);