Social Icons

Pages

dimanche 11 novembre 2012

Stop building systems supposed to work!


IT systems are complex, made of many collaborative chains. Reliability is of course a key word but resilience should be also considered as a key aspect improving reliability. If potential failures are part of the initial design, resilience and therefore reliability will be greatly improved.
Very often IT systems are designed as if they were working perfectly. This may be true for each single system but as a matter of fact it appears often not to be true globally! Perfection is often out of reach and this input should be considered from the design phase
Systems that are not designed to behave nicely in case of failure create all sorts of issues on downstream systems.
Let's illustrate this by a very common pitfall: a data (file or unitary data) is missing, what should we do? Block the entire process without processing anything or just skip the missing data and process whatever you can, performing a partial rerun when the data is becoming available ?
Of course, the second option seems more sensible but unfortunately rarely implemented even manually through a process.
Just to highlight this point, a little anecdote: once, as an accounting system was computing million of transactions for end of month results, it got blocked because a currency value was undefined. Fortunately, as the process was considered sensitive for the company, a manual check was performed throughout the chain. This failure was detected during the night and the on call manager who had not the faintest idea of the possible value decided to set it to 1€. The process could start again, and the next morning accountants were able to manually fix the impacted transaction. Of course the run was not perfect but more than 99.99% of the goal was reached!
Even more common is the "cron" syndrome. Because open system developers have usually little experience in managing batches, they are not used to the capacities of enterprise wide schedulers. They are implementing batches with primitive tooling which ends up with very rigid chains which are not flexible enough to adjust should a problem arise.
As an example, very often batches are triggered at a given time and not upon a certain condition. Any delay in the upstream is then creating an issue on whole downstream chain. The same applies by the way with return codes which are not always fully implemented. Chaining jobs becomes then a little difficult without clearly knowing the exact status of the previous job.
Regarding batches, it is very common to see a black and white approach: either it runs or not. If not, nothing is produced, the error has to be fixed to rerun the complete batch. This of course does not fit for large batches that take more that minutes to complete. To increase the resilience of such batches, restart points have to be defined within the job logic so that the rerun is only performing the missing computation and not the complete job.
Data quality is not a common concept either: consolidation systems for example, by design, rely on the input coming from potentially hundreds of systems. Statistically, they cannot be right every day as most likely an input will be missing a day or another.
A way of managing such a situation is to implement fall back mechanism trying to estimate missing data, for example based on previous day input, and reflect this in a quality flag which shows how reliable the computed figure is.
In a nutshell, let´s move away from the optimistic approach and let´s build system that are ready to fail, having the needed fallback mechanisms implemented from the design phase!

jeudi 1 novembre 2012

I am back !

It's a long time since I have written something here!

As I have now many colleagues speaking english, I'll switch to something which will pass for English ...
I'll also try to post on a more regular basis (not so difficult) ...

See you soon

mardi 29 décembre 2009

Bonne Année 2010 !

Même si la crise n'est pas encore derrière nous et que les perspectives de l'année 2010 ne sont pas exceptionnelles, néanmoins, les investissements dans les technologies devraient rester soutenus en 2010.

Que 2010 soit donc l'occasion d'utiliser le meilleur de ces technologies pour livrer des projets apportant le plus de valeur à vos entreprises.

Porter ou ne pas porter telle est la question !

Depuis l'arrivée des smartphones, se pose de façon régulière la question du portage des applications web existantes sur plateforme mobile. Par portage, il est entendu ici l'utilisation d'un moyen technique pour transformer une application existante pour la rendre accessible sur un smartphone ou sur une autre plateforme mobile.

Le portage a pour lui la facilité, la rapidité et donc le coût. Autant d'éléments importants, en particulier dans cette période de crise que nous traversons actuellement. De plus, la course à la visibilité, amène les entreprises à développer le plus rapidement possible un service mobile pour occuper le marché au plus vite. Le portage est donc une solution très attrayante.

Un smartphone n'a rien à voir avec un PC ...

Aussi séduisante soit-elle, cette solution rencontre de sérieuses limitations : un smartphone n'a rien à voir avec un PC. Certaines différences sont évidentes : taille et résolution de l'écran, qui imposent un scrolling permanent à l'utilisateur d'une application non adaptée aux mobiles.

Autre différence évidente : le clavier. Physiques ou virtuels, ils sont d'un usage pénible et leur utilisation doit être réduite au maximum.

Pour rester dans les différences frappantes, les capacités des réseaux n'ont rien de comparable, ni en terme de bande passante, ni en terme de fiabilité ! Qui n'a pas été déçu en surfant sur des sites inadaptés via internet mobile ? Les sites d'aujourd'hui sont chargés d'images lourdes et d'animations flash qui ne donnent pas satisfaction aux utilisateurs mobiles. Compte tenu de la bande passante généralement disponible, il faudrait presque revenir aux heures héroïques dont la page d'accueil de Google est un vestige !

La fiabilité des réseaux a des conséquences encore plus importantes : la grande majorité des sites ne fonctionnent pas quand la ligne est coupée. Même si la couverture 3G est satisfaisante aujourd'hui, des zones blanches subsistent. Là encore, une application mobile bien conçue se doit de prendre en compte cette contingence.

Dans les différences un peu moins évidentes, on peut citer la consommation excessive d'énergie générée par une application utilisant le réseau de façon intensive …

Bref, les différences sont nombreuses … et au delà de ces différences fondamentalement techniques, une différence structurelle doit également être prise en compte : l'utilisateur est en situation de mobilité ! Pourquoi lui proposer, voire imposer, le même service que celui qu'il pourrait confortablement utiliser sur un PC disposant d'un grand écran, d'un vrai clavier et d'un réseau puissant ?

Il est impératif de présenter à l'utilisateur une information filtrée et pertinente compte tenu de sa situation de mobilité. Par exemple : utiliser des informations de géolocalisation pour ne présenter que les informations localisées à proximité.

Dans le même registre, une application de CRM ne devrait proposer par défaut que les informations liées au clients présents dans l'agenda de la journée en évitant les affichages surchargés, illisibles sur un smartphone.

L'ergonomie des applications doit donc être adaptée aux smartphones ...

Nos smartphones disposent de plus en plus de capteurs évolués qui facilitent l'usage en mobilité : synthèse vocale, reconnaissance vocale, détecteur de mouvements, … sans parler du classique appareil photo. Autant de périphériques inexistants sur un PC. Pourquoi se priver de ces nouvelles possibilités dans les interfaces des applications ? Un nouveau service mobile doit donner un confort d'utilisation au moins à la hauteur de ses concurrents.

Le portage est-il pour autant condamné ? Si effectivement tous les éléments précédents plaident en faveur d'applications spécifiques, un élément supplémentaire est à prendre en considération : la fragmentation des plateformes mobiles. La bataille fait rage entre les acteurs historiques (Windows Mobile, Symbian, RIM) et les nouveaux entrants (Apple, Android). Cette situation impose aux fournisseurs de services ayant fait le choix d'une application spécifique de réécrire cette dernière sur les différentes plateformes cibles.

Ceci présente un coût évidemment rédhibitoire : outre le coût direct, la réécriture impose de disposer d'équipes spécialisées sur chaque plateforme et d'accepter d'attendre les délais nécessaires à la réécriture.

La fragmentation des plateformes rend pénible la réécriture sur chaque cible

Pour cette raison, un certain nombre d'outils propriétaires ont émergé pour permettre le portage d'une application vers plusieurs plateformes cibles.

On connait bien cette problématique qui existe depuis des années : Mac vs Windows, Unix vs Windows, … Cela a donné naissance à des générations de L4G qui tentaient de s'abstraire de la plateforme, ou à des librairies croisées apportant l'API d'une plateforme sur une autre (Wime par exemple), ou encore à une API nouvelle, commune sur l'ensemble des plateformes cibles (Qt par exemple).

C'est également cette même problématique que Java cherche à résoudre avec le fameux slogan : « Write once, run everywhere ! » L'expérience montre que toutes ces approches présentent des limites, on a souvent parodié le slogan de Java en « Write once, debug everywhere ! »

HTML 5 : la solution ?

Cependant, une alternative est en train d'émerger : HTML 5. Proposant le navigateur comme interface entre l'utilisateur et la plateforme sous sous-jacente, HTML 5 devrait permettre de développer une application sur une plateforme unique et normalisée.

Evidemment, cette approche séduisante a elle même des limitations : par exemple, la prise en compte et la normalisation de nouvelles interfaces permettant de piloter des périphériques spécifiques.

Cette approche prometteuse est supportée par des sociétés comme Google ou même Apple qui semblent croire en cette voie pour rationaliser le développement Web 2.0 y compris sur plateformes mobiles.

Cette approche, sous les réserves émises précédemment quant à la spécificité de l'ergonomie et du fonctionnement d'une application mobile, permet de faciliter la migration sur plateformes mobiles d'applications web 2.0 existantes et réciproquement de retrouver sur le « web fixe » des applications développées pour des mobiles. Conformément aux promesses du web 2.0, l'expérience utilisateur sera alors identique ou du moins similaire quelque soit la localisation de l'utilisateur ou le périphérique qu'il utilise.

mercredi 2 décembre 2009

Informatique de gestion : centre de profit ou centre de coût ?

Nous ne parlons ici que de l'informatique de gestion. En effet, l'informatique industrielle, celle qui pilote les usines et les processus de production fait, sans conteste partie de l'informatique stratégique, avec les investissements stratégiques de l'entreprise comme les usines, machines, … Dans certaines entreprises, qui utilisent l'informatique tant pour la gestion que pour la production, les responsables sont parfois différents pour ces deux domaines.

Sans que cela ne transparaisse au grand jour, il existe dans nos entreprises deux d'informatiques de gestion profondément différentes même si en surface elles se ressemblent.

L'informatique tirée par les coûts n'améliore que les processus existants de l'entreprise

Pour commencer, introduisons la plus ancienne, l'informatique tirée par les coûts. Comme son nom le laisse supposer, elle appartient aux centres de coûts des entreprises, elle ne produit pas de valeur autre que celle de la réduction des coûts des processus qu'elle permet d'automatiser. La proposition de valeur réside dans l'amélioration d'un processus existant de l'entreprise. Rentrent dans cette catégorie, comptabilité, gestion de stocks, facturation, … bref, tous ces processus de gestion que l'informatique accompagne.

L'informatique stratégique est au cœur du métier et non fonction de support

L'informatique stratégique elle, participe à la production de produits et de services vendus par l'entreprise. L'informatique est là au cœur du métier et non fonction de support. Grâce à son système d'information, une entreprise peut proposer des produits innovants et différenciants. Dans ce monde, la maîtrise des coûts est importante mais ces derniers sont à mettre en regard avec les revenus qu'ils génèrent. L'informatique stratégique tient la même place au sein de l'entreprise que les autres moyens de production. On retrouve ce type d'informatique dans différents domaines : l'informatique financière sans laquelle les produits vendus par les banques ne pourraient exister, l'informatique des opérateurs de télécommunication et en particulier la facturation, sans laquelle les offres des opérateurs ne pourraient s'adapter à la concurrence, …

L'emprise croissante de la dématérialisation impose l'informatique stratégique

Les situations ne sont pas figées : sous le coup de la révolution internet et maintenant de l'internet mobile, l'informatique est de plus en plus souvent associée à un produit ou service d'une entreprise. Sans considérer l'exemple évident des systèmes de e-commerce, bon nombre de produits ou de services vendus par les entreprises comportent un volet informatique. Un exemple du quotidien : un transporteur comme UPS fourni à ses clients un service électronique de suivi des colis qu'il achemine. Son image de marque vis à vis de ses clients dépend maintenant autant de la fiabilité de son service de transport – cœur de métier de l'entreprise - que de son service informatique. Une panne de ce service, une inexactitude sur la localisation des colis a un impact fort sur l'image de l'entreprise.

La gestion de ces deux informatiques est très différente

Naturellement, à la lumière de ces exemples, on comprend que ces deux types d'informatique sont gérés très différemment. La première, tirée par les coûts, chercher à obtenir le service pour la dépense minimale non sans impact sur la qualité. La recherche des coûts minimaux conduit assez rapidement à des solutions de mutualisation par des moyens externalisés. Progressivement, une distance s'établit entre les utilisateurs de l'application et l'équipe informatique. L'incompréhension et la défiance naissent surtout si des changements sont apportés à l'application ; les différentes équipes n'ont pas les mêmes objectifs : le ou les prestataires profitent de chaque changement pour facturer des « demandes de changement » plutôt qu'accompagner efficacement son client dans ses demandes d'évolution.

Pour l'informatique stratégique, le démarche est toute autre : la priorité n'est pas sur le coût le plus faible. Le volet informatique du produit ou service commercialisé par l'entreprise doit être livré à temps, comporter les fonctionnalités attendues, apporter une valeur ajoutée issue du savoir faire de l'entreprise... bref, on se situe ici dans le cœur de métier de l'entreprise. Même si la sous-traitance peut être utilisée - point d'externalisation dans ce contexte stratégique - il faut maîtriser le projet sous tous ses angles, avoir un circuit de décision sous contrôle, comme pour tout produit de l'entreprise.

Surtout ne pas mélanger !

Comme on le voit, nous parlons dans les deux approches d'informatique de gestion, mais les cultures, les approches, les moyens sont très différents. La méconnaissance de ces différences induit souvent des comportements « hybrides » particulièrement pénalisants.

Quand un responsable informatique, à la tête d'une informatique stratégique, « oublie » le caractère particulier de son fonctionnement en cédant aux sirènes de la mode d'offshoring, d'outsourcing, … il commet une énorme erreur aux lourdes conséquences. Rapidement, mais malheureusement pas immédiatement, l'externalisation introduit la distance évoquée plus haut, les équipes ne comprennent pas ce changement et leur motivation s'en trouve affectée et finalement, le service informatique n'est plus en mesure d'être au cœur des produits de l'entreprise.

Dans le cas symétrique, on observe également des difficultés. On ne transforme pas d'un coup de baguette magique une informatique focalisée sur les coûts en une informatique stratégique capable de produire des produits innovants pour l'entreprise. La distance, encore elle, rend impossible une communication fluide entre informaticiens (souvent externes) et clients, communication cependant indispensable à l'élaboration d'un produit.

Ce petit éclairage explique bien des catastrophes rencontrées dans nos services d'informatique de gestion ainsi que la grande frustration rencontrée tant du côté utilisateur que du côté informaticien.

dimanche 15 novembre 2009

Tendances de l'économie et d'internet selon Morgan Stanley

Certes, cette présentation n'est pas d'une brulante actualité car elle a été présentée il y a presque un mois lors d'une conférence sur l'Internet 2.0 à San Fransisco.

La raison de cet article est de vous faire découvrir une présentation extrêmement bien documentée de Morgan Stanley sur les tendances et perspectives de l'économie, d'internet et surtout pour nous, d'internet mobile. D'abord un mot sur Morgan Stanley qui n'est pas forcément une société connue de tous. Morgan Stanley est l'une des grandes banques d'affaires américaine. Pour exercer son métier de conseil elle emploie des spécialistes de différents domaines, en particulier ici le domaine technologique, pour publier des études de conjoncture ou des études sur une société donnée.

En synthèse, pour ce qui concerne les tendances économiques, cette présentation montre que les principaux indicateurs s'améliorent et que l'activité économique dans le domaine de la technologie a très bien résisté.

Pour ce qui est des tendances concernant les évolutions d'internet, Morgan Stanley relève que l'évolution la plus forte vient du marché de l'internet mobile et qu'elle s'inscrit dans une constante évolution :

  • 2004 - Ouverture d'Internet en Chine : immense opportunité
  • 2005 - Généralisation du haut débit, conduisant la croissance du marché des Télécommunications
  • 2006 - La vidéo sur le web se standardise
  • 2007 - Prolifération des réseaux sociaux
  • 2008 - Récession économique : crée des challenges et des opportunités pour les sociétés internet
  • 2009 - Internet mobile : Est et sera plus important que ne le pensent la plupart

Pour décrire plus précisément les tendances anticipées par Morgan Stanley dans le domaine de l'internet mobile :

  • La hausse du trafic internet mobile devrait surprendre à court terme et poser des problèmes de capacité aux opérateurs télécom.
  • Les plateformes de nouvelle génération (Réseau social + Mobile) devraient amener un changement sans précédent dans les communications et le commerce
  • Le marché japonnais montre les possibilités de paiement via des mobiles
  • L'adoption de la 3G varie selon les pays
  • Les opérateurs aux US et en Europe de l'Ouest font face à l'augmentation du trafic mais la rentabilité du modèle reste incertaine.
  • Le rôle des régulateurs sur ce marché est important

Dans la planche 32 de la présentation ci-jointe, un graphique retrace l'extraordinaire croissance en volume du marché de l'informatique : de quelques unités de mainframe dans les années 60 à plusieurs milliards de smartphones dans les années 2010-2020.

La planche suivante montre le succès incroyable de la plate-forme d'Apple (iPhone + iTouch) qui en neuf mois a touché 57 millions de consommateurs. Dans l'histoire de l'informatique, seul Netscape avait approché ce chiffre : 50 millions d'utilisateurs mais acquis en deux fois plus de temps !

D'après les études de Morgan Stanley, le taux de pénétration de la 3G en 2014 devrait atteindre 45% contre 15% actuellement !

L'étude insiste également sur la localisation qui est une évolution majeure permettant d'envisager des services toujours plus innovants

En planche 37, Morgan Stanley propose sa vision de l'évolution du marché :

  • A court terme, Apple avec son écosystème conduit le changement dans marché du mobile. Sa part de marché devrait surprendre encore pour au moins encore les deux prochaines années.
  • A plus long terme, l'internet mobile ouvert (avec Android) et les limitations des opérateurs créeront des challenges pour Apple.
  • Sur le marché de l'entreprise RIM devrait, grâce à sa base installée, conserver sa première place dans les deux prochaines.

Les études de trafic montrent clairement que tant les iPhones que les téléphones Android génèrent un très grand nombre de pages HTML vues. 65% des pages vues sur un mobile le sont sur un iPhone qui pourtant ne représente que 11% des ventes de smartphones. On observe le même genre de ratio pour Android : 8% des pages vues pour un parc de 2% des smartphones. (voir détail page 39)

La planche ci-dessous tente d'illustrer le bouleversement anticipé par les évolutions des réseaux sociaux associés à internet mobile :

ms1

Le téléphone mobile deviendra une télécommande pour piloter les services disponibles sur le Net. Les réseaux sociaux changent et changeront profondément la manière dont les gens dialogueront entre eux et la façon dont les sociétés et annonceurs toucheront leurs clients.

Le marché japonnais très en avance dans le domaine de l'internet mobile montre les évolutions prochaines en terme de répartition des revenus :

ms2

Après quelques années de déploiement, la part des revenus générés par l'accès à l'internet mobile a baissé de 20% au profit du commerce en ligne et des services payants. Le marché mondial présente aujourd'hui le même profil de revenus que celui du Japon en 2000. On peut donc raisonnablement s'attendre à la même évolution.

Cisco estime que le trafic mobile devrait être multiplié par 66 (!) d'ici la fin de 2013. Cette explosion du trafic sera due autant à la part de marché croissante des smartphones qu'à leur usage (vidéo, streaming, ...). La compétition aura certainement un impact sur les prix mais, il faudra cependant tenir compte de la baisse des revenus provenant du trafic de la voix. Le Wifi pourra également être une option stratégique pour les opérateurs qui opèreront de plus en plus de macro réseaux associant différentes technologies (3G, Wifi, Wimax ?)

Pour finir, voici comment l'étude synthétise l'évolution du marché informatique :

ms3

Pour ceux qui sont arrivés jusqu'ici et qui auraient encore envie de détails supplémentaires, voici l'étude complète de Morgan Stanley :

vendredi 25 septembre 2009

Communications unifiées, 3G mobile, SaaS : un cocktail explosif !

J'ai eu l'occasion de réfléchir à l'évolution et la convergence de domaines aujourd'hui distincts mais dont le rapprochement va créer des applications extrêmement innovantes : le mélange de la 3G, du SaaS et des communications unifiées va nous faire entrer dans un monde encore plus (pour ne pas dire totalement) numérique !

3G Mobile ou Mobilize Internet

L'IPhone a montré le chemin. Il est arrivé au bon moment, quand la couverture 3G était suffisante, les écrans suffisamment grands pour une navigation agréable, la batteries presque suffisamment puissantes pour assurer une autonomie acceptable. Au delà du phénomène de mode, l'iPhone a montré ce que serait l'internet mobile. Android et bientôt Windows mobile 6.5 vont convaincre des millions d'utilisateurs supplémentaires et tous vont faire de l'internet mobile une révolution aussi grande que celle de l'internet. Google n'est pas entré dans ce créneau par hasard....

SaaS

Sans être complètement "Mainstream", du moins dans les entreprises, le web 2.0 est maintenant présent largement dans le paysage informatique. Cette technologie, au delà des écrans riches et interactifs qu'elle permet de construire, apporte la possibilité d'utiliser de vrais applications dans un browser, sans installation. Du coup, le logiciel devient une "commodité" comme l'électricité que l'on paye quand on s'en sert. Des offres ont déjà eu un grand succès (salesforce par exemple) et d'autres sont en train d'émerger.
Comme le terminal mobile 3G est connecté en permanence à internet et qu'il dispose d'un débit suffisant pour ouvrir des applications confortablement, on voit rapidement la puissance de la convergence entre ces deux premiers mondes. D'ailleurs Google, comme sans doute Apple, imaginent que l'avenir des "store", ces marchés d'applications pour smartphones, passera par des applications disponibles dans les navigateurs et fournies comme un service.

Communications Unifiées


Ce terme un peu barbare, recouvre les technologies permettant d'unifier nos canaux de communication : le téléphone fixe, le mail, l'instant messaging, le fax, les multiples boîtes mail, le mobile, .... Les grands constructeurs ont tous une offre dans ce domaine qui touche également le grand public avec un service comme Google Voice. Ces offres permettent de n'avoir qu'un seul numéro de téléphone qui, en fonction de règles, se transfère automatiquement sur le fixe, le mobile, le bureau, ... De même, elles intègrent les différentes messageries vocales ou texte et SMS pour ne plus avoir qu'une source de messages à vérifier, .... Tout cela n'est est bien sûr permis par la téléphonie sur IP qui rend possible une intégration riche de l'informatique et de la téléphonie.

Cette technologie de VoIP et de communications unifiées va converger avec la téléphonie mobile en proposant des services mêlant à la fois la téléphonie et l'informatique et cela à partir de façon transparente que vous utilisiez votre PC ou votre mobile.

Ci joint, les différentes pages d'une présentation sur ce sujet: