Archives de
Étiquette : Conseils

Amazon Athena ou comment analyser facilement ses données

Amazon Athena ou comment analyser facilement ses données

De nos jours, il est courant d’avoir un nombre très importants de données issus d’applications et de bases de données comme par exemples des logs ou des statistiques. C’est l’analyse et le traitement de ces données qui permettent d’optimiser et de mieux comprendre les usages et d’enrichir en fonctionnalités les produits. AWS propose un large éventail de services concernant les datalakes et les solutions d’analyse de données. Dans cet article, nous allons nous pencher un peu plus sur Amazon Athena, un service managé permettant de facilement analyser des données sur Amazon S3.

En quoi consiste Amazon Athena ?

Amazon Athena est un service permettant d’interroger rapidement des données stockées dans Amazon S3 (d’autres sources seront sans doute supportées plus tard) en utilisant le langage SQL. Le service supporte de nombreux formats de fichier : CSV, JSON, ORC, Apache Parquet et Avro.
Athena est basé sur le moteur Presto 0.172 mais n’en supporte pas toutes les fonctionnalités.

Un des avantages d’Athena est de fonctionner entièrement en serverless : aucun coût d’infrastructure et pas de maintenance à gérer soi-même.
Le service est facturé en fonction du volume de données parcouru par requêtes et plusieurs méthodes existe pour optimiser le coût d’utilisation des services :
Compresser les données ayant vocation à être analysé par Athena.
Partitionner les données horizontalement en utilisant des préfixes dans S3.
Pour des données classées par date, nous pouvons utiliser le préfixe suivant : s3://nom-du-bucket/année/mois/jour/heure/nom-des-fichiers.csv.gzip. Cela permet à Athena de ne pas parcourir tous les fichiers à chaque requête.
• Utiliser des formats de fichier en colonne comme Parquet. De cette manière quand une requête ne porte que sur certaines colonnes, seul le volume de données de ces colonnes est facturé..

Athena n’est pas recommandé pour être un entrepôt de données (data warehouse). Pour ce besoin, il vaut mieux se tourner vers Amazon Redshift pour obtenir des performances et un résultat plus intéressant.
En continuant les comparaisons avec les services Data de AWS, Athena est limité à des requêtes SQL uniquement à la différence de Amazon EMR qui propose d’autres frameworks.

Création d’une table sur Athena

Pour pouvoir requêter des données avec Athena, il faut au préalable créer des tables avec un DDL (Data Definition Langage). Suivant la complexité de la structure de nos champs et le nombre de sources de données, les DDL peuvent vite devenir complexe à rédiger.
Voici un DDL servant à la création d’une simple Table dans Athena :

Utilisation combinée avec AWS Glue

AWS Glue est un service d’ETL (Extract-Transform-Load) mis à disposition par AWS et reposant sur des indexeurs (crawlers).
Le crawler Glue est capable de parcourir et d’analyser automatiquement des sources de données afin d’en déterminer la structure et par la suite de créer des tables dans un catalogue appelé « Glue Data Catalog ». C’est ces catalogues qui sont ensuites accessibles depuis Athena.
En combinant l’utilisation du crawler Glue avec Athena, il est possible d’accéder de manière très rapide à des données déja triées.
Il est possible de planifier de manière périodique l’exécution du crawler Glue afin de réduire les interventions humaines et de faciliter l’accès aux données par le business.

Cas d’usage

Présenté lors de la RE:Invent 2017, ce cas d’usage repose sur S3, Lambda, Glue et bien sûr Athena. L’objectif est d’utiliser Athena afin de faciliter la consultation de backup de base de données.

Use Case Athena.Une base de données est copiée depuis un SGBDR via AWS DMS vers S3. Les fichiers sont sauvegardés au format parquet.
Le dépôt des fichiers dans S3 déclenche l’exécution d’une fonction Lambda qui va lancer le crawler Glue.
Le crawler va parcourir les données afin de mettre à jour le Data Catalog Glue.
Grâce aux catalogues, la base de données et les tables associées à celle-ci sont accessibles directement depuis Athena.

De cette manière, nous avons à disposition un backup accessible sans coût d’infrastructure associé. Seul le volume de données dans S3 et les données parcourues par Athena sont facturés.

Des outils de visualisation tels que Tableau ou Amazon Quicksight peuvent éventuellement être utilisés afin de mettre en places des dashboards.

Vous avez un projet d’entrepots de données ? Des conseils pour optimiser votre architecture existante ? N’hésitez pas à faire appel à nos experts pour vos projets !

Corexpert, way to performance !

Corexpert, way to performance !

Le chef de projet est la personne dans l’entreprise organisant et assurant le bon développement de projet jusqu’à sa réalisation. Son objectif est de superviser les différentes tâches telles que le respect des deadlines, la maîtrise des coûts ou la répartition du travail au sein d’une équipe…

Chez Corexpert, deux chefs de projets pilotent notre équipe de développeurs et d’architectes : Robin présent dans l’entreprise depuis 5 ans et Gaël arrivé dernièrement. Pour nos deux experts, le métier de chef de projet a été un développement professionnel qui s’est greffé à leur ancien poste de développeur.

Gaël a débuté en tant que développeur au sein d’une grande entreprise de construction puis est devenu responsable suivi de production. Aujourd’hui chargé du suivi de l’infrastructure, sa précédente expérience lui a permis d’avoir une vision générale sur le sujet : grâce à son savoir technique, Gaël a rapidement pris ses marques au sein de Corexpert et il supervise de nombreux projets de l’avant-vente à la mise en production.

Avant de devenir chef de projet, Robin a effectué ses 8 premiers mois chez Corexpert, en tant que développeur mobile IOS. Au fur et à mesure, Robin a aménagé son temps entre développement et gestion de projet afin de répondre au mieux aux problématiques clients. Cela fait maintenant trois ans qu’il est chef de projet à plein temps orienté développeur.

Même si Robin et Gaël ont la charge d’équipes à la fois distinctes et complémentaires, rien ne les empêche d’avoir une perspective globale sur l’ensemble des projets en cours qu’ils soient développeurs ou architectes. Les deux pôles sont complémentaires et ceux malgré le fait que les projets ne mobilisent pas les mêmes compétences. Le cœur de la gestion d’un projet reste identique, le but étant de mener à bien le projet et ce dans les temps et avec le budget alloué.

Pour Robin, il est primordial d’avoir des connaissances dans les deux pôles « on a besoin d’avoir des connaissances dans les deux domaines que ce soit de l’infrastructure ou du code. De mettre en commun nos compétences pour arriver à un projet solide et fiable, capable de satisfaire les besoins de nos clients ». Gaël, rejoint l’idée de Robin en ajoutant le fait que le fait de posséder un savoir large permet de se partager plus efficacement les projets afin d’être plus disponible pour le client.

Fonction Chef de Projet

La plateforme leader du cloud, AWS, dispose de nombreux services : le choix du service à mettre en place pour accomplir le projet est souvent matière à réflexion. Pour Robin, la gestion de projet repose sur la complémentarité d’une équipe : « La plateforme AWS dispose d’une multitude de services, l’équipe sait comment les utiliser mais le chef de projet va savoir orienter son équipe sur les meilleurs services en termes de performances et de coûts. » C’est d’autant plus vrai que chaque membre de l’équipe tend à se spécialiser et une bonne organisation des tâches favorise un environnement de travail agréable : le client est assuré d’avoir un expert positionné sur la question et l’expert travaille sur un projet qui l’intéresse.

De plus, avoir été « sur le terrain », permet selon Robin et Gaël, de bénéficier d’une connaissance globale d’AWS et de gagner en réactivité : nul besoin de solliciter les équipes pour certaines questions auxquelles le chef de projet peut répondre sereinement. Les besoins des clients sont plus rapidement cernés et l’offre est adaptée à leurs besoins.

Si vous êtes intéressés à travailler avec les équipes de Corexpert, n’hésitez pas à nous contacter ! Nous saurons vous accompagner dans vos projets de machine Learning, Big Data, migration…

 

Nouvelles têtes chez Corexpert !

Nouvelles têtes chez Corexpert !

De quelques employés en 2008 à une trentaine aujourd’hui, Corexpert est réputé pour son expertise et sa connaissance dans l’environnement d’AWS. C’est grâce à une équipe dynamique et qualifiée que nous pouvons conseiller et élaborer des projets d’envergure. En février, Damien et Pablo ont intégré l’équipe en tant que respectivement architecte solution et développeur. Nous avons profité de l’occasion pour leur poser quelques questions sur leur venue à Corexpert.

Tout d’abord, pourquoi avoir choisi Corexpert plutôt qu’une autre entreprise de service du numérique (ESN) ?

Damien : C’est une bonne question ! Corexpert est en concurrence avec d’autres entreprises dans le milieu. C’est en discutant avec mes relations issues de mon expérience (je travaille depuis plus de 20 ans dans l’informatique) que TeamWork et Corexpert ont été particulièrement mentionnées. Je souhaitais me tourner pleinement sur AWS et plus spécifiquement sur la technique, chose qui manquait dans mon précédent emploi.

Pablo : Avant de commencer chez Corexpert, je travaillais déjà dans une grande entreprise d’informatique. J’avais aussi envie de découvrir le cloud de AWS et de travailler grâce à des techniques en constantes innovations et d’avoir de l’autonomie sur un projet. Je souhaitais me sentir en confiance avec l’équipe de travail, qu’il existe un véritable échange et c’est le cas chez Corexpert.

Parmi la diversité d’activités que Corexpert propose, peux-tu nous citer les éléments les plus intéressants à ton sens ?

D : Le plus intéressant chez Corexpert c’est que nous avons une vision globale du projet, c’est-à-dire que nous ne participons pas uniquement à une phase mais à la totalité d’une mission. Avant-vente, conception, tests, mise en production, c’est plutôt stimulant de pouvoir s’investir dans les étapes intermédiaires du projet.

P : Je suis très autonome dans la réflexion de projet : j’adore le fait que je puisse proposer et trouver des solutions par moi-même. L’équipe qui m’entoure est très proche que ce soit lors de mes questions ou en cas de problème. La possibilité de s’autoformer, de participer à des workshops mais aussi de développer son anglais grâce à une intervenante extérieure est un véritable avantage.

Pablo-DamienPablo et Damien ont rejoint Corexpert en février 2019

Comme tu le sais, nous évoluons dans un monde où de nombreuses entreprises se spécialisent dans le cloud avec de nombreuses avancées technologiques telles que le développement de l’IA, que penses-tu de ces avancées ?

D : Ces avancées vont très vite et ce n’est pas sans conséquence. Nous avons à peine le temps de commencer à maîtriser une de ces technologies que nous en voyons une autre apparaître. L’évolution de l’informatique est exponentielle ! Les innovations sont constantes et c’est pourquoi la formation est primordiale. C’est une véritable opportunité qu’offre Corexpert de se former sur le cloud leader du marché.

P : Je suis particulièrement intéressé par l’Intelligence Artificielle et plus spécifiquement sur le Machine Learning. Grâce au Deep Learning, de très nombreuses possibilités nous sont ouvertes ! J’ai commencé à travailler sur un modèle d’interprétation qui concerne les cryptomonnaies et je compte bien développer ce projet avec les connaissances acquises avec Corexpert.

Damien tu viens d’un milieu assez similaire, pourquoi avoir voulu se tourner vers le cloud ?
Le cloud à ses débuts, je n’y croyais pas, je parle de cela il y a quelques années. Petit à petit j’ai vu son essor et l’importance qu’il a pris en si peu de temps. C’est à ce moment que je me suis dit qu’il fallait que je me lance. C’est un bouleversement, une grande étape dans la consommation de l’informatique.

Quant à toi Pablo, tu as choisi de t’orienter sur l’informatique après une première expérience dans l’architecture, pourquoi ce choix ?

Le numérique m’a toujours plu même durant l’architecture, je n’étais jamais loin du système informatique. Je trouve que l’informatique est un moyen de création. Les outils dans l’architecture nécessitent plus d’intermédiaires pour créer un bâtiment; ils sont souvent difficiles à mettre en place et alors qu’en revanche, l’informatique est plutôt un accélérateur dans un projet.

Comme Pablo et Damien que tu sois Ingénieur(e), Technicien(ne), Autodidacte, n’hésite pas à nous contacter, nous sommes toujours à la recherche de nouveaux talents. C’est la richesse des parcours de chacun qui fait notre force.
Nos offres d’emplois sont consultables sur notre site.

ELL’OWEB : découverte des services Amazon & introduction à l’IA

ELL’OWEB : découverte des services Amazon & introduction à l’IA

Corexpert soutient de nombreuses actions sur le territoire Rhône-Alpes et en particulier sur la promotion du numérique pour tous et toutes. Nous pensons que la diversité des profils et des parcours sont des atouts dans notre cœur de métier. Depuis 2018, Corexpert est en lien avec OPE (Objectif pour l’Emploi) et participe aux actions de l’association.

L’association OPE
OPE (Objectif Pour l’Emploi) est une association qui a pour but de favoriser l’égalité des chances en accompagnant les choix d’orientation et l’insertion professionnelle.

En 2018, Corexpert devient partenaire de l’association OPE, en participant à deux programmes :

· ITD (“Ingénieur-e & Technicien-ne de Demain”)
Le manque de figure d’identification pour les jeunes filles est l’une des causes explicatives de la désaffection de ces dernières pour les métiers du numérique. L’objectif est alors de faciliter les processus d’identifications grâce aux témoignages d’ingénieures et de techniciennes dans les établissements scolaires.

· ELL’OWEB
Le programme, lancé en 2017, permet de sensibiliser et d’initier des lycéennes aux métiers du numérique, en participant tous les mercredis à des ateliers gratuits sur diverses thématiques (développement web, sécurité des données…).

ELL’OWEB : La promotion 2018-2019
Cette année, les lycéennes se lancent dans la création d’un t-shirt, en participant à plusieurs ateliers sur la création du site web, du logo…

Corexpert, dont la session se déroulera le 6 mars 2019, leur permettra de découvrir plusieurs services AWS (API Gateway, Lambda, StepFunctions, DynamoDB, S3) et de s’initier à l’Intelligence Artificielle.

Architecture-elloweb.

L’atelier, d’une durée de deux heures, portera sur la création d’un dessin via une IA, qu’elles pourront intégrer, par la suite, à leur site web et/ou leur t-shirt. Les lycéennes coderont les 11 fonctions Amazon Lambda que nous leur avons préparées. A la fin de l’atelier, les lycéennes auront la possibilité de continuer à améliorer leur IA en notant les différentes images depuis leur compte Slack, et pourront choisir de partager leurs plus belles créations sur le compte Twitter de leur promotion.

Au terme de l’atelier, une invitée surprise nous parlera de son parcours exceptionnel, conjuguant études universitaires et sport de haut niveau.

Sortie du livre « Intelligence artificielle pour les développeurs » de notre experte IA

Sortie du livre « Intelligence artificielle pour les développeurs » de notre experte IA

Virginie Mathivet est directrice de la R&D et travaille au sein du laboratoire d’innovation (InTW’IT) de TeamWork en tant que spécialiste Intelligence Artificielle.

Également conférencière et auteure, son dernier livre vient de sortir aux Editions ENI. Nous en avons profité pour lui poser quelques questions.

D’où vient cette idée de livre ?

Dans une « ancienne vie », j’étais professeure d’intelligence artificielle. Souvent mes étudiants me demandaient des livres pour creuser le sujet, mais malheureusement la majorité des livres en français ne contenaient que des formules mathématiques. Et mes étudiants n’aimaient globalement pas les maths… sans compter que les concepts étaient souvent peu clairs, pas assez illustrés, et l’approche un peu trop « rude ».

Bref, j’ai eu envie d’écrire le livre que j’aurai aimé trouver lorsque j’étais étudiante. Le concept a plu et c’est ainsi qu’est né le premier livre de cette série, puis les suivants (NDLR : le livre qui vient de sortir est le 4ème).

Du coup, que retrouve-t’on dedans ?

Chaque chapitre est construit de la même manière : la première partie amène les concepts à comprendre sur une technique d’IA (comme les systèmes multi agents ou les algorithmes génétiques). Ces concepts sont expliqués à travers d’explications imagées, d’exemples ou d’analogies simples à comprendre, sans équations mathématiques complexes (pas de démonstrations non plus). N’importe qui, quel que soit son niveau, peut donc lire cette première partie. Elle se termine toujours par des cas d’usages réels et publics.

La deuxième partie du chapitre concerne plus les développeurs. En effet, chaque technique est codée depuis 0 en Java ou en C# (selon la version du livre), pour expliquer à quoi cela correspond en pratique, et comment créer un système de toute part.
Même si j’utilise principalement le Python en entreprise et que je me base sur des frameworks déjà codés, il est toujours intéressant de comprendre ce qu’il y a derrière. Et l’IA ne se limite pas au Python !

l-intelligence-artificielle-pour-les-developpeurs-concepts-et-implementations-en-c-2e-edition

Et le Deep Learning ?

Un des chapitres est dédié aux réseaux de neurones. Le Deep Learning n’est qu’une de ses branches, et donc on le retrouve en bonne place dans ce chapitre. Cependant, la majorité des concepts s’appliquent à tous les réseaux de neurones, le deep learning n’étant qu’un ensemble d’architectures « profondes » (au sens où on trouve beaucoup de couches de neurones).

Vous pouvez retrouver les livres de Virginie Mathivet directement sur le site de l’éditeur ENI ou sur les sites de vente en ligne.
Virginie Mathivet animera également un webinaire le 1er mars 2019 sur la thématique « Le Deep Learning : concepts et cas d’usage ». Pour vous inscrire c’est ici !

L’audit, cas pratique

L’audit, cas pratique

Une entreprise est souvent amenée à réaliser un audit de maturité sur le cloud d’AWS en amont d’un chantier d’améliorations.

Faire appel à un consultant, expert dans le domaine, apporte un regard extérieur objectif sur les points forts et les points faibles de l’existant. L’audit est un outil important pour analyser si la structure en place respecte au minimum les bonnes pratiques.
L’objectif est de donner une vision globale et d’établir les premières ébauches d’un plan d’actions.

Il existe de nombreuses thématiques à auditer concernant la maturité sur le Cloud. Nous vous partageons ci-dessous les principales.

Sécurité & Gouvernance
L’audit portera sur la segmentation des environnements de travail (production, développement, sandbox…), la politique de chiffrement des données (gestion et rotation des clés en particulier) et la configuration de système d’alertes (avec le service CloudTrail). Un point important à analyser est la gestion des utilisateurs : permissions, droits d’accès et également le processus de validation des tâches mis en place.

Réseau
L’accent portera sur la stratification des couches réseaux : identifier ceux ouverts au monde (@open bar !), lister les subnets privés et les ressources attachées, vérifier les connections VPN et l’utilisation de bastion (point d’accès unique sécurisé). Les mécanismes pour procéder à l’intégration de nouvelles adresses IPs et la stratégie pour sécuriser les points d’entrées (CloudFront ? AWS Shield ? Firewall ?) sont des exemples sur lesquels le consultant se penchera.

Fiabilité & Robustesse
La résilience du système sera étudiée dans cette catégorie avec l’analyse du dispositif de détections de pannes, du plan de reprise d’activités (DRP) et la configuration du scaling en cas de montée / baisse de charge. AWS proposant pour de nombreux services (EC2, VPC, RDS…) l’hébergement sur plusieurs zones de disponibilité, la répartition des ressources sur ces zones sera passée à la loupe afin d’éviter tous risques de perte de données ou d’arrêt de service.

audit-cogs

Organisation des ressources & Documentation
Souvent, parent pauvre du secteur de l’IT, la documentation se doit d’être complète et correctement maintenue (DAT, runbook, périodicité des livrables). La supervision des ressources est aussi une thématique qui sera passée au crible : l’inventaire est-il configuré correctement ? Les conventions de nommages et de tagging sont bien établies et respectés ? Il est important aussi de notifier le degré d’automatisation de process et jusqu’où le DevOps est-il opérationnel.

Pratiques Devops
En lien avec la catégorie précédente, il s’agira d’étudier comment le DevOps est intégré au sein de la structure. Le consultant doit identifier les mécanismes mis en place concernant le gestionnaire de référentiel tel que GitHub ou Bitbucket et quel modèle de branche est privilégié (par exemple Gitflow). Également concerné, la qualité du code (règle de codage de type PSR-2) et le degré de couverture de code sont des éléments auxquels le consultant proposera des ajustements.

Monitoring et Visibilité
L’audit portera ici sur le traitement des événements importants : centralisation des journaux de logs aussi bien pour l’applicatif que pour l’infrastructure, utilisation d’outils de monitoring (établissement de dashboard avec CloudWatch ou services tiers), réactivité du système (temps réel)… La question des cycles de vie concernant les logs est aussi un point abordé dans cette catégorie.

Gestion des données
Le stockage et l’utilisation des données sont des thématiques largement mis en avant du fait de l’actualité. En effet avec la promulgation du Règlement européen de protection des données personnelles (GDPR), les informations sensibles et personnelles doivent être disponibles et sécurisées. Ces contraintes peuvent influer sur la stratégie en place autour des backups, des volumes de stockage et sur le fonctionnement des bases de données. Cette conformité est vérifiée par le consultant.

Optimisation des coûts
Le cloud permet de nombreuses améliorations aussi bien en termes de souplesse au sein de l’infrastructure que de coût mais reste un environnement complexe. De ce fait, il est important de maitriser ces coûts et de vérifier que l’infrastructure est optimisée en ce sens. Des services d’AWS comme Trust advisor ou des outils tiers comme ceux proposés par CloudCheckr permettent des suivis et des alertes concernant la facturation. La configuration de ces outils et l’adoption d’une stratégie concernant les cycles de vies des ressources (lifecycle policy) sont des problématiques abordées lors d’un audit.

audit-cloud

L’audit peut être exhaustif mais également restreint à certaines ressources ou services d’AWS. L’important est que le périmètre d’actions soit bien délimité afin que le commanditaire et le consultant aboutissent ensemble à un compte rendu lisible et des solutions concrètes à mettre en place. L’entreprise est partie prenante d’un audit en fournissant les accès aux ressources et une présentation générale du S.I adhérant aux éléments audités.
Le consultant réalise alors un rapport d’audit et une présentation est effectuée devant le comité de direction.

Corexpert est un Advanced Consulting Partner d’AWS riche de plus de 10 ans d’expérience dans la plateforme AWS. Vous souhaitez bénéficier de nos conseils sur votre implantation dans le cloud d’AWS ? De mener à bien votre projet de migration ?  N’hésitez pas à nous contacter !