Heroku est une plateforme PaaS assez remarquable, largement documentée, qui permet de déployer très rapidement des applications Ruby, Java ou PHP, et qui offre un modèle de montée en charge très granulaire.
Pour une application qui vise des utilisateurs Européens, Heroku pose malheureusement un problème : elle n'est actuellement disponible que sur la région US-East d'Amazon Web Services.
La première conséquence est la latence : sur de petites requêtes, il n'est pas rare de voir des latences de 200ms pour faire l'aller-retour transatlantique, alors que l'on pourrait typiquement avoir dans les 60ms sur un data center situé en Europe (Irlande pour AWS ou Windows Azure par exemple), et moins encore pour un data center situé en France.
Cette latence est particulièrement handicapante pour des applications temps réel, jeux ou mobiles, qui vont peut-être faire de nombreuses petites requêtes, et pour qui la rapidité et la fluidité sont importantes!
La deuxième problème est encore plus sérieux : Heroku n'adhère pas au programme “Safe Harbor” qui garantit l'intégrité des données personnelles d'un citoyen de l'Union Européenne lorsqu'elles sont hébergées par un prestataire établi aux Etats-Unis (plus d'informations sur le site de la CNIL). Sans cette adhésion, il est tout simplement interdit par les lois européennes de transférer des données personnelles au prestataire!
Ces deux freins rendent concrètement très difficile pour une société française le déploiement d'une application critique en production sur Heroku, ce qui est bien dommage!