Bonnespratiquesde développement d’applications …...avec une offre complète et diversifiée de...

41
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. SUMMIT Bonnes pratiques de développement d’applications modernes sur AWS Rudy Krol Solutions Architect Amazon Web Services MAP205 Bruce Vinchon Cloud Lead Architect Expert Société Générale – Banque de détail France

Transcript of Bonnespratiquesde développement d’applications …...avec une offre complète et diversifiée de...

Page 1: Bonnespratiquesde développement d’applications …...avec une offre complète et diversifiée de produits et de services 8 banques régionales qui développent avec ses clients

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT

Bonnes pratiques de développementd’applications modernes sur AWS

Rudy KrolSolutions ArchitectAmazon Web Services

M A P 2 0 5

Bruce VinchonCloud Lead Architect ExpertSociété Générale – Banque de détail France

Page 2: Bonnespratiquesde développement d’applications …...avec une offre complète et diversifiée de produits et de services 8 banques régionales qui développent avec ses clients

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT

Evaluation et

priorisation,

par application

Choix d’un

chemin de

modernisation

Re-host (lift & shift)

data center → EC2

Re-platform

VMs → conteneurs

Re-factor

monolith → microservices

Re-invent (cloud-native)

flotte de serveurs→ serverless

Les multiples chemins de modernisation des applications

Page 3: Bonnespratiquesde développement d’applications …...avec une offre complète et diversifiée de produits et de services 8 banques régionales qui développent avec ses clients

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT

Bonnes pratiques de développement d’applications modernes

• Permettre l’experimentation en créant une culture de l’ownership

• Découpler les applications via l’implémentation de microservices

• Mettre à jour rapidement les applications et infrastructures en automatisantle pipeline de déploiement

• Modeliser et provisionner les resources d’application par de l’infrastructureas code

• Simplifier la gestion d’infrastructure avec les technologies Serverless

• Améliorer la performance des applications en ameliorant l’observabilité

• Securiser le cycle de vie complet de l’application en automatisant la sécurité

Page 4: Bonnespratiquesde développement d’applications …...avec une offre complète et diversifiée de produits et de services 8 banques régionales qui développent avec ses clients

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT

Bonnes pratiques de développement d’applications modernes

• Securiser le cycle de vie complet de l’application en automatisant la sécurité

• Découpler les applications via l’implémentation de microservices

• Simplifier la gestion d’infrastructure avec les technologies Serverless

Page 5: Bonnespratiquesde développement d’applications …...avec une offre complète et diversifiée de produits et de services 8 banques régionales qui développent avec ses clients

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT

Securité

Page 6: Bonnespratiquesde développement d’applications …...avec une offre complète et diversifiée de produits et de services 8 banques régionales qui développent avec ses clients

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT

Les services d’automatisation de la sécurité sur AWS

IdentitéContrôles de

détectionSécurité de

l’InfrastructureProtection des

donnéesGestion aux

incidents

Page 7: Bonnespratiquesde développement d’applications …...avec une offre complète et diversifiée de produits et de services 8 banques régionales qui développent avec ses clients

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT

Témoignage Société Générale

Bruce VinchonCloud Lead Architect Expert

Société Générale – Banque de détail France

Page 8: Bonnespratiquesde développement d’applications …...avec une offre complète et diversifiée de produits et de services 8 banques régionales qui développent avec ses clients

C0 │ PRÉSENTATION DU GROUPE – FÉVRIER 2019 │ 8

Données financières au 31.12.2017 - Certains chiffres ont été arrondis

* Hors clients des compagnies d’assurance du Groupe ** Arrondi. Effectif fin de période hors personnel intérimaire

L’ESSENTIEL

Société Générale est l’un des tout premiers groupes européens de services financiers.

S’appuyant sur un modèle diversifié et intégré, le Groupe allie solidité financière, dynamique d’innovation et stratégie de croissance durable afin d’être le partenaire de confiance de ses clients, engagé dans les transformations positives du monde.

3 pôles métiers complémentaires :

Banque de détail en France

Banque de détail et Services Financiers Internationaux

Banque de Grande Clientèle et Solutions Investisseurs

31 millions*

de clients particuliers, entreprises et investisseurs institutionnels

+ 147 000**collaborateurs

67 paysà travers le monde

2,8 milliards €de résultat net part du groupe

23,95 milliards €de produit net bancaire

11,5%Ratio Common Equity Tier 1

NOS VALEURS

Esprit d’équipe Innovation Responsabilité Engagement

Page 9: Bonnespratiquesde développement d’applications …...avec une offre complète et diversifiée de produits et de services 8 banques régionales qui développent avec ses clients

C0 │ PRÉSENTATION DU GROUPE – FÉVRIER 2019 │ 9

Données financières au 31.12.2017 - Certains chiffres ont été arrondis

UNE BANQUE DIVERSIFIÉE ET INTÉGRÉE,AVEC 3 PÔLES MÉTIERS COMPLÉMENTAIRES

BANQUE DE DÉTAIL EN FRANCE

3 marques complémentaires à l’avant-garde de la transformation numérique

Société Générale Crédit du Nord Boursorama

Service client reconnu et primé

2e position sur le marché des professionnels en France

Leader de la banque en ligne et mobile en France

38 000collaborateurs

191 Md €d’encours de crédits

8,1 Md €de revenus

73 000collaborateurs

115 Md €d’encours de crédits

8,1 Md €de revenus

Des métiers leaders aux compétences reconnues

Europe de l’ouest : N°1 en Roumanie, N°3 en République tchèque

Russie : N°2 des groupes bancaires à capitaux étrangers

Afrique : parmi les 3 banques internationales les plus présentes

Services financiers : N°1 en Europe et N°2 mondial en gestion de flottes automobiles, N°2 mondial en activités de financement de biens d’équipement

Banque de financement et d’investissement, Global Transaction Banking, Métiers titres, Gestion d’actifs et Banque privée

Activités de Marché : N°1 mondial en produits dérivés

Services aux Investisseurs : N°1 mondial en produits structurés

Gestion d’Actifs : Lyxor N°3 en fonds négocié en bourse en Europe

> 18 000collaborateurs

135 Md €d’encours de crédits

8,9 Md €de revenus

BANQUE DE DÉTAIL ET SERVICES FINANCIERS INTERNATIONAUX

BANQUE DE GRANDE CLIENTÈLEET SOLUTIONS INVESTISSEURS

Page 10: Bonnespratiquesde développement d’applications …...avec une offre complète et diversifiée de produits et de services 8 banques régionales qui développent avec ses clients

C0 │ PRÉSENTATION DU GROUPE – FÉVRIER 2019 │ 10

Données financières au 31.12.2017 - Certains chiffres ont été arrondis

BANQUE DE DÉTAIL EN FRANCE

Trois marques fortes et complémentaires, à l’avant-garde de la transformation digitale

Un dispositif omnicanal avec une offre complète et diversifiée de produits et de services

8 banques régionales qui développent avec ses clients une relation fondée sur la proximité, l’expertise, l’innovation et la satisfaction client

N°1 de la banque en ligne en France

Acteur majeur du courtage en ligne et de l’information financière sur Internet

2 018agences

> 22 700collaborateurs

> 2 millionsde clients en 2020

851agences

> 7 700collaborateurs

Objectif :

Page 11: Bonnespratiquesde développement d’applications …...avec une offre complète et diversifiée de produits et de services 8 banques régionales qui développent avec ses clients

MAP205 - BONNES PRATIQUES DE DÉVELOPPEMENT D’APPLICATIONS MODERNES SUR AWS │C0│ 02.04.2019 │ 11

QUI SUIS-JE ?

BRUCE VINCHON

Expert Leader Cloud Architect

DSI des réseaux de banque de détail en France

Société Générale

https://www.linkedin.com/in/bvi

ACTIVITÉS

Architecture & Sécurité AWS Socle Cloud

Revue Architectures Cloud Interne & Externe

Accompagnement de Projets

Contributions & Evangélisation

EXPERIENCES

Depuis 7 ans chez Société Générale

13 ans d’expérience chez IBM – IT Architect

Page 12: Bonnespratiquesde développement d’applications …...avec une offre complète et diversifiée de produits et de services 8 banques régionales qui développent avec ses clients

MAP205 - BONNES PRATIQUES DE DÉVELOPPEMENT D’APPLICATIONS MODERNES SUR AWS │C0│ 02.04.2019 │ 12

USAGE

Type de projection Peu de lift&shift brut

Re-Architecturing des applications permettant d’utiliser les services managés AWS

Enrichissement des socles techniques (infra) et applicatifs (frameworks)

Evaluationet priorisation,

par application

Choix d’un chemin de

modernisation

Re-host (lift & shift)

data center → EC2

Re-platform

VMs → conteneurs

Re-factor

monolith → microservices

Re-invent (cloud-native)

flotte de serveurs→ serverless

Amazon ECS

Amazon EKS

Kubernetes

Fargatemode for

ECS

Fargatemode for

EKS

Docker sur VM

Type d’hébergement

VM

Large spectre d’hébergement utilisé

Pas de fonctionnels applicatifs en Serverless

Page 13: Bonnespratiquesde développement d’applications …...avec une offre complète et diversifiée de produits et de services 8 banques régionales qui développent avec ses clients

MAP205 - BONNES PRATIQUES DE DÉVELOPPEMENT D’APPLICATIONS MODERNES SUR AWS │C0│ 02.04.2019 │ 13

SÉCURITÉ (1/3) – CONSEILS PRATIQUES

• Organisation des comptes AWS

• Bulle de droits

• Limitations des impacts

• Combiner Agilité et Sécurité avec IAM

• Limites d'autorisations pour des entités IAM (Permission Boundaries)

• Socle technique

• Exposition des interconnexions et des services hébergés onPremise - PrivateLink est votre ami

• Gestion des logs/traces,…

• La Sauvegarde de Schrödinger – AWS Backup

• “L’état de n’importe quelle sauvegarde est inconnu tant qu’une restauration n’est pas tentée”

Page 14: Bonnespratiquesde développement d’applications …...avec une offre complète et diversifiée de produits et de services 8 banques régionales qui développent avec ses clients

MAP205 - BONNES PRATIQUES DE DÉVELOPPEMENT D’APPLICATIONS MODERNES SUR AWS │C0│ 02.04.2019 │ 14

SÉCURITÉ (2/3) – PETIT JEU

Imaginez si…

• On réussit à demander à votre orchestrateur de déployer un package ou une image docker qui n’est pas de votre entreprise

• On vient de trouver une de vos clés de chiffrement sur Internet

• On réussit à extraire toute votre base de données

• On réussit à changer les droits IAM de votre compte AWS

• On réussit à devenir root AWS sur votre compte

• Chiffrement infrastructure (Disques EBS)

• Données illisibles : Vol physiques de disques

• Données lisibles :

• Admin Système / DBA / Utilisateur Application

• Chiffrement Tablespaces RDS

• Données illisibles : Vol physiques de disques / Admin Système

• Données lisibles : DBA / Utilisateur Application

• Certaines solutions permettent de limiter les accès des DBA aux données chiffrées

• Chiffrement Applicatif

• Données illisibles :

• Vol physiques de disques / Admin Système / DBA

• Données lisibles : Utilisateur Application

• Application interdit les extractions complètes de bases de données

Page 15: Bonnespratiquesde développement d’applications …...avec une offre complète et diversifiée de produits et de services 8 banques régionales qui développent avec ses clients

MAP205 - BONNES PRATIQUES DE DÉVELOPPEMENT D’APPLICATIONS MODERNES SUR AWS │C0│ 02.04.2019 │ 15

SÉCURITÉ (3/3) – CHIFFREMENT APPLICATIF

• Crypto : Qui peut le plus peut le moins

• Chiffrement des données sensibles

• Stockées

• Transportées de bout en bout

• Transchiffrement

Soignez la phase d’initialisation des applications pour récupérer leurs

secrets (Vault)

Le chiffrement applicatif

est le kit de survie des

applications modernes

Protège les données

personnelles

Protège les données en continu

Facilite la conformité

Page 16: Bonnespratiquesde développement d’applications …...avec une offre complète et diversifiée de produits et de services 8 banques régionales qui développent avec ses clients

MAP205 - BONNES PRATIQUES DE DÉVELOPPEMENT D’APPLICATIONS MODERNES SUR AWS │C0│ 02.04.2019 │ 16

CONTRAINTES D’ARCHITECTURES POUR LES TRACES

• Développeur

• Consulter directement

• Requêter

• Agréger/Filtrer

• Visualiser

• Socle

• Conservation et durabilité des logs

• Support des incidents entre AWS et OnPremise

• Analyses croisées de logs

• Sécurité

• solution de repli au cas où un membre de l’équipe projet supprimait intentionnellement les traces systèmes ou applicatives

Page 17: Bonnespratiquesde développement d’applications …...avec une offre complète et diversifiée de produits et de services 8 banques régionales qui développent avec ses clients

MAP205 - BONNES PRATIQUES DE DÉVELOPPEMENT D’APPLICATIONS MODERNES SUR AWS │C0│ 02.04.2019 │ 17

DÉVELOPPEUR : VISUALISATION IMMÉDIATE DES LOGS VIA CLOUDWATCH DANS SON COMPTE AWS

Opensource: Utiliser Agent AWS cloudwatch / Amazon CloudWatch Output plugin for Telegraf

Com

pte

1

VPC 1Sous-réseaux 1

Sous-réseaux 2

webserver

ELB

AWS CloudWatch

Loggroup webserver

Logstream webserver1

ELB

webapp

Logstream webserver2

Logstream webserver3

httpshttps

https

Loggroup webapp

Logstream webapp1

Logstream webapp2

Logstream webapp3

httpshttpshttps

Logstream webapp4https

Page 18: Bonnespratiquesde développement d’applications …...avec une offre complète et diversifiée de produits et de services 8 banques régionales qui développent avec ses clients

MAP205 - BONNES PRATIQUES DE DÉVELOPPEMENT D’APPLICATIONS MODERNES SUR AWS │C0│ 02.04.2019 │ 18

SÉCURITÉ : ISOLATION DES LOGS DANS UN COMPTE AWS CENTRALISÉ

Acheminement automatisé: Utiliser Subscription Filter et destination logs

Com

pte

2

Com

pte

1

VPC 1Sous-réseaux 1

Sous-réseaux 2

webserver

ELB

AWS CloudWatch

Loggroup webserver

Subscriptionfilter

Logstream webserver1

AWS CloudWatch

Destinationlogs

ELB

webapp

Logstream webserver2

Logstream webserver3

httpshttps

https

Loggroup webapp

Logstream webapp1

Logstream webapp2

Logstream webapp3

httpshttpshttps

Logstream webapp4https

Page 19: Bonnespratiquesde développement d’applications …...avec une offre complète et diversifiée de produits et de services 8 banques régionales qui développent avec ses clients

MAP205 - BONNES PRATIQUES DE DÉVELOPPEMENT D’APPLICATIONS MODERNES SUR AWS │C0│ 02.04.2019 │ 19

SOCLE : CONSIGNER LES LOGS DANS S3 POUR ANALYSES CROISÉES ET ARCHIVAGES

Stocker de manière élastique dans S3 via Kinesis Stream et Kinesis Firehose

https

AWS CloudWatch

Destinationlogs

Kinesisstream

Amazon Kines is Firehose

Transformationbuffer

LambdaUnzip/decodeB64

https

https

FirehoseWritebuffer

https https

https

Bucket S3centralisé

OnPremise

https

Page 20: Bonnespratiquesde développement d’applications …...avec une offre complète et diversifiée de produits et de services 8 banques régionales qui développent avec ses clients

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT

Microservices

Page 21: Bonnespratiquesde développement d’applications …...avec une offre complète et diversifiée de produits et de services 8 banques régionales qui développent avec ses clients

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT

Comment Amazon SQS fonctionne

Front End

Back End

Metadata

Load

Manager

Page 22: Bonnespratiquesde développement d’applications …...avec une offre complète et diversifiée de produits et de services 8 banques régionales qui développent avec ses clients

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT

Options d’intégration sur AWS

QueuesSimple

Fully-managed

Any volume

Amazon

SQS

Pub/subSimple

Fully-managed

Flexible

Amazon

SNS

Orchestration

Powerful

Fully-managed

Low code

AWS

Step Functions

Amazon

API Gateway

Connect

Efficient

Fully-managed

Real-time

Client-Service Messagerie Orchestration

SynchronizationRapid

Fully-managed

Real-time

Amazon

CloudWatch

Events

Page 23: Bonnespratiquesde développement d’applications …...avec une offre complète et diversifiée de produits et de services 8 banques régionales qui développent avec ses clients

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT

MICROSERVICE AP

I

AP

I MICROSERVICE

MICROSERVICEE

VE

NT

AP

IMICROSERVICE

EV

EN

T

AP

I MICROSERVICE

APPLICATION

Client mobile

Client

IoT

PERSISTENCE PERSISTENCE

Page 24: Bonnespratiquesde développement d’applications …...avec une offre complète et diversifiée de produits et de services 8 banques régionales qui développent avec ses clients

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT

Serverless

Page 25: Bonnespratiquesde développement d’applications …...avec une offre complète et diversifiée de produits et de services 8 banques régionales qui développent avec ses clients

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT

Qu’est-ce que le Serverless?

Pas d’infrastructure à gérer et

provisionner

Scalabilité automatique

Paiement à la valeur Hautement disponible et sécurisé

Page 26: Bonnespratiquesde développement d’applications …...avec une offre complète et diversifiée de produits et de services 8 banques régionales qui développent avec ses clients

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT

Modèles de responsabilité operationnelle AWS

On-Premises Cloud

Moins Plus

Calcul Virtual MachineEC2 Elastic Beanstalk AWS LambdaFargate

Base de données

MySQL MySQL sur EC2RDS MySQL RDS Aurora Aurora Serverless DynamoDB

Stockage StorageS3

Messagerie ESBsAmazon MQ Kinesis SQS / SNS

Analytics

Hadoop Hadoop sur EC2 EMR Elasticsearch Service Athena

Page 27: Bonnespratiquesde développement d’applications …...avec une offre complète et diversifiée de produits et de services 8 banques régionales qui développent avec ses clients

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT

Page 28: Bonnespratiquesde développement d’applications …...avec une offre complète et diversifiée de produits et de services 8 banques régionales qui développent avec ses clients

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT

Comment Amazon MQ fonctionne ?

Amazon

API Gateway

Control Plane

Data Plane

AWS Lambda

Page 29: Bonnespratiquesde développement d’applications …...avec une offre complète et diversifiée de produits et de services 8 banques régionales qui développent avec ses clients

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT

Conteneurs et Serverless

Page 30: Bonnespratiquesde développement d’applications …...avec une offre complète et diversifiée de produits et de services 8 banques régionales qui développent avec ses clients

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT

Amazon SageMaker

Quelques services AWS qui utilisent des conteneurs

…more…

Amazon Rekognition

AWS Batch

AWS Elemental MediaConvert

Page 31: Bonnespratiquesde développement d’applications …...avec une offre complète et diversifiée de produits et de services 8 banques régionales qui développent avec ses clients

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT

Bases de données

Page 32: Bonnespratiquesde développement d’applications …...avec une offre complète et diversifiée de produits et de services 8 banques régionales qui développent avec ses clients

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT

Bases de données dans les applications modernes

RDBMS

(RDS)

NoSQL

(DynamoDB)

Page 33: Bonnespratiquesde développement d’applications …...avec une offre complète et diversifiée de produits et de services 8 banques régionales qui développent avec ses clients

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT

Relationnel ou pas?

Page 34: Bonnespratiquesde développement d’applications …...avec une offre complète et diversifiée de produits et de services 8 banques régionales qui développent avec ses clients

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT

Bases de données dans les applications modernes

RDBMS

(RDS)

NoSQL

(DynamoDB)

Amazon Quantum

Ledger Database

Page 35: Bonnespratiquesde développement d’applications …...avec une offre complète et diversifiée de produits et de services 8 banques régionales qui développent avec ses clients

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT

Amazon Quantum Ledger Database (QLDB)

SummaryJournalTransactions

• Transactions à la SQL

• Summary de l’historique des modifications en SQL

• Modèle de données de type document JSON

• Le journal est un “ledger” immuable chainé par

cryptographie

• Le journal est aussi une table

de base de données

• QLDB est Serverless!

Page 36: Bonnespratiquesde développement d’applications …...avec une offre complète et diversifiée de produits et de services 8 banques régionales qui développent avec ses clients

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT

Patterns d’intégration

Page 37: Bonnespratiquesde développement d’applications …...avec une offre complète et diversifiée de produits et de services 8 banques régionales qui développent avec ses clients

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT

Patterns d’intégration

APIsCouplage fort

Contrat d’interface

Synchrone

Faibles latences

OrchestrationTraitements longue durée

Data-driven

Durable

Logs unifiés

EvènementielCouplage faible

Data-driven

Asynchrone

Buffer

Durable

Page 38: Bonnespratiquesde développement d’applications …...avec une offre complète et diversifiée de produits et de services 8 banques régionales qui développent avec ses clients

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT

Orchestration

• Traitements longue durée

• Data-driven

• Durable

• Logs unifiés

Page 39: Bonnespratiquesde développement d’applications …...avec une offre complète et diversifiée de produits et de services 8 banques régionales qui développent avec ses clients

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT

Evènementiel

• Couplage faible

• Data-driven

• Asynchrone

• Buffer

• Durable

Page 40: Bonnespratiquesde développement d’applications …...avec une offre complète et diversifiée de produits et de services 8 banques régionales qui développent avec ses clients

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT

Connecteurs sur AWS Step Functions

Page 41: Bonnespratiquesde développement d’applications …...avec une offre complète et diversifiée de produits et de services 8 banques régionales qui développent avec ses clients

© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT

Merci!

Rudy KrolSolutions ArchitectAmazon Web Services

Bruce VinchonCloud Lead Architect ExpertSociété Générale – Banque de détail France