bonnespratiquesde développement d’applications …...avec une offre complète et diversifiée de...
TRANSCRIPT
© 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
© 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
© 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é
© 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
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
Securité
© 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
© 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
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
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
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 :
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
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
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”
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
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é
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
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
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
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
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
Microservices
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
Comment Amazon SQS fonctionne
Front End
Back End
Metadata
Load
Manager
© 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
© 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
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
Serverless
© 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é
© 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
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
© 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
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
Conteneurs et Serverless
© 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
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
Bases de données
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
Bases de données dans les applications modernes
RDBMS
(RDS)
NoSQL
(DynamoDB)
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
Relationnel ou pas?
© 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
© 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!
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
Patterns d’intégration
© 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
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
Orchestration
• Traitements longue durée
• Data-driven
• Durable
• Logs unifiés
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
Evènementiel
• Couplage faible
• Data-driven
• Asynchrone
• Buffer
• Durable
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.SUMMIT
Connecteurs sur AWS Step Functions
© 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