Ce diaporama a bien été signalé.
Le téléchargement de votre SlideShare est en cours. ×

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

Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité

Consultez-les par la suite

1 sur 19 Publicité

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

Télécharger pour lire hors ligne

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.

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.

Publicité
Publicité

Plus De Contenu Connexe

Diaporamas pour vous (20)

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

Publicité

Plus par Publicis Sapient Engineering (20)

Plus récents (20)

Publicité

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

×