Le Cloud par Keelan C.

Dans le numéro de Programmez de Novembre 2019, Keelan nous fait partager sa vision du cloud sous forme d’Edito.

« Le Cloud computing a énormément évolué cette dernière décennie et ne se contente plus, bien heureusement, de proposer une simple approche IaaS (Infrastructure as a Service). Les cloud providers ont compris que la valeur ne se situait pas au niveau du device mais au-dessus de ce dernier en  proposant de vrais services à valeur ajoutée. Ces derniers permettent de réduire le TTM (Time To Market) tout en optimisant le coût d’exploitation, pour peu que les architectes en charge des développements respectent les bonnes pratiques et utilisent finement les leviers d’optimisation. C’est la promesse du PaaS (Platform as a Service), du CaaS (Container as a Service) et autre FaaS (Function as a Service).

Qui dit nouvelle plateforme dit nouvelle architecture. Nous avons ainsi vu apparaître les micro-services, architecture permettant de se séparer des applications plus ou moins monolithiques pour offrir à la place un ensemble de petites fonctionnalités (services), indépendantes les unes des autres, interrogeable. Le principe est simple : 1 fonctionnalité = 1 service (d’où le préfixe de micro), la communication se faisant à l’aide d’un contrat d’API.

Dans le monde Microsoft Azure, 4 approches sont disponibles pour mettre en œuvre ces micro-services :

Service Fabric, AKS (Azure Kubernetes), Azure function ou encore la solution d’API management.

Les Azure .Net Rangers vous proposent au travers de ce dossier d’étudier votre première application architecturée autour des micro-services et hébergée dans des containers Docker sur la plateforme Azure de Microsoft, afin de tirer également partie des bénéfices de déploiement, scalabilité et contrôle des coûts apportés par cette solution.»

Welcome Makram J.

Bienvenue à Makram qui est un expert Infra-Cloud.

Makram JENAYAH est un architecte cloud. Il a commencé sa carrière chez une startup avant de rejoindre Hewlett-Packard entreprise en tant que consultant senior cloud et automatisation ou il a travaillé sur des uses cases hybrid cloud et multi-cloud ainsi que l’automatisation des processus IT.
En 2017, il a rejoint Capgemini en tant qu’architecte ou il a implémenté des cloud Management Platform ainsi que des solutions d’automatisation.
Makram a un mastère en systèmes d’information intelligents.
Pendant ses études, il était très actif dans la communauté Microsoft et c’est vu attribué le titre MSP [Microsoft Student Partner] pendant 4 années consécutives.¨
 Il est également blogueur sur les techniques cloud et en particulier Azure.
Vous pouvez le contacter sur Makram (point) jenayah (arobase) mail (point) com ou sur Twitter à l’adresse @makramjenayah.

Comment devenir un expert Microsoft ?

Au travers les échanges que j’ai avec mes étudiants à l’ESGI ou bien sur les forums, la question qui revient souvent c’est “comment on devient un Expert Microsoft ?”. En effet, la stack des produits et technologies est tellement large que on en sait pas ou donner de la tête…

Je vais vous donner mon avis et il n’engage que moi, ni Microsoft ni mon employeur.

Pour commencer il y a des fondamentaux: un expert n’est pas un marabout. Il ne lit pas dans les boules de cristal mais dans les livres. Cela pourrait être la conclusion de cet article… !

Conseil n°1: Lisez, lisez tout, soyez gourmand, soyez vorace. Que vous soyez bachelier, Bac+2,3, en master et même ingénieur. Vous avez de la chance, les ouvrages techniques existent tous au format PDF et sont facilement accessibles en direct (j’ai jamais dit qu’il fallait aller sur allitebooks.com mais l’idée est là) ou sur les torrents… Utilisez le Pattern du “try before buy” : si un book vous plait, vous l’achetez.

Dans le monde Azure, Windows , il existe de nombreux ouvrages gratuits chez Microsoft Press: cf. https://blogs.msdn.microsoft.com/microsoft_press/tag/ebooks/ Regardez par exemple les ouvrages suivants:

Ces ebooks sont gratuits et sont de très bonne qualité !

L’idéal c’est de savoir réaliser une architecture d’application qui ressemble à cela:

Le PDF sur les microservices explique cela. A partir de là, vous êtes au fait des dernières technologies car la solution du sample eShopOnContainers met en oeuvre ASP.NET MVC, Docker, Azure, les back-end, C#, SQL Server, du cache et du NoSQL, etc. Le code source de cette solution est disponible sur Github: https://github.com/dotnet-architecture/eShopOnContainers/

La marche peut toute fois être élevée pour être franchie en une seule fois. Il faut d’abord partir sur de bonnes bases.

Conseil n°2: Lisez le Guide Architecture Windows v2 ; download ici: http://windowscpp.com/Books/AppArchGuideV2.pdf . Ce guide va vous expliquez les principes d’architecture pour réaliser une bonne solution et un bon design d’application. Voici le schéma classique d’une application découpée en couches:

Le langage C# fait partie des fondamentaux. C’est la base du développement. Il existe de nombreux ouvrages spécialisés comme:

Conseil n°3: Si vous voulez être un vrai Pro du développement .NET, il y a un ouvrage de référence chez Microsoft Press: CLR by C#. C’est la bible. Achetez-le. Il explique tout sur .NET: la BCL, le JIT, le garbage collector, les CLR, etc.

Conseil n°4: Passez des certifications. Commencez par quelque chose de simple: 70-483 Programming C#. Puis choisissez votre cursus. Web, Mobile, Azure. Au choix. Attention le passage de certifications ne doit pas ce faire sous forme de bachotage avec des examens blancs… sinon cela ne valide en rien une expérience. Il faut maîtriser les sujets, les pratiquer et avoir le socle de compétences.

Ensuite, il n’y a pas de secrets : il faut pratiquer. Microsoft met à disposition les éditions gratuites de Visual Studio 2019 livrées avec un SDK Windows, SQL Server est aussi disponible en téléchargement ou en image Docker, et Windows 10 fournit IIS. Bref, vous avez tout pour devenir un pro du développement Microsoft.

Serez-vous un Expert ? Je ne sais pas mais en tout cas, je vous donne toutes les informations pour y parvenir. Pour être un expert il faut entre 5 et 10 ans d’expérience et de pratique au quotidien ; pas avant.

Conseil n°5: Il n’y a pas de honte à savoir dire : je ne sais pas. Ne vous improvisez pas. Vous n’êtes pas un commercial ! Soyez humble. Soyez crédible. Ne jouez pas des claquettes !

Conseil de MVP: Lisez Windows Internals. N’oubliez pas que le joyau, c’est Windows…

Et Windows est fait en C/C++ donc lisez aussi:

Microsoft fait tous ces produits en C/C++ à 95% donc si vous être curieux (les vrais experts le sont), renseignez vous sur le SDK Windows et le développement C/C++ en Win32. Windows, Office, SQL Server, Windows Server, Chrome, VLC : tout ce que vous avez sur votre PC est fait en C/C++ ; ne l’oubliez pas !

Disclaimer: Les liens donnés pour le téléchargement ici sont donnés à titre indicatif et n’engage pas au piratage mais au “try before buy”. Si un livre vous plait, achetez-le !

.NET Core 3.0 est sorti

Pour les downloads : https://dotnet.microsoft.com/download

v3.0.0

Current 

Released 2019-09-23

Release notes

Supports C# 8.0

Supports F# 4.7

Supports Visual Studio 2019 (v16.3)

Included in Visual Studio 16.3

ASP.NET Core IIS Module 13.0.19258.0

SDK 3.0.100

Windows

macOS

  • .NET Core Installer: x64
  • .NET Core Binaries: x64

Linux

Other

Runtime 3.0.0

Windows

macOS

  • ASP.NET Core Binaries: x64
  • .NET Core Installer: x64
  • .NET Core Binaries: x64

Linux

Other

Questions Techniques – le vrai monde

Voici le genre de choses que j’aborde avec un client pour gagner sa confiance et lui montrer que je pourrais lui être utile…

Comment migrer une application legacy procédurale en OOP (Object Oriented Programming / Programmation Orientée Objet) ? Les techniques, les choix…

Comment migrer une application legacy client-serveur en .NET à base de Web-services REST ou de micro-services ?

Vous disposez d’une énorme solution IT avec des technologies plurielles de la stack Microsoft (le temps fait sa loi). Il faut tout remettre à jour. Vous n’avez pas le droit ni le temps ni le budget de tout réécrire. Comment faite vous ?

J’ai une solution IT de 4.000.000 de lignes de code. Vous devez auditer la solution et me donner un axe. On garde, on jette, on factorise, on réoriente, on fait quoi ??? Comment faite vous : donnez moi des pistes ?

Je possède de l’ASP.NET Forms, de l’ASP.NET MVC (plusieurs versions), du VB.NET, du WinForms, du WPF, y en a partout, que dois je garder ? Comment m’en sortir avec les technologies Microsoft ?

Je veux passer de Oracle à SQL Server pour des raisons de coût. . Comment faire ? Best practices ?

Je veux migrer un ensemble d’applications sur Azure, comment faire ? Par ou commencer ?

Je veux mettre du Docker dans mon infrastructure legacy pour la conserver un peu plus longtemps. Comment faire ? Est-ce une bonne idée ? Dois-je tout migrer en l’état dans Docker ou dois-je moderniser les dernières évolutions ?

Docker ou Kubernetes ?

Je peux faire un audit de votre SI en juste regardant votre code en 1h30 ? Cela vous tente ? Ok on y va…

Ce sont de vrais questions complexes dont vous ne trouverez pas la réponse sur StackOverflow. C’est autrement plus sérieux que coding games et ses test bidons dont la solution est sur n’importe quel moteur de recherche…

Dossier Azure eShopOnContainers 2019 pour Programmez

En partenariat avec Programmez, il est prévu de faire un dossier sur la sample officiel Microsoft eShopOnContainers disponible sur https://github.com/dotnet-architecture/eShopOnContainers :

Sample eShopOnContainers de Microsoft

Il est décidé de faire une introduction à Docker (Septembre 2019) puis de faire des dossiers sur les architectures Micro-services, les APIs management, le code, le code, le code !

Stay tuned.