Ebooks in Italy (?)
Wednesday, May 19th, 2010Sorry, content only in Italian.
Sorry, content only in Italian.
I’m happy to say that I had the chance to use Amazon AWS for a project of my customer Deltatre.
The news is particularly good because it offers a real argument in the “use or don’t use it” debate, and offers practical innovation to the company.
Technically, we decided to go on with SimpleDB during the development of deltatrePULSE (or simply Pulse) product: the idea of CTO Carlo De Marchis is to create a new distributed system that will open mode the Deltatre web/sport platforms.
Apart from strategic consideration, I would like to stress the fact that this decision was not forced by some obscure needs for innovation: in fact, both the data model and use cases fit perfectly with SimpleDB (costs considerations will be done as soon as we have some usage data at hand;) summarizing, Pulse needs an entity with 5 attributes (for now) in which to write a sport news and read it back later, modifying its state, and it should not be tied to a precise Internet hosting facility.
SimpleDB become a natural choice once the Pulse prototype run for some time: in fact, the first implementation of the Pulse Log Repository (i.e. the persistence layer) was implemented using FriendFeed as the “database” (we saved XML as FriendFeed entries, and attributes as comments), and it worked like a charm until our Pulse server IP was temporarily banned because we hit the rate limit; after some research, it was clear that FriendFeed was not good for our needs because the rate limits info are not disclosed, even if it was chosen because it can be seen as a free and simple to use database system that does not require any maintenance.
We were stuck, so it was immediate to think to SimpleDB: a simple to use database system that does not require any maintenance and “lives” on the Internet, even if it’s not free but that it’s not rate limited, though. In a matter of minutes we had a company-wide AWS account, and in two hours we were running on SimpleDB instead of FriendFeed.
I’ll give more technical and practical information about SimpleDB usage (and about clouds in general), but for now I would like to conclude this post saying that, besides a lot of [good and bad] _corridor discussions_ about computing clouds, my advice is: get somewhat familiar with the tool, then use it when you need it, as you would do with any other tool.
You can follow Pulse development and some other funny things on my Twitter profile.
I’m trying to host my handful of web sites on Amazon, but in EC2 machines there’s support for only one IP (private and public) and, as you know, SSL/TLS encryption let you have only one domain name per IP address: this is a heavy limit (with a reason), but it’s unacceptable for some reasons (public IP addresses scarcity, cost and management overhead).
Besides other solutions (multi-domain certs for example), I would like to go for the most reasonable way: virtual hosted SSL/TLS web sites, exactly the same way we all use today for non-encrypted web sites. I use Apache and for it there are a couple of solutions in the works that implement SNI or Server Name Indication: an extension to TLS protocol that “… permits the client to request the domain name, before the certificate is committed to by the server“. The support in browsers can be also a problem, but every recent browser supports it (with the exception of IE 6 and 7, apart from Vista); try your browser here.
The solutions I found involve are three (I don’t exclude there are other ones):
OpenSSL is in fact part of the problem: the support for SNI was introduced in v. 0.9.8f (October 2007) as a TLS extension and fixed in a later version, but these are enabled by default only in 0.9.8j (January 2009). There also no official support yet in mod_ssl for Apache 2.2 (apart from some code and patches for the current and development Apache versions, see here and here).
I finally decided to try the mod_gnutls module way: because of some dependencies on my Centos 5.2 test environment (libgcrypt and GnuTLS itself) it took me some time, but now I have a working SNI web server with how many secure web sites I want (and user’s browsers permit) with only one IP address.
BTW, if you need to generate self-signed certificates, look here.
Update: I used nginx without too much worries, compiled latest version with this command and substituded the official Centos 5.2 version after installing it (don’t do it!), and used it as a proxy in front of apache:
./configure --prefix=/usr --sbin-path=/usr/sbin/nginx \ --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log \ --pid-path=/var/run/nginx.pid --lock-path=/var/lock/subsys/nginx \ --user=nginx --group=nginx --with-http_ssl_module --with-http_flv_module \ --with-http_gzip_static_module --http-log-path=/var/log/nginx/access.log \ --http-client-body-temp-path=/var/lib/nginx/tmp/client_body/ \ --http-proxy-temp-path=/var/lib/nginx/tmp/proxy/ \ --http-fastcgi-temp-path=/var/lib/nginx/tmp/fastcgi/ \ --with-openssl=../openssl-0.9.8k/
Here you can find the builds of Chromium (the open source project on which Google Chrome is built) for Mac OS X that the fine guys at Google are preparing for us.
Waiting for an official version of Chrome (and for Firefox 3.1), let’s continue the browsers’ war on features and not on the garbling of web standards!
An extension to add Textile support to Blogengine.NET, directly derived from the Markdown extension by Alexander Schuc (who I thank a lot).
To download it click here.
Just today, on the announced first day of iPhone 3G on the market, the Italian “competitive spirit” has struck again: it seems that Vodafone and TIM have “agreed” to maintain prices of the iPhone ridiculously high; luckily someone has noticed it and reported it to the antitrust agency, which will monitor now possible violations of the law: TLC. I-phone, Antitrust opens pre-inquiry on Tim and Vodafone after the petition submitted by the Movement of Defense of the citizen (MDC).
Many people are protesting (as can be seen looking on search engines), and in particular the site melamorsicata.it launched the online petition iPhoneAffossato, which should help to disseminate more information to the public.
Despite the cost too high compared to other countries, the iPhone is selling well (at least judging from the numbers of the Vodafone shop, if they are real…) and probably the boycott, suggested by several parties, will not have the necessary effectiveness to lower the rates of the two companies: have we to hope in the Tre offer?
From today my blog supports more than a languade, English and Italian.
The reason behind this addition is that I felt a bit uncomfortable writing only in English some posts that I would like to be read also in my language, to support the diffusion of technologies and ideas that I think about as important in the country were I live and work.
The preferred language can be choosen selecting it in the top right of the home page. I added the multilingual support to Wordpress installing the qTranslate plugin, very well done even if it has some small defects.
So have a good reading!
Some weeks ago one of my customers decided that one of its biggest ASP.NET web intranet projects needed a sort of architectural revision, mainly to support better its customers with built-in fault tolerance but also to unchain development of the various sub-projects through better separation between software modules.
As expected, at least by me, Amazon EC2 is evolving in a more “concrete” platform good for web hosting; in fact, some time ago I received a mail from AWS announcing two new features: Elastic IP Addresses and Availability Zones (you read for sure the news also on Slashdot: Amazon EC2 Now More Ready for Application Hosting, isn’t it?)
Only a small note to let you know that Amazon is hearing us and added a new feature to EC2: persistent storage.
As a subscriber of AWS services yesterday I received an email in which Amazon announces that we “will be able to create volumes ranging in size from 1 GB to 1 TB, and will be able to attach multiple volumes to a single instance. Volumes are designed for high throughput, low latency access from Amazon EC2, and can be attached to any running EC2 instance where they will show up as a device inside of the instance…“.
The mail ends saying that the new functionality “will be publicly available later this year” and offers a link to request to join the private beta program; I subscribed it and will let you now as soon as I’ll put my hands on it.