<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>alwaysdata &#124; blog</title>
	<atom:link href="http://blog.alwaysdata.com/en/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.alwaysdata.com</link>
	<description>Le blog pour suivre l&#039;actualité alwaysdata</description>
	<lastBuildDate>Thu, 02 Sep 2010 15:36:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Quelques améliorations</title>
		<link>http://blog.alwaysdata.com/en/2010/08/18/quelques-ameliorations/</link>
		<comments>http://blog.alwaysdata.com/en/2010/08/18/quelques-ameliorations/#comments</comments>
		<pubDate>Wed, 18 Aug 2010 14:04:27 +0000</pubDate>
		<dc:creator>Cyril</dc:creator>
				<category><![CDATA[Nouveautés]]></category>

		<guid isPermaLink="false">http://blog.alwaysdata.com/en/?p=214</guid>
		<description><![CDATA[Ces dernières semaines, nous avons essentiellement travaillé sur des aspects peu visibles d&#8217;alwaysdata. Rien de transcendant, pas de nouvelles fonctionnalités extraordinaires, mais je suis sûr que certaines améliorations raviront certains d&#8217;entre vous. Perfectionnement de notre firewall en sortie Jusqu&#8217;à présent, notre firewall était assez simpliste : en sortie, seuls certains ports classiques étaient autorisés : [...]]]></description>
			<content:encoded><![CDATA[<p>Ces dernières semaines, nous avons essentiellement travaillé sur des aspects peu visibles d&#8217;alwaysdata. Rien de transcendant, pas de nouvelles fonctionnalités extraordinaires, mais je suis sûr que certaines améliorations raviront certains d&#8217;entre vous.</p>
<h3>Perfectionnement de notre firewall en sortie</h3>
<p>Jusqu&#8217;à présent, notre firewall était assez simpliste : en sortie, seuls certains ports classiques étaient autorisés : HTTP, SMTP, FTP, etc. Désormais, tous les ports sont autorisés, à quelques exceptions près (P2P et IRC notamment). Cela ouvre la voie à de nombreuses applications auparavant impossibles. Par exemple, déclencher l&#8217;allumage de votre ordinateur via Wake-On-LAN <img src='http://blog.alwaysdata.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Parallèlement, un mécanisme de logging a été mis en place pour ces ports non standards. Cela nous permet de détecter et bannir automatiquement les utilisateurs qui voudraient utiliser leur compte pour des activités malicieuses.</p>
<h3>Authentification SMTP optionnelle, renforcement de l&#8217;anti-spam en sortie</h3>
<p>L&#8217;authentification SMTP est devenue optionnelle lorsque vous êtes sur nos serveurs (HTTP, SSH). Vous n&#8217;avez donc plus besoin de spécifier de nom d&#8217;utilisateur et mot de passe lorsque vous configurez vos applications. Naturellement, vous devrez toujours vous authentifier si vous souhaitez utiliser nos serveurs SMTP depuis l&#8217;extérieur, par exemple votre poste de travail.</p>
<p>Par ailleurs, tous les emails envoyés depuis nos SMTP sont désormais passés à l&#8217;anti-spam. Jusqu&#8217;à présent, certains ne l&#8217;étaient pas, à cause de limitations techniques. Cela va donc contribuer à améliorer la réputation de nos serveurs SMTP.</p>
<h3>Lutte contre le phishing</h3>
<p>Grâce à notre pack gratuit, des comptes de phishing s&#8217;ouvrent hélas régulièrement chez alwaysdata, jusqu&#8217;à ce que nous les détections et fermions. Néanmoins, il arrive parfois que certains comptes passent à travers et restent en opération plusieurs semaines.</p>
<p>Nous avons depuis peu renforcé (encore !) notre lutte contre ces comptes malicieux. Nous ne rentrerons pas dans les détails, mais les mesures prises semblent avoir considérablement réduit le nombre de comptes frauduleux.</p>
<p>Grâce à cela, nous avons pu éliminer la vérification de l&#8217;IP à l&#8217;inscription. Pour lutter contre le phishing, nous avions auparavant utilisé un service externe qui, à partir d&#8217;une adresse IP, renvoyait un taux de risque d&#8217;avoir à faire à un fraudeur. Hélas, cela donnait lieu à nombreux faux-positifs. C&#8217;est terminé.</p>
<h3>Le SSL en beta</h3>
<p>Le SSL tourne déjà depuis plusieurs semaines en beta sur certains comptes. La seule chose qu&#8217;il manque avant le lancement officiel, c&#8217;est rénover notre système interne de facturation qui n&#8217;est pas capable aujourd&#8217;hui de gérer les options payantes sur un pack.</p>
<p>Si vous avez besoin de SSL, contactez-nous directement. Cela ne vous coûtera rien tant que nous sommes en beta, vous n&#8217;aurez qu&#8217;à nous fournir le certificat (et la clé).</p>
<h3>Amélioration du serveur WebDAV</h3>
<p>Notre serveur WebDAV a récémment amélioré sa compatibilité avec certains clients, notamment Windows 7 et XBMC. Pensez-y, cela permet d&#8217;accéder à vos fichiers alwaysdata en natif sur la quasi-totalité des OS, c&#8217;est extrêmement pratique !</p>
<h3>Rénovation du monitoring</h3>
<p>Nous avons commencé à rénover notre système interne de monitoring pour détecter (et corriger) plus tôt les problèmes. Nous avons aussi dans les cartons une application qui affiche l&#8217;état en temps réel des services alwaysdata. Elle est déjà développée, mais nous la déploierons lorsque nous aurons terminé nos travaux sur EC2 (pour éviter de l&#8217;héberger sur notre architecture principale).</p>
<p>Les vraies grosses nouveautés sont toujours prévues pour&#8230; bientôt <img src='http://blog.alwaysdata.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.alwaysdata.com/en/2010/08/18/quelques-ameliorations/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Évolution du système de redondance</title>
		<link>http://blog.alwaysdata.com/en/2010/07/29/evolution-du-systeme-de-redondance/</link>
		<comments>http://blog.alwaysdata.com/en/2010/07/29/evolution-du-systeme-de-redondance/#comments</comments>
		<pubDate>Thu, 29 Jul 2010 16:01:15 +0000</pubDate>
		<dc:creator>Cyril</dc:creator>
				<category><![CDATA[Annonces]]></category>

		<guid isPermaLink="false">http://blog.alwaysdata.com/en/?p=197</guid>
		<description><![CDATA[Comme vous le savez peut-être, nous avons décidé dès le lancement d&#8217;alwaysdata de redonder nos serveurs principaux dans un second datacenter, en temps réel (via DRBD). Le but était de pouvoir rapidement pallier les pannes graves si besoin, en basculant le cas échéant l&#8217;activité sur le second serveur. Ce système « de secours » a très rarement servi [...]]]></description>
			<content:encoded><![CDATA[<p>Comme vous le savez peut-être, nous avons décidé dès le lancement d&#8217;alwaysdata de redonder nos serveurs principaux dans un second datacenter, en temps réel (via <a href="http://www.drbd.org">DRBD</a>). Le but était de pouvoir rapidement pallier les pannes graves si besoin, en basculant le cas échéant l&#8217;activité sur le second serveur.</p>
<div>
<p>Ce système « de secours » a très rarement servi pour une raison simple : nous n&#8217;avons quasiment jamais eu des pannes matérielles importantes. Nous avons déjà subi des pannes assez longues, mais elles furent causées soit par des soucis logiciels (notamment la migration difficile vers la nouvelle architecture, en février dernier), soit par des perturbations réseau.</p>
<p>Ce système de redondance présente plusieurs défauts qui se sont révélés au fil du temps. Le premier, c&#8217;est que le surcoût engendré est important, puisque nous devons quasiment doubler le nombre de serveurs utilisés. Le deuxième, c&#8217;est que notre fournisseur de secours ne propose pas toujours des configurations équivalentes aux serveurs primaires, ce qui engendrerait des problèmes de performances en cas de bascule. Le troisième, c&#8217;est que la procédure de bascule est complexe, manuelle, et pas assez testée.</p>
<p>Une migration totale de tous nos serveurs en cas de panne du datacenter ou de son réseau serait donc longue et périlleuse. Or ces derniers jours, notre fournisseur principal a connu des pannes répétées, dont la plus grosse s&#8217;est produite samedi soir avec environ 50 minutes de quasi-indisponibilité. Deux autres pannes de 30 et 25 minutes avaient eu lieu en début de mois, heureusement en pleine nuit.</p>
<p>Cela n&#8217;impacte pas notre confiance envers notre fournisseur, malgré cette période difficile. Nous avons connu la nôtre en février dernier. Ces épisodes sont acceptables à nos yeux dès lors qu&#8217;ils restent rares, que la communication est transparente, et que des mesures sont prises pour que cela ne se reproduise plus.</p>
<p>De notre côté, nous avons commencé dès le mois de juin dernier (avant les indisponibilités récentes, donc) à repenser notre système de redondance pour éliminer les défauts sus-cités. Nous sommes encore en plein développement, mais il nous semblait important, surtout en ce moment, de vous en faire part.</p>
<p>Ce nouveau système repose sur le service <a href="http://aws.amazon.com/ec2/">EC2</a> d&#8217;Amazon plutôt que des serveurs physiques. Cela nous permet une économie financière substantielle, n&#8217;ayant plus besoin de faire tourner des serveurs secondaires 24h/24. Par ailleurs, nous allons travailler sur le processus de bascule afin qu&#8217;il soit plus simple, plus automatique.</p>
<p>EC2 va nous permettre également de dupliquer nos serveurs en production en toute simplicité. Cela pourrait servir pour tester des nouveaux déploiements sans risque, simuler des pannes, et d&#8217;autres choses sympathiques. Nous aurons l&#8217;occasion d&#8217;en reparler d&#8217;ici là.</p>
<p>Nous espérons mettre ce nouveau système de redondance en production pour la rentrée, mais comme toujours, les dates sont à prendre avec précaution&#8230;</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.alwaysdata.com/en/2010/07/29/evolution-du-systeme-de-redondance/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>PHP 5.3 disponible</title>
		<link>http://blog.alwaysdata.com/en/2010/06/22/php-5-3-disponible/</link>
		<comments>http://blog.alwaysdata.com/en/2010/06/22/php-5-3-disponible/#comments</comments>
		<pubDate>Tue, 22 Jun 2010 10:46:25 +0000</pubDate>
		<dc:creator>Cyril</dc:creator>
				<category><![CDATA[Nouveautés]]></category>

		<guid isPermaLink="false">http://blog.alwaysdata.com/en/?p=184</guid>
		<description><![CDATA[Je sais que cette nouvelle réjouira beaucoup d&#8217;entre vous : PHP 5.3 est enfin disponible chez alwaysdata. Plus précisément : la version 5.3.2 est désormais installée et sélectionnable dans l&#8217;administration, ainsi que la 5.2.13 rajoutée au passage. Comme d&#8217;habitude, rien ne change automatiquement : c&#8217;est à vous de passer à 5.3 volontairement, si vous le [...]]]></description>
			<content:encoded><![CDATA[<p>Je sais que cette nouvelle réjouira beaucoup d&#8217;entre vous : PHP 5.3 est enfin disponible chez alwaysdata. Plus précisément : la version 5.3.2 est désormais installée et sélectionnable dans l&#8217;administration, ainsi que la 5.2.13 rajoutée au passage. Comme d&#8217;habitude, rien ne change automatiquement : c&#8217;est à vous de passer à 5.3 volontairement, si vous le souhaitez. Les nouveaux comptes, eux, sont par défaut en 5.3.</p>
<p>Cette version aura mis du temps à être disponible pour plusieurs raisons. La première, c&#8217;est que nous étions très occupés par la nouvelle architecture, entre autres. La seconde, c&#8217;est que le déploiement d&#8217;une nouvelle version majeure d&#8217;un langage (que ce soit PHP, Python ou Ruby) est une opération beaucoup plus compliquée qu&#8217;il n&#8217;y paraît. Le support de plusieurs versions d&#8217;un même langage non compatibles entre elles (par exemple, PHP 5.2 et 5.3) demande de gros efforts de cohabitation, et même des développements internes assez conséquents. C&#8217;est la raison pour laquelle alwaysdata est probablement l&#8217;un des seuls hébergeurs à vous proposer simultanément autant de versions différentes de PHP, Python et Ruby.</p>
<p>Message personnel à tous les Rubyistes : la version 1.9.1 est sur les rails, encore un peu de patience <img src='http://blog.alwaysdata.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.alwaysdata.com/en/2010/06/22/php-5-3-disponible/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>alwaysdata en turc &#124; alwaysdata şimdi Türkçe</title>
		<link>http://blog.alwaysdata.com/en/2010/06/18/alwaysdata-en-turc-alwaysdata-simdi-turkce/</link>
		<comments>http://blog.alwaysdata.com/en/2010/06/18/alwaysdata-en-turc-alwaysdata-simdi-turkce/#comments</comments>
		<pubDate>Fri, 18 Jun 2010 17:10:58 +0000</pubDate>
		<dc:creator>Cyril</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.alwaysdata.com/en/?p=178</guid>
		<description><![CDATA[Et une huitième langue pour alwaysdata ! Merci à Profpy pour sa traduction en turc, langue parlée par plus de 70 millions de locuteurs. Je ne me lasse pas de rajouter de nouvelles langues]]></description>
			<content:encoded><![CDATA[<p>Et une huitième langue pour alwaysdata ! Merci à <a href="http://www.profpy.com/">Profpy</a> pour sa traduction en turc, langue parlée par plus de 70 millions de locuteurs. Je ne me lasse pas de rajouter de nouvelles langues <img src='http://blog.alwaysdata.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.alwaysdata.com/en/2010/06/18/alwaysdata-en-turc-alwaysdata-simdi-turkce/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quelles bibliothèques voulez-vous ?</title>
		<link>http://blog.alwaysdata.com/en/2010/06/15/quelles-bibliotheques-voulez-vous/</link>
		<comments>http://blog.alwaysdata.com/en/2010/06/15/quelles-bibliotheques-voulez-vous/#comments</comments>
		<pubDate>Tue, 15 Jun 2010 14:01:01 +0000</pubDate>
		<dc:creator>Cyril</dc:creator>
				<category><![CDATA[Annonces]]></category>

		<guid isPermaLink="false">http://blog.alwaysdata.com/en/?p=170</guid>
		<description><![CDATA[Nous allons prochainement¹ rénover la liste des bibliothèques (Python, Ruby, PHP, Perl) préinstallées chez alwaysdata. L&#8217;ensemble des bibliothèques actuellement installées sera au passage mis à jour. C&#8217;est le moment de nous dire quelles bibliothèques vous aimeriez voir installées (via les commentaires de ce billet). Nous ne promettons pas qu&#8217;elles le seront, mais cela nous donnera [...]]]></description>
			<content:encoded><![CDATA[<p>Nous allons prochainement¹ rénover la liste des bibliothèques (Python, Ruby, PHP, Perl) préinstallées chez alwaysdata. L&#8217;ensemble des bibliothèques actuellement installées sera au passage mis à jour.</p>
<p>C&#8217;est le moment de nous dire quelles bibliothèques vous aimeriez voir installées (via les commentaires de ce billet). Nous ne promettons pas qu&#8217;elles le seront, mais cela nous donnera une idée des plus populaires. Sachez toutefois que plus une bibliothèque est connue, maintenue et stable, plus elle a des chances d&#8217;être sélectionnée.</p>
<p>Nous garderons parallèlement l&#8217;ensemble des bibliothèques déjà installées avec leurs versions actuelles, pour éviter de casser les applications existantes. Le principe sera le même que pour Django ou Ruby on Rails : une sélection des versions dans l&#8217;administration alwaysdata.</p>
<p>C&#8217;est à vous.</p>
<p><span style="font-size:x-small;">¹ dans une semaine ou dans 3 mois, on ne sait pas encore. Ne nous harcelez pas <img src='http://blog.alwaysdata.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </span></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.alwaysdata.com/en/2010/06/15/quelles-bibliotheques-voulez-vous/feed/</wfw:commentRss>
		<slash:comments>31</slash:comments>
		</item>
		<item>
		<title>Appel à discussions : nouvelle interface des domaines</title>
		<link>http://blog.alwaysdata.com/en/2010/06/11/appel-a-discussions-nouvelle-interface-des-domaines/</link>
		<comments>http://blog.alwaysdata.com/en/2010/06/11/appel-a-discussions-nouvelle-interface-des-domaines/#comments</comments>
		<pubDate>Fri, 11 Jun 2010 16:39:34 +0000</pubDate>
		<dc:creator>Cyril</dc:creator>
				<category><![CDATA[Annonces]]></category>

		<guid isPermaLink="false">http://blog.alwaysdata.com/en/?p=167</guid>
		<description><![CDATA[Vous nous soumettez fréquemment vos remarques et suggestions pour améliorer alwaysdata. Aujourd&#8217;hui, nous ouvrons pour la première fois un appel public à débattre sur une proposition de remaniement d&#8217;une partie cruciale de l&#8217;administration alwaysdata : la gestion des domaines et sous-domaines. Cette proposition est détaillée dans un fil de discussion de notre forum. Nous vous [...]]]></description>
			<content:encoded><![CDATA[<p>Vous nous soumettez fréquemment vos remarques et suggestions pour améliorer alwaysdata. Aujourd&#8217;hui, nous ouvrons pour la première fois un appel public à débattre sur une proposition de remaniement d&#8217;une partie cruciale de l&#8217;administration alwaysdata : la gestion des domaines et sous-domaines.</p>
<p>Cette proposition est détaillée dans un <a href="http://forum.alwaysdata.com/topic/1021/appel-a-discussion-nouvelle-interface-des-domaines/">fil de discussion</a> de notre forum. Nous vous invitons tous à participer et à donner vos avis. Nous n&#8217;hésiterons pas à corriger notre proposition si de bonnes idées ou remarques émergent. Merci !</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.alwaysdata.com/en/2010/06/11/appel-a-discussions-nouvelle-interface-des-domaines/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Incident SQL : explications</title>
		<link>http://blog.alwaysdata.com/en/2010/06/05/incident-sql-explications/</link>
		<comments>http://blog.alwaysdata.com/en/2010/06/05/incident-sql-explications/#comments</comments>
		<pubDate>Sat, 05 Jun 2010 13:54:36 +0000</pubDate>
		<dc:creator>Cyril</dc:creator>
				<category><![CDATA[Evènements]]></category>

		<guid isPermaLink="false">http://blog.alwaysdata.com/en/?p=151</guid>
		<description><![CDATA[Hier vers 12h40, une erreur humaine nous a fait perdre un petit nombre de bases de données clients. Nous avons été contraints de restaurer les bases concernées à partir des dernières sauvegardes. Tous les clients concernés ont reçu un email indiquant les bases touchées ainsi que la date de la sauvegarde précédente utilisée. Nous vous [...]]]></description>
			<content:encoded><![CDATA[<p>Hier vers 12h40, une erreur humaine nous a fait perdre un petit nombre de bases de données clients. Nous avons été contraints de restaurer les bases concernées à partir des dernières sauvegardes. Tous les clients concernés ont reçu un email indiquant les bases touchées ainsi que la date de la sauvegarde précédente utilisée. Nous vous présentons nos plus sincères excuses, et revenons en détail dans ce billet sur ce qui s&#8217;est passé, ainsi que les mesures que nous allons prendre pour éviter que cela ne se reproduise à nouveau.</p>
<h2>Ce qui s&#8217;est passé</h2>
<p>Une commande de suppression (rm -fr) a été exécutée sur le serveur de production alors qu&#8217;elle était destinée à un serveur de développement. Cette commande a eu le temps de tourner environ une seconde avant d&#8217;être arrêtée, mais cela a suffi à supprimer une partie des bases de données. Nous avons alors immédiatement commencé à faire la liste des bases disparues. Une fois cette liste obtenue, nous avons recréé les bases à partir des dernières sauvegardes (effectuées chaque jour).</p>
<h2 style="font-size: 1.5em;">Et la redondance ?</h2>
<p>Comme vous le savez, nos serveurs sont systématiquement redondés dans un second datacenter. Mais ce mécanisme n&#8217;est utile que lors des pannes de serveur ou de datacenter, pas pour les erreurs humaines. La synchronisation entre les datacenters se fait en temps réel, et les données modifiées sont immédiatement répercutées sur le serveur de secours.</p>
<p>Sitôt un fichier supprimé sur le serveur principal, il l&#8217;est également sur le serveur secondaire. Ce dernier ne nous est donc d&#8217;aucune aide dans ce cas précis, et seules les sauvegardes régulières peuvent nous aider à récupérer une version précédente des bases et fichiers.</p>
<h2 style="font-size: 1.5em;">Comment éviter un nouvel incident ?</h2>
<p>Disons-le tout de suite : on ne pourra jamais exclure complètement l&#8217;erreur humaine, et cet incident n&#8217;a pas pour origine une négligence particulière de notre côté. Mais ça ne veut pas dire qu&#8217;on ne va rien faire suite à cet incident.</p>
<p>Il y a deux axes sur lesquels nous allons travailler : comment éviter une nouvelle erreur humaine, et comment être mieux préparé si elle devait se reproduire.</p>
<h3>Éviter l&#8217;erreur humaine</h3>
<p>À nouveau, il y a deux composantes pour atteindre cet objectif : par la technique, et par la prévention humaine.</p>
<p>Techniquement, nous allons réfléchir à mettre en place :</p>
<ul>
<li>un système de protection des suppressions sur les serveurs en production. <a href="http://www.safe-rm.org.nz/">safe-rm</a> pourrait être une première solution ;</li>
<li>un système de distinction visuelle (par exemple, des prompts de couleur différente) entre les serveurs en production et les autres.</li>
</ul>
<p>Humainement, nous allons réfléchir à édicter des règles d&#8217;utilisation pour limiter les risques, par exemple :</p>
<ul>
<li>se déconnecter systématiquement d&#8217;un serveur en production une fois qu&#8217;on a effectué ce qu&#8217;on avait à faire dessus, pour éviter qu&#8217;une session inutile ne reste ouverte ;</li>
<li>si on doit malgré tout garder une session ouverte, s&#8217;obliger à différencier le terminal, par exemple en évitant de rester sur le shell mais en démarrant une commande de type top ou nano.</li>
</ul>
<h3 style="font-size: 1.17em;">Se préparer au pire</h3>
<p>Une fois les fichiers supprimés, nous avons dû travailler à restaurer au plus vite les bases de données perdues. Une telle suppression sauvage des fichiers internes aux bases de données rend MySQL et PostgreSQL instables, et nous avons donc dû nous hâter de faire des tests sur un serveur temporaire pour s&#8217;assurer de la marche à suivre.</p>
<p>Par ailleurs, nous n&#8217;avions aucune méthode éprouvée pour détecter les bases supprimées puis réinstaller les dernières sauvegardes. Ce n&#8217;était pas très compliqué, mais cela a nécessité l&#8217;écriture de scripts et de tests pour s&#8217;assurer du bon fonctionnement de la procédure. C&#8217;est seulement ensuite que nous avons pu restaurer pour de bon les bases supprimées, d&#8217;où environ 2 heures de délai entre la suppression des fichiers et la restauration effective des bases.</p>
<p>Nous avons décidé il y a quelques semaines de lancer un programme de simulation des différents problèmes possibles sur notre architecture (panne de machine/réseau/datacenter, pénétration de nos systèmes, suppression de données). Ce n&#8217;est pas encore en place parce qu&#8217;il y a tout un travail technique en amont pour pouvoir dupliquer un serveur de production et y faire des simulations, mais cet incident nous montre une fois de plus l&#8217;intérêt d&#8217;être préparé à de multiples scénarios catastrophe.</p>
<p>Par ailleurs, nous sommes en train de travailler sur un nouveau système de redondance. Rien n&#8217;est encore fait, nous en sommes encore au stade de l&#8217;expérimentation, mais ce système pourrait nous permettre de faire des « snapshots » réguliers (par exemple, toutes les heures) de l&#8217;intégralité de nos données. S&#8217;il avait été en place, ce système nous aurait permis non pas de partir sur des sauvegardes datant de plusieures heures, mais maximum d&#8217;une heure. Nous aurons l&#8217;occasion de faire un billet à ce sujet si ce système se concrétise.</p>
<h2 style="font-size: 1.5em;">Ce qui a bien fonctionné</h2>
<p>Terminons sur une note positive : nous pouvons relever que notre politique de communication en temps réel et de transparence, via notre <a href="http://twitter.com/alwaysdata">compte Twitter</a>, fonctionne bien en cas d&#8217;incident. Il faudrait encore l&#8217;améliorer en affichant, dans l&#8217;administration alwaysdata et sur notre forum, les incidents en cours (tout le monde n&#8217;est pas sur Twitter). Nous avons également pu contacter personnellement chacun de nos clients par email en leur indiquant précisément les bases touchées et la date de dernière restauration.</p>
<p>En outre, les sauvegardes ont été d&#8217;une grande utilité. Ce n&#8217;est pas une surprise, et chacun peut d&#8217;ailleurs accéder librement à ses sauvegardes via un répertoire de son compte. Mais c&#8217;était la première fois qu&#8217;elles ont été utilisées à grande échelle.</p>
<p>
Pour conclure, j&#8217;aimerais présenter une nouvelle fois toutes nos excuses au nom de l&#8217;équipe alwaysdata pour ce malheureux incident. Merci à tous les messages d&#8217;encouragement que nous avons reçus, ils sont toujours très appréciés, a fortiori en situation de crise.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.alwaysdata.com/en/2010/06/05/incident-sql-explications/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Déploiement de notre nouvelle architecture</title>
		<link>http://blog.alwaysdata.com/en/2010/05/04/deploiement-de-notre-nouvelle-architecture/</link>
		<comments>http://blog.alwaysdata.com/en/2010/05/04/deploiement-de-notre-nouvelle-architecture/#comments</comments>
		<pubDate>Tue, 04 May 2010 10:55:29 +0000</pubDate>
		<dc:creator>Cyril</dc:creator>
				<category><![CDATA[Annonces]]></category>

		<guid isPermaLink="false">http://blog.alwaysdata.com/en/?p=149</guid>
		<description><![CDATA[Après plusieurs mois de développement et un retard à l&#8217;allumage, la nouvelle architecture est désormais en production sur tous les comptes depuis quelques jours Ce billet ne rentrera pas dans les détails techniques de cette nouvelle architecture, pour la simple et bonne raison que j&#8217;ai donné une conférence abordant largement le sujet aux DjangoCong. Cette [...]]]></description>
			<content:encoded><![CDATA[<p>Après plusieurs mois de développement et un retard à l&#8217;allumage, la nouvelle architecture est désormais en production sur tous les comptes depuis quelques jours <img src='http://blog.alwaysdata.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Ce billet ne rentrera pas dans les détails techniques de cette nouvelle architecture, pour la simple et bonne raison que j&#8217;ai donné une conférence abordant largement le sujet aux DjangoCong. Cette dernière sera disponible sous peu en vidéo &#8211; nous l&#8217;annoncerons sur le blog &#8211; et permettra alors aux curieux d&#8217;en savoir plus sur l&#8217;envers du décor.</p>
<p>Concrètement, cette architecture ajoute une souplesse qui va nous permettre, au fil des semaines et des mois prochains, de considérablement étoffer les fonctionnalités que nous proposons. Dans un premier temps, vous bénéficiez déjà d&#8217;un ajout important : vous avez désormais accès aux logs d&#8217;erreur et d&#8217;accès en temps réel. Deux fichiers, error.log et access.log, sont accessibles dans ~/admin/log/.</p>
<p>Si les logs d&#8217;accès sont un petit bonus, les logs d&#8217;erreur sont en revanche une avancée considérable : vous pourrez désormais savoir plus précisément pourquoi votre application ne démarre pas, sans avoir à nous solliciter (mais nous restons bien entendu à votre disposition, cela ne change évidemment pas).</p>
<p>Mais le meilleur reste à venir, et les vraies nouveautés arriveront progressivement. Le support du SSL, par exemple, qui est déjà disponible en beta (ceux qui en ont un besoin urgent peuvent nous contacter). Le support de nouvelles technologies, également (WSGI, Passenger, langages exotiques comme Erlang ou OCaml, etc.).</p>
<p>Nous avons profité du passage à cette nouvelle architecture pour mettre à jour le serveur HTTP principal. Cela signifie de meilleures performances, mais aussi la suppression du redémarrage régulier de vos applications, ce qui entrainait un temps de latence désagréable au premier accès.</p>
<p>Dernière évolution récente, sans rapport avec la nouvelle architecture HTTP : les mails sont désormais stockés sur un serveur à part, autonome. Cela veut dire qu&#8217;il y a une totale étanchéité entre nos services HTTP et mail : si un serveur HTTP devait avoir un souci, cela n&#8217;impacterait plus les mails comme c&#8217;était le cas jusqu&#8217;à présent. Par ailleurs, les lenteurs qui pouvaient être visibles en IMAP devraient être éliminées.</p>
<p>Ces évolutions sont un véritable tournant dans l&#8217;histoire (technique) d&#8217;alwaysdata. Nous avons commencé à y réfléchir dès 2008, et le développement a mobilisé toutes nos ressources au cours des derniers mois. Maintenant que cela est derrière nous, nous allons vraiment pouvoir vous (et nous) régaler avec des fonctionnalités concrètes.</p>
<p>Un grand merci, enfin, à tous ceux qui nous ont aidés : en participant au beta-test, en remontant des bugs parfois obscurs, ou tout simplement en se montant patients et confiants. Champagne¹ ! <img src='http://blog.alwaysdata.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><span style="font-size: xx-small;">¹ avec modération.</span></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.alwaysdata.com/en/2010/05/04/deploiement-de-notre-nouvelle-architecture/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Compte-rendu des rencontres Django, à Marseille</title>
		<link>http://blog.alwaysdata.com/en/2010/04/27/francais-compte-rendu-des-rencontres-django-a-marseille/</link>
		<comments>http://blog.alwaysdata.com/en/2010/04/27/francais-compte-rendu-des-rencontres-django-a-marseille/#comments</comments>
		<pubDate>Tue, 27 Apr 2010 17:19:47 +0000</pubDate>
		<dc:creator>Nicolas</dc:creator>
				<category><![CDATA[Evènements]]></category>

		<guid isPermaLink="false">http://blog.alwaysdata.com/en/?p=113</guid>
		<description><![CDATA[Comme nous l&#8217;avions annoncé dans le billet précédent, nous nous sommes rendus ce week-end du 24/25 avril 2010 aux rencontres Django (djangocong) qui ont eu lieu à Marseille. Quand je dis &#8220;nous&#8221;, je dis Cyril et moi-même. Voici donc un compte-rendu de ce week-end qui fut plein de richesses ! L&#8217;arrivée à Marseille Départ tardif [...]]]></description>
			<content:encoded><![CDATA[<p>Comme nous l&#8217;avions annoncé dans le <a href="http://blog.alwaysdata.com/fr/2010/03/08/francais-alwaysdata-aux-rencontres-django-a-marseille/">billet précédent</a>, nous nous sommes rendus ce week-end du 24/25 avril 2010 aux <a href="http://rencontres.django-fr.org/">rencontres Django (djangocong)</a> qui ont eu lieu à Marseille. Quand je dis &#8220;nous&#8221;, je dis Cyril et moi-même. Voici donc un compte-rendu de ce week-end qui fut plein de richesses !<span id="more-113"></span></p>
<h4><strong>L&#8217;arrivée à Marseille</strong></h4>
<p>Départ tardif de Paris pour une arrivée à Marseille à 1h du matin. Un peu de marche pour atteindre l&#8217;hôtel, en passant devant le Vieux Port. Nous prenons possession des lieux avant une nuit légèrement trop courte : l&#8217;accueil des rencontres Django démarre à 9h15, j&#8217;inaugure, et on ne connait pas précisément l&#8217;itinéraire&#8230;</p>
<h4><strong>Les conférences, c&#8217;est parti !</strong></h4>
<p>Hop nous nous levons sans difficulté, sautons dans un taxi et arrivons à temps pour le lancement des conférences. En voici la liste (exhaustive je pense) :</p>
<p>SAMEDI</p>
<ul>
<li>Django 1.2 : un point de nouveautés, par <a href="http://www.alwaysdata.com">Nicolas Ferrari</a> (pour vous servir) ;</li>
<li><a href="http://agopian.info/djangocong/dplf.html">Django pour les fainéants</a>, par <a href="http://agopian.info/">Mathieu Agopian</a> ;</li>
<li><a href="http://blog.sietch-tabr.com/public/presentation_boite_a_outils_django_DjangoCong2010.pdf">Boîte à outils Django</a>, par <a href="http://blog.sietch-tabr.com/">Eric Veiras Galisson</a> ;</li>
<li>Cours de géo, par <a href="http://github.com/samueladam">Samuel Adam</a> ;</li>
<li>Discussion globale sur l&#8217;évolution de la communauté Django Francophone ;</li>
<li><a href="http://neokraft.net/public/2010/djangocong/auth.pdf">Une authentification pour les &#8220;contrôler&#8221; tous</a>, par <a href="http://neokraft.net/">Olivier Meunier</a> ;</li>
<li><a href="http://media.bruno.im/djangocong-testing.pdf">Tester son projet Django</a>, par <a href="http://bruno.renie.fr/">Bruno Renié</a> ;</li>
<li>Les dessous d&#8217;alwaysdata, par <a href="http://www.alwaysdata.com">Cyril</a> ;</li>
<li><a href="http://www.slideshare.net/nperriault/symfony-pour-les-dveloppeurs-django-et-rciproquement">Django pour les développeurs Symfony</a>, par <a href="http://prendreuncafe.com/">Nicolas Perriault</a> ;</li>
<li><a href="http://media.jehaisleprintemps.net/talks/djangocong-2010/">Beer over IP</a>, par <a href="http://jehaisleprintemps.net/blog/">Bruno Bord</a>.</li>
</ul>
<p>DIMANCHE</p>
<ul>
<li><a href="http://j-mad.com/blog/wp-content/uploads/2010/04/Djangocong_2010-Django_et_XMPP.pdf">Django et XMPP</a>, par <a href="http://j-mad.com/blog/">Jean-Michel Armand</a> ;</li>
<li><a href="http://www.slideshare.net/beoitc/gunicorn-django-djangocong20100425">Gunicorn, Django et WSGI</a>, par <a href="http://benoitc.im/">Benoît Chesneau</a> ;</li>
<li><a href="http://neokraft.net/public/2010/djangocong/amqp.pdf">Des lapins et des poneys, quand AMPQ rencontre Django</a>, par <a href="http://neokraft.net/">Olivier Meunier</a> ;</li>
<li><a href="http://en.wikipedia.org/wiki/Lightning_Talk">Lightning talks</a> (quelques uns dont je me souviens : <a href="http://bitbucket.org/jespern/django-piston/wiki/Home">django-piston</a>, la recherche par <a href="http://haystacksearch.org/">haystack</a>, <a href="http://code.welldev.org/django-roa/wiki/Home">django ROA</a>, django-extensions, mais aussi un comparatif intéressant <a href="http://www.slideshare.net/jlecour/rails-djangocong">Django/RubyOnRails</a> par <a href="http://jeremy.wordpress.com/">Jérémy Lecour</a>) ;</li>
<li>Introduction à <a href="http://pinaxproject.com/">Pinax</a>, par David Paccoud ;</li>
<li>&#8220;<a href="http://copyleft.free.fr/djangocong-i18n/">&#8216;Tain cong&#8217;, Django speaks marseillais</a>&#8220;, par <a href="http://copyleft.free.fr/">Stéphane Raimbault</a> ;</li>
<li>Internationalisation de contenus avec Django, par <a href="http://www.marmelune.net/">Benoît Bryon</a> ;</li>
<li><a href="http://www.slideshare.net/beoitc/couchdbkit-1-django">CouchDB et Django, l&#8217;utilisation de CouchDBKit</a>, par <a href="http://benoitc.im/">Benoît Chesneau</a> ;</li>
<li>Les limites de Django, par <a href="http://larlet.fr/">David Larlet</a>.</li>
</ul>
<p>Inutile de rentrer dans le détail de chacune des conférences car je peux vous assurer qu&#8217;elles étaient toutes réussies et intéressantes. Je vous encourage vivement à aller jeter un œil sur tout cela, que vous soyez débutant ou expert en Django, vous apprendrez beaucoup de choses c&#8217;est certain ! Il est possible d&#8217;avoir un peu plus de détails (et peut-être d&#8217;autres infos que j&#8217;aurais oubliées) sur <a href="http://titanpad.com/lvHgfKpp85">cette page communautaire</a>.</p>
<p>A noter que nous ferons un nouveau billet concernant nos conférences à chacun lorsqu&#8217;elles seront également disponibles en vidéo, soyez patients <img src='http://blog.alwaysdata.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h4><strong>DjangoCong, de vrais rencontres, un bel esprit</strong></h4>
<p>C&#8217;est sans langue de bois aucune que je peux dire, en mon nom mais également pour Cyril, que nous avons passé un excellent week-end, que nous avons appris beaucoup de choses sur tout ce qui entoure Django, et que nous avons fait des supers rencontres. C&#8217;était vraiment très agréable de rencontrer cette communauté dont les conférenciers ont démontré des compétences certaines et une ouverture d&#8217;esprit très prometteuse pour l&#8217;avenir de notre framework favori.</p>
<p>C&#8217;était également très plaisant de découvrir que notre plate-forme <a href="http://www.alwaysdata.com">alwaysdata</a> est -à peu près- connue de tous et nous avons reçu de nombreux encouragements et félicitations qui nous ont vraiment fait chaud au cœur. Encore un tremplin de plus pour pérenniser notre envie de proposer encore mieux, et de continuer à accompagner nos clients comme nous le faisons depuis le début de l&#8217;aventure !</p>
<p>Pour preuve que ce week-end est un véritable succès, vous pouvez lire les différents comptes-rendus que l&#8217;on peut trouver actuellement (ne pas hésiter à en rajouter en commentaire si j&#8217;en oubliais) :</p>
<ul>
<li><a href="http://blog.providenz.fr/2010/04/djangocong-retour-sur-les-rencontres-django-a-marseille/">http://blog.providenz.fr/2010/04/djangocong-retour-sur-les-rencontres-django-a-marseille/</a></li>
<li><a href="http://copyleft.free.fr/wordpress/index.php/2010/04/27/succes-pour-les-premieres-rencontres-django-fr/">http://copyleft.free.fr/wordpress/index.php/2010/04/27/succes-pour-les-premieres-rencontres-django-fr/</a></li>
<li><a href="http://neokraft.net/2010/rencontres-django">http://neokraft.net/2010/rencontres-django</a></li>
<li><a href="http://jehaisleprintemps.net/blog/fr/2010/04/25/beeroverip-djangocong/">http://jehaisleprintemps.net/blog/fr/2010/04/25/beeroverip-djangocong/</a></li>
<li><a href="http://blog.naeka.fr/2010-04-26-rencontres-django-feedback-djangocong.html">http://blog.naeka.fr/2010-04-26-rencontres-django-feedback-djangocong.html</a></li>
<li><a href="http://tdto.wordpress.com/2010/04/26/djangocong-cest-finit-dommage/">http://tdto.wordpress.com/2010/04/26/djangocong-cest-finit-dommage/</a></li>
<li><a href="http://www.biologeek.com/conferences,django,python/bilan-personnel-sur-djangocong/">http://www.biologeek.com/conferences,django,python/bilan-personnel-sur-djangocong/</a></li>
<li><a href="http://j-mad.com/blog/2010/04/27/djangocong-bilan-perso-dun-gentil-organisateur/">http://j-mad.com/blog/2010/04/27/djangocong-bilan-perso-dun-gentil-organisateur/</a></li>
<li><a href="http://jeremy.wordpress.com/2010/04/25/djangocong-2010/">http://jeremy.wordpress.com/2010/04/25/djangocong-2010/</a></li>
<li><a href="http://mathieu.agopian.info/blog/2010/04/djangocong-rencontre-django-a-marseille/">http://mathieu.agopian.info/blog/2010/04/djangocong-rencontre-django-a-marseille/</a></li>
</ul>
<h4><strong>Remerciements</strong></h4>
<p>Nous tenons donc, en toute logique, suite à ce beau week-end passé dans le sud de la France, à remercier les personnes qui ont rendu cela possible :</p>
<p><img class="aligncenter size-full wp-image-124" title="IMGP0022" src="http://blog.alwaysdata.com/wp-content/uploads/2010/04/IMGP0022.JPG" alt="IMGP0022" width="640" height="480" /></p>
<ul>
<li><a href="http://larlet.fr/">David Larlet</a> et <a href="http://j-mad.com/blog/">Jean-Michel Armand</a> : les 2 organisateurs principaux (ci-dessus) ;</li>
</ul>
<p style="text-align: center;">
<ul>
<li>Samuel Adam, parce qu&#8217;on a toujours besoin d&#8217;un plus belge que soi, et pour les containers de houblon exportés de Belgique (à consommer avec modération, donc un container à la fois) ;</li>
</ul>
<ul>
<li>Tous les autres, pour avoir été aussi enthousiastes que nous pour ces rencontres, et pour les prochaines (oui David <img src='http://blog.alwaysdata.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ).</li>
</ul>
<h4>Bonus</h4>
<p>Allez en bonus, une petite photo de nous, à l&#8217;apéro, non loin du Vieux Port <img src='http://blog.alwaysdata.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><img class="aligncenter size-full wp-image-129" title="IMGP0018" src="http://blog.alwaysdata.com/wp-content/uploads/2010/04/IMGP0018.JPG" alt="IMGP0018" width="640" height="480" /></p>
<p>D&#8217;autres photos <a href="http://www.flickr.com/photos/alwaysdata/sets/72157623943289030/">ici</a> et <a href="http://www.flickr.com/photos/providenz/sets/72157623931169122/">là</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.alwaysdata.com/en/2010/04/27/francais-compte-rendu-des-rencontres-django-a-marseille/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>alwaysdata aux rencontres Django à Marseille</title>
		<link>http://blog.alwaysdata.com/en/2010/03/08/francais-alwaysdata-aux-rencontres-django-a-marseille/</link>
		<comments>http://blog.alwaysdata.com/en/2010/03/08/francais-alwaysdata-aux-rencontres-django-a-marseille/#comments</comments>
		<pubDate>Mon, 08 Mar 2010 17:00:23 +0000</pubDate>
		<dc:creator>Cyril</dc:creator>
				<category><![CDATA[Annonces]]></category>

		<guid isPermaLink="false">http://blog.alwaysdata.com/en/?p=108</guid>
		<description><![CDATA[alwaysdata sera présent aux rencontres Django à Marseille les 24 et 25 avril 2010. Nicolas et moi-même vous présenterons deux conférences : les dessous d&#8217;alwaysdata, qui abordera certains détails internes de notre architecture ; les nouveautés de Django 1.2, prévu pour le mois d&#8217;avril. De nombreuses conférences sur Django &#8211; et en français &#8211; sont prévues [...]]]></description>
			<content:encoded><![CDATA[<p>alwaysdata sera présent aux <a href="http://rencontres.django-fr.org">rencontres Django à Marseille</a> les 24 et 25 avril 2010. Nicolas et moi-même vous présenterons deux conférences :</p>
<ul>
<li>les dessous d&#8217;alwaysdata, qui abordera certains détails internes de notre architecture ;</li>
<li>les nouveautés de Django 1.2, prévu pour le mois d&#8217;avril.</li>
</ul>
<p>De nombreuses conférences sur Django &#8211; et en français &#8211; sont prévues pendant ce week-end. Venez nombreux pour ce premier évènement dédié au fameux framework Python en France, c&#8217;est gratuit <img src='http://blog.alwaysdata.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.alwaysdata.com/en/2010/03/08/francais-alwaysdata-aux-rencontres-django-a-marseille/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>
