Chaque projet commence par l’étape d’initialisation. Lorsque votre projet est composé de plusieurs sous-projets, il est tentant de créer un dépôt Git par sous-projet. Dans Node.js, un sous-projet se traduit par un package. Cependant, gérer trop de dépôts étroitement liés est déroutant et prend du temps.
Organiser vos projets dans un seul dépôt Git et utiliser un outil comme Lerna pour faciliter leur gestion pour leur gestion en vaut la peine. Cette architecture s’appelle un monorepo. Elle simplifie le versionnement et la publication de vos projets ainsi que leur manipulation et leur développement.
Chez Adaltas, nous développons et maintenons plusieurs monorepos depuis quelques années. Cet article est le premier d’une série de cinq dans laquelle nous partageons nos meilleures pratiques. Il couvre l’initialisation d’un projet à l’aide de Yarn et Lerna. Il fut publié à l’origine par Adaltas et fut rédigé par David Worms. …
Every project journey begins with the step of initialization. When your overall project is composed of multiple projects, it is tempting to create one Git repository per project. In Node.js, a project translates to a package. However, managing too many closely related repositories is confusing and time-consuming.
Placing multiple projects inside a single Git repository and using a tool like Lerna to facilitate their management worth the effort. This architecture is called a monorepo. It simplifies the versioning and publishing of the components as well as their manipulation and development.
At Adaltas, we have been developing and maintaining several monorepos for a couple of years. This article is the first one from a serie of five in which we share our best practices. It covers the project initialization using Yarn and Lerna. It was originally published by Adaltas and was written by David Worms. …
The Hadoop ecosystem gave birth to many popular projects including HBase, Spark and Hive. While technologies like Kubernetes and S3 compatible object storages are growing in popularity, HDFS and YARN hold their place for on-premise and large use cases. Interested in compiling your personal Hadoop-based distribution from source yourself? This article comes with all the peculiarities of the build process and will teach you how do it.
Following our previous articles Installing Hadoop from source and Rebuilding HDP Hive, this article enriches the series and looks into the process of building multiple open source Big Data projects while managing the dependencies they have with one another. The goal is to create a “mini” Big Data distribution around Hadoop-based components by building the projects from source and making the builds dependent on one another. …
L’écosystème Hadoop a donné naissance à de nombreux projets populaires tels que HBase, Spark et Hive. Bien que des technologies plus récentes commme Kubernetes et les stockages objets compatibles S3 gagnent en popularité, HDFS et YARN restent très présents pour les use cases à forte volumétrie et sur les architectures on-premises. Vous souhaitez compiler vous-même votre distribution basée sur Hadoop à partir des sources ? Cet article est conçu pour vous montrer comment faire et détaillera toutes les spécificités du processus de build.
Pour faire suite à nos articles Installation d’Hadoop depuis le code source and Reconstruction de Hive dans HDP, cet article approfondi le sujet en examinant le procédé pour compiler plusieurs projets open source Big Data tout en gérant les dépendances qu’ils ont entre eux. L’objectif étant de créer une “mini” distribution Big Data composés d’outils qui fonctionnent autour d’Hadoop en compilant les projets à partir de leurs sources tout en s’assurant qu’ils dépendent les uns des autres. …
En utilisant OAuth2 et OpenID Connect, il est important de comprendre comment se déroule le flux d’autorisation, qui appelle l’Authorization Server et comment stocker les tokens. De plus, les microservices et les applications clientes, telles que les applications mobiles et et SPA (Single Page Application), soulèvent la question de quels Flows (ou séquence) s’appliquent aux architectures OAuth2 modernes.
La partie 1, OAuth2 et OpenID Connect, une introduction douce et fonctionnelle se concentre sur l’intégration de votre première application avec un serveur OpenID Connect (Dex) et à la compréhension de l’Authorization Code Flow (pour flux d’autorisation par code) avec un server OAuth externe. …
Using OAuth2 and OpenID Connect, it is important to understand how the authorization flow is taking place, who shall call the Authorization Server, how to store the tokens. Moreover, microservices and client applications, such as mobile and SPA (single page application) applications, raise a few questions as to which flow applies to modern OAuth2 architectures.
Part 1, OAuth2 and OpenID Connect, a gentle and working introduction focuses on integrating your first application with an OpenID Connect server (Dex) and experienced the Authorization Code Flow with an external provider. …
La compréhension d’OAuth2, d’OpenID et d’OpenID Connect (OIDC), comment ils sont liés, comment les communications sont établies, comment s’architecture votre application et que faire des différents types de token (access, id et refresh), est déroutante.
Il fut un temps où la sécurisation de votre application n’était pas si compliquée à effectuer. Les utilisateurs remplissait un formulaire de connexion demandant leur nom d’utilisateur et leur mot de passe. Le serveur validait ces informations d’identification en les comparant avec celles stockées, principalement dans une base de données SQL ou un répertoire LDAP/AD. …
Understanding OAuth2, OpenID and OpenID Connect (OIDC), how they relate, how the communications are established, and how to architecture your application with the given access, refresh and id tokens is confusing.
There was a time when securing your application was not so complicated to implement. Users were presented with a login form asking for their usernames and passwords. The server validated those credentials against the storage, mostly a SQL database or a LDAP/Ad directory. Once authenticated, a session was maintained with a cookie storing the ID used to track and load the user information.
Using OAuth2 and OpenID Connect can be quite simple with traditional applications. There exist multiple libraries and frameworks hiding the different steps involved. To the end-users, we are all used to being redirected into an external provider, being GitHub, Google, Facebook, and the likes. The process is familiar and well accepted. However, it starts to be more complicated when you want to replicate the steps involved or when you wish to build alternative architecture including mobile applications, microservices architectures, single-page applications, and static front-ends such as with the JAMstack paradigm. Public applications (SPA) share the particularity to be unsecured by nature and to speak with multiple API servers. …
As data projects built in the Cloud are becoming more and more frequent, a common use case is to interact with Cloud storage from an existing on premise Big Data platform. Microsoft Azure recently introduced Data Lake Storage Gen2, that is built on top of Azure Blob and offers HDFS-like management of data on Azure. Because it is a quite a new product (GA on Feb. 2019), connecting to ADLS Gen2 from HDP and HDF is not yet supported in public releases.
This article was originally published by Adaltas and was written by Gauthier Leonard. …
Alors que les projets Data construits sur le cloud deviennent de plus en plus répandus, un cas d’utilisation courant consiste à interagir avec le stockage cloud à partir d’une plate-forme Big Data on-premise déjà existante. Microsoft Azure a récemment introduit Data Lake Storage Gen2, qui repose sur Azure Blob et offre une gestion des données sur Azure qui se rapproche fortement de celle de HDFS. Ce produit étant assez récent (GA en Feb. 2019), la connexion à ADLS Gen2 à partir de HDP et HDF n’est pas encore prise en charge dans les versions publiques.
Cet article fut publié à l’origine par Adaltas et fut rédigé par Gauthier Leonard. Nous allons voir de quelle manière écrire des données dans ADLS Gen2 en utilisant…
About