DNG Consulting, retour à l'accueil

Développement Backend

Le backend d'une application est la partie la plus sensible d'une architecture : celle qui fournit les services, l'infrastructure transactionnelle et les données.

Dans ce domaine, les briques logicielles n'ont cessé d'évoluer ces dernières années avec une orientation vers le design d'API. On ne construit plus un backend pour un périphérique donné, mais une infrastructure de services ou de microservices exposant une API sur laquelle viendront se greffer de nombreux clients (mobiles, desktop, server-to-server…). Cette infrastructure est hébergée en local ou dans le cloud.

Design d'API et microservices

Concevoir une API est un métier en soi. Quelle granularité adopter ? Comment exposer un service REST sans connaître précisément le besoin front-end ? Comment gérer l'authentification, la montée en charge, la communication inter-composants ? À l'heure des microservices, il est indispensable de bien maîtriser les notions de conteneurs, circuit breakers, résilience, auto-scaling, monitoring et traçabilité distribuée. Concevoir une API sous la forme de microservices peut se faire avec des solutions « clés en main » ou de manière spécifique : tout dépend des exigences et de la complexité fonctionnelle. Nous maîtrisons des outils et frameworks tels que Swagger ou GraphQL, mais également les problématiques liées à REST.

Java et Spring Boot

Logo Spring Boot

Dans le monde Java, il existe plusieurs frameworks permettant de fournir des services techniques aux microservices. Nous privilégions Spring Boot pour sa maturité, sa robustesse et sa richesse fonctionnelle. Que ce soit Spring Framework, Spring Data, Spring Cloud ou Spring Security, nous choisirons avec vous les briques les plus pertinentes. Il existe également des générateurs de briques applicatives tels que JHipster ou Yeoman. Nous saurons tirer parti de leurs avantages pour accélérer le processus de développement.

NodeJS

Logo Node.js

Dans le monde JavaScript, l'alternative la plus populaire reste NodeJS. Construire un backend avec NodeJS relève d'une grande complexité tant l'offre est pléthorique. NodeJS en soi n'est qu'un environnement d'exécution, dans un marché fragmenté par les innombrables projets ou frameworks hébergés sur GitHub. Quid de l'accès aux données ? De la sécurité ? Du typage ? De l'exposition et de la création de services REST transactionnels ? Faut-il utiliser NestJS ou avoir une approche plus bas niveau avec Express.js, Hapi.js ou Meteor ? Faut-il proposer un middleware d'authentification tel que PassportJS utilisant les protocoles JWT, OAuth ou un SSO spécifique ? Nous vous apportons notre expertise dans ce domaine avec le souci constant de répondre au besoin fonctionnel.

Bases SQL et NoSQL

Logo MongoDB

L'accès aux données et la structure de stockage des données d'une entreprise peuvent prendre plusieurs formes selon les besoins. Les entreprises disposant d'architectures Big Data traitant des volumes importants de données ne pourront se satisfaire de bases SQL relationnelles classiques. D'autres, aux besoins moins importants, pourront s'accommoder de bases traditionnelles. L'indexation et la recherche de données devront s'opérer via des outils adaptés aux structures de stockage. Nous maîtrisons les bases SQL open source classiques telles que MySQL, PostgreSQL ou MariaDB, mais également les bases commerciales telles que SQL Server ou Oracle. Dans le monde NoSQL, nous utilisons régulièrement MongoDB, Cassandra ou Redis. L'accès à ces bases via les drivers ou les outils de mapping objet/relationnel fait également partie de notre expertise, sans compter la recherche et la visualisation avec Elasticsearch.

DevOps, cloud et usine logicielle

Une fois l'application réalisée, les tests et le déploiement entrent en jeu. Dans ce domaine, le cloud et la philosophie DevOps ont révolutionné les habitudes avec la conteneurisation. Là encore, les exigences fonctionnelles et techniques dicteront les outils. Que ce soit avec Docker en mode Swarm/Compose ou avec un orchestrateur plus complexe tel que Kubernetes, nous saurons vous guider. Les mêmes principes dicteront le déploiement en local ou sur Amazon AWS, Microsoft Azure et Google Cloud Platform.

Enfin, nous mettons en place toute l'infrastructure permettant de déployer une usine logicielle basée sur Git et Jenkins, associés aux outils Atlassian (Bitbucket, Jira et Confluence) ou à GitLab.

Sécurité applicative

DNG a mis la sécurité applicative au cœur de son offre. Nous sensibilisons les équipes de développement aux vulnérabilités listées dans le Top 10 de l'OWASP, comme l'injection ou le XSS. Dans nos audits, nous utilisons des outils open source tels que ZAP, Burp ou SQLMap.

Un projet, une question technique ?

Décrivez-nous votre besoin en quelques lignes, nous revenons vers vous.

conseil@dng-consulting.com