Le Cloud Azure: la meilleure occasion de s'y lancer

Pour tous ceux qui ont gagné l'envie de se familiariser avec les concepts du "cloud computing" en général et de Microsoft Azure en spécial, aujourd'hui c'est le bon jour: une série de sessions couvrant une large palette des features d'Azure a été organisée aujourd'hui à Redmond, à partir de 18h (heure de France).
L'évènement est disponible sur internet en live streaming, à cette adresse:  Learn Windows Azure.

Rappel - l'evenement est diffusé en anglais dans son intégralité.

Important Changes in Windows Azure SDK Distribution

With November 2011's distribution, Microsoft smoothly introduced some important changes in Windows Azure SDK 1.6:
  • Windows Azure SDK adds a particule to its name: Windows Azure SDK for .NET
    • suddenly a question appears: is this a retreat from the interoperability field (regarding PHP & Java dev/deployment on Windows Azure roles), or they simply wanted to add an emphasis of the relationship with the underlying Framework

  • Windows Azure AppFabric is now Windows Azure .NET Libraries
    • This will deeply busculate all search engine records and web references relative to this. I find this move pretty shocking; when first, it changed from .NET Services to Azure AppFabric, it took some time for us to find the way the new references..., now it changed again?... I don't really get it.

  • Windows Azure .NET Libraries (that is, the former Windows Azure AppFabric) will be installed with the Windows Azure SDK (for .NET, I assume... right?)
    • This is rather a good move - as the way is to the unification of different Azure "clubs"; by thus, it will get simpler for the developer (less entry points to the resources)

  • Then, the first enhancements listed under the new Azure SDK nomination are those of AppFabric features:

    • Service bus enhancements:
      • Support for ports in messaging operations: You can now specify that messaging operations use port 80 or port 443. Set the ConnectivityMode enumeration to Http.
      • Exception contract refinements: Exception messages throughout the service bus managed API set are improved and refined.
      • Relay load balancing: You can now open multiple listeners (up to 25) on the same endpoint. When the service bus receives a request for your endpoints, the system load balances which of the connected listeners receives the request or connection/session.

      Caching enhancements:
      • Client side connection pooling: Connection pooling now enables all DataCacheFactory instances to share the same pool of connections. This makes it easier to manage your connections within each role instance.
      • Performance improvement for cache access times: The client-side caching binaries have been optimized to improve access times of cached objects.
      • Custom serialization: You now have the option of implementing a custom serializer for caching, in order to optimize the serialized form of your objects in the cache.

  • Other interesting aspect is related to Windows Azure HPC (High Performance Computing) and it comes not from the "what's new" content itself, but from a side note:

LINQ to HPC is in Community Technology Preview (CTP). This feature will not offer release-level support."

    • This is in phase with Microsoft's recent announces regarding the Hadoop platform adoption - so we may assume the Windows Azure HPC feature will be either shut down, or radically transformed.
There are many, many, many other things added/enhanced in 1.6 SDK. I will get back later on the rest of them.

Master Data Services (by Packt Publishing): Why Writing About This Book

I read recently a technical book – “Microsoft SQL Server 2008 R2 Master Data Services” (edited by Packt Publishing).

For those not familiar with the Microsoft’s homonymous product: Master Data Services – briefly named MDS from now – is the first step of Microsoft in the world of master data management. Coming from the earlier Stratature’s acquisition, the product is the first generation of a new BI-related family formed around SQL Server 2008 R2 and which tends to add more value at the business level, together with other coming concepts in SQL Server Denali, like data quality services, “powerpoint” for data, and others.
Now, as for the book’s name, I have to say that having several books named around the product’s name may become confusing and hard identifiable – so I may have chosen something a bit different; but let it be so, now.
Having a pretty good knowledge of the product, I was curious how this book addressed a pretty narrow area – a niche one, I may say – knowing that it is difficult to choose the level you target in that case (expert - specialized/very small audience versus accessible-larger audience/boring/no added value). So first of all, it was pretty obvious that a decent database developer/specialist could easily start up on the knowledge of: master data management concepts; MDS overview; MDS installation and configuration; creating and using models etc.

The tone “smoothly” changes when coming close to more specific concepts: version management, importing data and the staging process. I remarked that, for the ease of understanding, most of the tasks were explained from the eyes of a database guy – that is, what kind of DB operations are hidden behind the actions applied via the product’s web UI (because, right, almost all engine and features are database-based, if I can say so).
Where the things became really interesting was on the integration side. And I can tell you there is the one of the main tricks. Here’s why: because in fact – even at this early stage of development – Master Data Services, while not exposing all the needed data integration features in an advanced mode, it still hides inside what Microsoft have done everywhere: integrating its various servers and technologies together and taking benefit from the dialog of all these structures. But – very few examples were available at that time – even I struggled a while and investigated a lot around the integration solutions we may have. And here is the surprise – from the book:
  • Input integration to the staging tables via SSIS (SQL Server Integration Services)
  • A large sub-chapter dedicated to the business rules workflow extension via SharePoint (a full project solution example)
  • Extracting data from MDS via subscription views and delivering master data via BizTalk Server (again, with sample databases, project/solution, schemas, map, ports etc.)
  • MDS Web Service API, data integration with SharePoint Web Parts, and, again, with SharePoint Workflow, this time on the way back to MDS for updating master data. I can tell you it is the only example I found until now of a full roundtrip between MDS and SharePoint workflow.

What I found it’s missing/could be better:
  • Some words about the deployment of a solution for Master data Services
  • A more detailed view on MDS security (the permissions propagation and deployment can be very tricky)

With this, I found overall that it was a good occasion for me to start a series of technical book reviews – start with a good one :).

Time of... globalisation

With this first occasion of writing in English, I will mention my intention of enlarging the audience, by addressing English and French speaking people with my articles.
For ease of use, the articles will be tagged correspondly.

I wish you enjoy your reading!

Une mention que je voudrais faire : dans l'intention d'etendre l'audience de ce blog, il contiendra dans l'avenir des articles en anglais et français.
Pour la facilité, les articles auront des libellés English / Français correspondantes qui permettront le filtrage.

Je vous souhaite bonne lecture !

Passons à d'autres fruits

C'est vrai - le sujet des mises à jour Windows Phone 7 a été très fâcheux pour beaucoup de monde. Peut-être que nous avons eu tous trop d'attente d'un système qui vient à peine à se naître et qui a fait pas mal de buzz autour de lui.

De ma part, je clos le sujet - avec le nouveau mot d'ordre : MANGO !

Parce que l'attente a été récompensée: la nouvelle version de Windows Phone 7 est vraiment impressionnante - on n’a pas moins de 500 nouveautés annoncées - et les gens n'arrivent pas à les compter (le dernier comptage arrive jusqu'à 97 actuellement).

Mais ce n'est pas uniquement le nombre de nouveautés qui impressionne, ou les dernières facilités des devices concernés (processeurs double cœur, graphique 32bits, 25fps dans des tests HTML5, gyroscope/boussole, caméras très performantes, caméra frontale possiblement etc.). Puisqu'on sait, c'est une course sans fin ça.

Je trouve beaucoup plus intéressants les évolutions sur l'ergonomie et facilité d'usage de l'OS lui-même:

- énormément d'intégration transverse et accès contextuel partout (Facebook, Twitter, Live Messenger, SkyDrive etc. présents dans tous les hubs concernés - messaging, photos, people, documents, musique, groups etc.)

- des features uniques - comme de la recherche visionnaire dans tous les modes: texte, images, dessin, vidéo, audio/musique, ou la recherche contextuelle géographique

- des optimisations d'ergonomie - des boîtes email unifiées et configurables, suivi de fils de discussion, clavier encore optimisé etc.

- des performances encore optimisées (même si mon WP7 avec NoDo bouge vraiment bien) et du vrai multitasking

- aspect/animation vivantes et uniques - avec les Tiles donnant du feedback très varié de la part du système ou des applications, ou bien un avatar qui casse l'écran de votre mobile :) 

Un dernier mot sur les API - les développeurs sont vraiment gâtés ! On a accès maintenant à presque tout ce qu'on pouvait rêver de la part du matériel, ou bien du réseau et – plus loin – du cloud Azure. Et tout ça d'une manière très simple et productive.

Bon succès à tous ! A vos applis !

Ça suffit / I had enough

J'ai hésité longtemps de rajouter encore de critiques - déjà nombreuses - sur comment l'histoire Windows Phone 7 avance. Mais il y a une chose qui a fait remplir le verre.

J'ai couramment une (seule) appli WP7 - elle s'appelle "Aux DRAPEAUX !" ("About FLAGS!" en anglais). Une petite appli/jeu trivia assez marrante sur le thème des drapeaux. Edition internationale en anglais et français.
Au début, je l'ai lancé en promo gratuite. Vraiment bon succès, avec 1500 téléchargements dans quelques jours et un classement parmi les premières 4 applis de sa catégorie. Ensuite - sur l'intention de rentabiliser mon travail - je passe en mode payant - 0,99 EUR (mode trial activé).
Et là - catastrophe. Du coup, je passe à 4-5 téléchargements par jour (trial) et un total de... 29 paiements. Et ça reste comme ça, sans grande espérance. (Pour les amateurs - ne rêvez pas: vous n'allez jamais vous enrichir comme ça.) Mais... enfin.

Par ailleurs, actuellement le paiement par le compte WP7 est hyper complique et plutôt facilité aux développeurs US (je n’entre pas en détail, c'est trop "administratif"). L'idée c'est que, même si je voulais récupérer l'"argent" (dans l'hypothèse que ça dépassait 200$), il me serait impossible en ce moment.

Ensuite, je me suis dit: et si je passais en mode gratuit/publicité ? Au moins, plus de monde sera heureuse.

Alors je me suis tourné vers le kit Microsoft Advertising SDK. Surprise: c'est réservé exclusivement aux développeurs US ! C'est pour nous - les non-US - une concurrence totalement ne-loyale : une appli similaire peut être proposée avec de la pub et moins cher par quelqu'un d'US. Dans la documentation de  Microsoft il est écrit que la pub hors US arrivera "début 2011". Le début de l'année est passé (comme pour le fameux update copy/paste) sans aucune nouvelle de la part de MS.

Finalement, j'ai cherché une solution alternative. j'ai trouvé - dans la forme d'un contrôle AdMob pour WP7 = Moads (http://moads.codeplex.com/ - merci). J'ai bien réussi à implémenter la pub dans mon appli et - très surprenant - elle est passée de l'examen d'admission Microsoft. Alors, très heureux, je me prépare de changer la configuration de mon application pour la passer en mode gratuit.

Et là - le choc. Sur la forme d'un message d'erreur: "You cannot change a paid application to free.". Tous mes efforts sont en vain. Microsoft ne me laisse pas changer le mode de paiement de mon appli.

Note: j'ai fait il y a 4 ans la décision de travailler exclusivement dans les technologies Microsoft - et je ne regrette une seule seconde ça. Je trouve qu'aujourd'hui l'environnement de développement Microsoft est le meilleur du monde - loin plus innovant et plus dynamique que Java. Aussi, il y a des énormes avancées sur les produits serveurs et MS gagne en permanence des part de marché. Quant à Windows Phone 7, c'est une vision très innovante et d'avenir.
Mais - il est sûr qu'il y a un sérieux problème à Redmond - aux niveaux Marketing et Communication, au moins. J'ai l'impression que les décisions sont prises contre les grands alliés de Microsoft - les développeurs de son propre camp.  Et ça c'est extrêmement grave. Puisque, si Microsoft se sépare de ses développeurs - ce n'est pas bien  ni pour leur avenir, ni pour celui de Microsoft.