Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
Serverless is the new back
Coder et déployer une API REST sans serveur
Gérôme Egron
@geromeegron
Jérémy Pinsolle
@jpinsolle
2
#back #java #AWS
#agile #k8s
#back #java #nodejs
#archi #cloud
Texte ici
Plan
1. Évolution des architectures Cloud
2. Ma première Lambda
3. Caractéristiques du service Lambda
4. Live co...
Amazon EC2
Lift & ship
VM
Optimisé pour le cloud
Amazon
ECS
AWS Elastic
Beanstalk
Amazon
RDS
Amazon
ElastiCache
Amazon
Red...
Vous avez dit Serverless ?
Scaling à l’usage
Paiement à l’usage
Pas de serveur à
provisionner et à
maintenir
Disponibilité...
Démo
Ma première lambda
6
Mémoire Prix en $ pour 100ms
128 0.000000208
512 0.000000834
1024 0.000001667
1536 0.000002501
3 000 000 secondes soit 34j...
Une instance de fonction peut être supprimée
Déploiement d’une
nouvelle version
Mise à jour interne
AWS
Scalabilité à la
b...
Cold Start
Temps d’initialisation de la fonction lors de
la première instanciation
Bonnes pratiques :
➔ Initialiser les cl...
Lambda Hello World (JAVA) = 1,4 sec
Lambda Hello World (Node.js) = 200ms
cold start
cold start
Mesurer le cold start avec ...
API Gateway Lambda DynamoDB
HTTPS
2 endpoints
Démo
Une API REST avec Serverless
Questions abordées :
➔ Comment j’organise ...
Quelques cas d’utilisation
12
Amazon S3 Amazon S3AWS
Lambda
2000 x 4000px (4mo)
512 x 1024px (300ko)
200 x 400px (50ko)
Cas d’utilisation 1 - Redimensio...
Cas d’utilisation 2 - Utilitaires
Backup
▼ Effectuer des snapshot réguliers
des ressources de l’infra
RDS, Elasticsearch, ...
Notre cas d’utilisation - Backend d’une application
app mobile pour les
conférenciers
SPA
d’administration
APIGateway
Lamb...
Contraintes associées au Serverless
▼ Vendor lock-in
▼ Limitations des services
▽ Timeout Lambda de 5min
▽ Timeout API Gat...
Pourquoi Serverless is the new back ?
Développeurs OPS
➔ Focus sur le code et
livraison rapide (TTM
réduit)
➔ Paiement à l...
Merci
18
Questions
19
?@geromeegron @jpinsolle
Serverless is the new back
Prochain SlideShare
Chargement dans…5
×

XebiCon'17 : Serverless is the new back - Jérémy Pinsolle et Gérôme Egron

66 vues

Publié le

Que se cache-t-il derrière les buzz words « serverless » et « services managés » ? Est-il réellement possible de construire une application sans provisionner de serveurs ?
C’est ce que nous allons vous montrer à travers ce live coding. En partant d’une application existante, nous développerons pas à pas une nouvelle fonctionnalité à base de Lambda, de NoSQL (DynamoDB) et d’API Gateway pour enfin la déployer dans le cloud AWS.
Si vous vous demandez comment coder une application robuste, testée, scalable en vous concentrant sur les fonctionnalités et non l’infrastructure, cette conférence est faite pour vous.

Publié dans : Technologie
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

XebiCon'17 : Serverless is the new back - Jérémy Pinsolle et Gérôme Egron

  1. 1. Serverless is the new back Coder et déployer une API REST sans serveur
  2. 2. Gérôme Egron @geromeegron Jérémy Pinsolle @jpinsolle 2 #back #java #AWS #agile #k8s #back #java #nodejs #archi #cloud
  3. 3. Texte ici Plan 1. Évolution des architectures Cloud 2. Ma première Lambda 3. Caractéristiques du service Lambda 4. Live coding d’une API REST 5. Cas d’utilisation 6. Conclusion 3
  4. 4. Amazon EC2 Lift & ship VM Optimisé pour le cloud Amazon ECS AWS Elastic Beanstalk Amazon RDS Amazon ElastiCache Amazon Redshift Amazon EMR Amazon ES Services managés AWS Lambda Amazon S3 Amazon DynamoDB Amazon SQS Amazon SES Amazon API Gateway Amazon Athena Amazon Kinesis AWS Step Functions Amazon SNS Amazon IoT Architecturé pour le cloud Serverless Évolution des architectures Cloud 4
  5. 5. Vous avez dit Serverless ? Scaling à l’usage Paiement à l’usage Pas de serveur à provisionner et à maintenir Disponibilité et tolérance aux pannes 5
  6. 6. Démo Ma première lambda 6
  7. 7. Mémoire Prix en $ pour 100ms 128 0.000000208 512 0.000000834 1024 0.000001667 1536 0.000002501 3 000 000 secondes soit 34j de calcul à 512 mo = $25 6 000 000 secondes soit 75j de calcul à 128 mo = $12,5 ▼ 20 centimes le million d’appels + ▼ Facturation au temps d’exécution Facturation 7
  8. 8. Une instance de fonction peut être supprimée Déploiement d’une nouvelle version Mise à jour interne AWS Scalabilité à la baisse Exception non gérée Inactivité Stateless Besoin de persistance Utiliser un datastore externe Amazon S3, Amazon Elasticache, Amazon DynamoDB 8
  9. 9. Cold Start Temps d’initialisation de la fonction lors de la première instanciation Bonnes pratiques : ➔ Initialiser les clients et connexions aux bases de données en dehors de la fonction handler ➔ Déployer la fonction dans un VPC uniquement si nécessaire ➔ Activer AWS X-Ray pour mesurer les cold start Exécution à l’initialisation Exécution à chaque invocation 9
  10. 10. Lambda Hello World (JAVA) = 1,4 sec Lambda Hello World (Node.js) = 200ms cold start cold start Mesurer le cold start avec AWS X-Ray
  11. 11. API Gateway Lambda DynamoDB HTTPS 2 endpoints Démo Une API REST avec Serverless Questions abordées : ➔ Comment j’organise mon code ? ➔ Comment je fais mes tests ? ➔ Comment je teste en local ? ➔ Quels outils je dois / peux utiliser ? ➔ Comment je déploie ? 11
  12. 12. Quelques cas d’utilisation 12
  13. 13. Amazon S3 Amazon S3AWS Lambda 2000 x 4000px (4mo) 512 x 1024px (300ko) 200 x 400px (50ko) Cas d’utilisation 1 - Redimensionner des photos 13
  14. 14. Cas d’utilisation 2 - Utilitaires Backup ▼ Effectuer des snapshot réguliers des ressources de l’infra RDS, Elasticsearch, EBS Eteindre machine de DEV ▼ Les clients sont friands des économies de coûts Économie de 60% * 14
  15. 15. Notre cas d’utilisation - Backend d’une application app mobile pour les conférenciers SPA d’administration APIGateway Lambda DynamoDB Exposition HTTP Codem étier Basede données Authentification / JWT 15
  16. 16. Contraintes associées au Serverless ▼ Vendor lock-in ▼ Limitations des services ▽ Timeout Lambda de 5min ▽ Timeout API Gateway de 30sec ▽ Payload API GAteway de 10 mo ▽ Taille maximum d’un item DynamoDB 400ko ▽ Index sur une table DynamoDB de 10 maximum ▼ Pas encore de best practices ▽ CI/CD avec Serverless 16
  17. 17. Pourquoi Serverless is the new back ? Développeurs OPS ➔ Focus sur le code et livraison rapide (TTM réduit) ➔ Paiement à l’usage ➔ Coûts opérationnels et de maintenance diminués ➔ Mise à l’échelle facilitée ➔ Haute disponibilité ➔ Outillage “traditionnel” ➔ Facilité de mise en œuvre ➔ Documentation claire ➔ Technologie mature Métier 17
  18. 18. Merci 18
  19. 19. Questions 19 ?@geromeegron @jpinsolle Serverless is the new back

×