SlideShare a Scribd company logo
1 of 42
To Be or not To Be Serverless
14 Septembre 2017
IPPON
EN QUELQUES MOTS
Ippon Technologies 2017
Ippon est un cabinet de conseil et d’expertise en
développement de logiciels innovants
Ippon Technologies 2017
Aurélien SCHWARTZ
Responsable de projet de Data Science chez EDF
“ En nous adressant à Ippon nous cherchions une société capable de nous accompagner dans la construction d’un produit qui n’existait
alors qu’au stade de proof of concept sur nos machines de chercheurs. “
Ippon Technologies 2017
IPPON EN QUELQUES MOTS
15ans
2002 - 2017
30M€
prévisionnel 2017
300collaborateurs
24M€
CA 2016
4continents
Ippon Technologies 2017
NOTRE VISION
Ippon Technologies 2017
Entraînement intensif avec
pour objectif de dépasser nos
limites en équipe
Fondé par Stéphane Nomis, ancien
sportif de haut niveau.
Remise en question
permanente afin de viser
l’excellence
NOS VALEURS
LES VALEURS DU SPORT DE HAUT NIVEAU
APPLIQUÉES AU MANAGEMENT D’UNE ENTREPRISE
Discovery To Delivery
Innover et optimiser votre Time To Market
Ippon Technologies 2017
Une méthode
Agile
Approche
customer/user centric
Accompagnement
et co-construction
Vision claire
et partagée
de votre
stratégie digitale
Des Data
valorisées
Développement
de logiciel
industrialisé
Des infrastructures
bien managées
Ippon Technologies 2017
NOS SERVICES
Ippon Technologies 2017
NOS SERVICES
Stratégie Client
Architecture IT
Transition Agile
Vision Produit
Management
CONSEIL
Design thinking
Ergonomie
Expérience Utilisateur
UI
Design intéractif
EXPÉRIENCE
UTILISATEUR
& DESIGN FullStack
Java, JavaScript & JVM
OpenSource
Agile
Continuous Delivery
Craftsmanship
DÉVELOPPEMENT
Fast Data
Smart Data
Big Data
Data Science
DATA
Chaînes Devops
Infrastructure as Code
Cloud
Hosting / Infogérance
DEVOPS & CLOUD
Ippon Technologies © 2017
Recrutement sur Lyon
Ippon Technologies © 2017
#Me
Steve HOUËL
Solution Architect
shouel@ippon.fr
JHipster contributor
JHipster Lyon Meetup manager
https://www.meetup.com/fr-FR/JHipster-Lyon/
Certified AWS Solution Architect
https://blog.ippon.fr/2017/06/09/les-architectures-serverless/
@SteveHouel stevehouel
www.ippon.fr
blog.ippon.fr
Ippon Technologies © 2017
Back to the past
Ippon Technologies © 2017
What is Serverless
Well… It means no servers right ?
● No need to manage servers
● No need to even think about servers
● No need to provision infrastructure
● Pay only for what to use
● Use backend as a Service (BaaS)
● Deploy function not apps (FaaS)
● It’s event based/oriented
● Initially designed for Mobile application
Ippon Technologies © 2017
What isn’t serverless ?
adrian cockcroft @adrianco
If your PaaS can efficiently start instances in 20ms that
run for half a second, then call it serverless.
PaaS
Container
#NoOps
Ippon Technologies © 2017
Who does serverless
Ippon Technologies © 2017
But… what does that really mean ?
Virtual machine
Ippon Technologies © 2017
But… what does that really mean ?
Virtual machine
Ippon Technologies © 2017
But… what does that really mean ?
Virtual machine
Ippon Technologies © 2017
But… what does that really mean ?
Virtual machine Virtual machine
Ippon Technologies © 2017
But… what does that really mean ?
Virtual machine Virtual machine
Ippon Technologies © 2017
But… what does that really mean ?
Virtual machine Virtual machine
Ippon Technologies © 2017
But there is a problem
Virtual machine Virtual machine
Over provisioned
= Cost money
Ippon Technologies © 2017
Let’s try another way
Virtual machine
Ippon Technologies © 2017
Let’s try another way
Virtual machine
Ippon Technologies © 2017
Let’s try another way
Virtual machine
Ippon Technologies © 2017
Let’s try another way
Virtual machine
Ippon Technologies © 2017
Let’s try another way
Virtual machine Virtual machine
Ippon Technologies © 2017
Let’s try another way
Virtual machine Virtual machine
Over provisioned
= Cost money
Ippon Technologies © 2017
Another again ? Shrink the unit of compute
Ippon Technologies © 2017
Separate function scale independently
Function 1
Function 2
Function 3
- Scale independently
- Isolate
- Stateless / ephemeral
- Match your traffic pattern
Ippon Technologies © 2017
Cloud services
emit “events”
Functions can write
back to the cloud
External services
emit “events”
Overview
{...}
Or call other APIs
2
1
3
4
Ippon Technologies © 2017
Use case : Serverless Webapp
Ippon Technologies © 2017
Use case : File processing
Ippon Technologies © 2017
handler.js (lambda AWS)
'use strict';
module.exports.hello = (event, context, callback) => {
const response = {
statusCode: 200,
body: JSON.stringify({
message: 'Go Serverless v1.0! Your function executed successfully!',
input: event,
}),
};
callback(null, response);
};
Ippon Technologies © 2017
Benefits
● Reduced operational cost
● BaaS - reduced development cost
● FaaS - scaling cost
● Optimization is the root of some cost
savings
● ‘Greener’ computing
Ippon Technologies © 2017
Drawbacks
● Vendor lock-in
● Security concerns
● Loss of Server optimizations
● Implementation drawbacks:
● Execution duration
● Startup latency
● Tests
● Deployment / packaging / versioning
Ippon Technologies © 2017
Develop Serverless : Serverless Framework
● serverless.com
● Announced at re:Invent 2015 by Austen Collins and Ryan Pendergast
● Supports NodeJS, Java, Python, ...
● Can be deployed on AWS, Google Cloud Platform, IBM OpenWhisk,
Microsoft Azure
● Manage your infrastructure (bucket, API Gateway, …)
● Simple configuration in YAML
Ippon Technologies © 2017
Serverless “Hello World” API
$ serverless create --template aws-nodejs
Edit handler.js, serverless.yml
$ serverless deploy [--stage stage_name]
$ serverless invoke [local] --function function_name
$ serverless info
$ curl $URL
$ serverless remove
Ippon Technologies © 2017
Develop Serverless : Chalice
● Released in July 2016, currently on 1.0.2
● Simply add your Python code
➔deploy with a single call and zero config
➔API and IAM policy are created automatically and auto-generated
● Run locally your API on port 8000 (Flask)
● Fast & lightweight framework
● Oriented API Call not infrastructure
Ippon Technologies © 2017
Chalice “HelloWorld” API
$ chalice new-project s3test && cd s3test
Write your function in app.py
$ chalice local
● $ http put http://localhost:8000/objects/document.json value1=123
● $ http get http://localhost:8000/objects/document.json
$ chalice deploy
$ chalice url
Ippon Technologies © 2017
Conclusion
PARIS
BORDEAUX
NANTES
LYON
MARRAKECH
WASHINGTON DC
NEW-YORK
RICHMOND
MELBOURNE
rdespinasse@ippon.fr
www.ippon.fr - www.ippon-hosting.com - www.ippon-digital.fr
@ippontech
-
06 66 93 60 05

More Related Content

What's hot

AWS Summit Barcelona - Continuous Deployment
AWS Summit Barcelona - Continuous DeploymentAWS Summit Barcelona - Continuous Deployment
AWS Summit Barcelona - Continuous Deployment
Amazon Web Services
 
AWS Summit Milan - Continuous Deployment
AWS Summit Milan - Continuous DeploymentAWS Summit Milan - Continuous Deployment
AWS Summit Milan - Continuous Deployment
Amazon Web Services
 

What's hot (19)

Canary Analyze All The Things: How We Learned to Keep Calm and Release Often
Canary Analyze All The Things: How We Learned to Keep Calm and Release OftenCanary Analyze All The Things: How We Learned to Keep Calm and Release Often
Canary Analyze All The Things: How We Learned to Keep Calm and Release Often
 
Americas LFM User Meeting 2018 - Gary Farrow, LFM
Americas LFM User Meeting 2018 - Gary Farrow, LFMAmericas LFM User Meeting 2018 - Gary Farrow, LFM
Americas LFM User Meeting 2018 - Gary Farrow, LFM
 
Improving Integration and Automation of AVEVA Design Tools
Improving Integration and Automation of AVEVA Design ToolsImproving Integration and Automation of AVEVA Design Tools
Improving Integration and Automation of AVEVA Design Tools
 
AWS Summit Barcelona - Continuous Deployment
AWS Summit Barcelona - Continuous DeploymentAWS Summit Barcelona - Continuous Deployment
AWS Summit Barcelona - Continuous Deployment
 
Maximizing efficiency using AVEVA & SDS/2 in the real world
Maximizing efficiency using AVEVA & SDS/2 in the real worldMaximizing efficiency using AVEVA & SDS/2 in the real world
Maximizing efficiency using AVEVA & SDS/2 in the real world
 
AVEVA World Conference NA - AVEVA Procon Panel
AVEVA World Conference NA - AVEVA Procon PanelAVEVA World Conference NA - AVEVA Procon Panel
AVEVA World Conference NA - AVEVA Procon Panel
 
Neste: How to Build Business Case, Ramp-up and Run SAP Test Automation Factory
Neste: How to Build Business Case, Ramp-up and Run SAP Test Automation FactoryNeste: How to Build Business Case, Ramp-up and Run SAP Test Automation Factory
Neste: How to Build Business Case, Ramp-up and Run SAP Test Automation Factory
 
Canary releases & Blue green deployment
Canary releases & Blue green deploymentCanary releases & Blue green deployment
Canary releases & Blue green deployment
 
AWS Well-Architected: Build Better Architecture, Better Business
AWS Well-Architected: Build Better Architecture, Better BusinessAWS Well-Architected: Build Better Architecture, Better Business
AWS Well-Architected: Build Better Architecture, Better Business
 
AVEVA World Conference NA - Ross Killmurray, AVEVA IE&D
AVEVA World Conference NA - Ross Killmurray, AVEVA IE&DAVEVA World Conference NA - Ross Killmurray, AVEVA IE&D
AVEVA World Conference NA - Ross Killmurray, AVEVA IE&D
 
Introducing AVEVA Connect
Introducing AVEVA ConnectIntroducing AVEVA Connect
Introducing AVEVA Connect
 
Automating Adaptive Maintenance Changes with srcML and LINQ
Automating Adaptive Maintenance Changes with srcML and LINQAutomating Adaptive Maintenance Changes with srcML and LINQ
Automating Adaptive Maintenance Changes with srcML and LINQ
 
AVEVA World Conference NA - Rabelo/Tedstone, AVEVA ERM & Procon
AVEVA World Conference NA - Rabelo/Tedstone, AVEVA ERM & ProconAVEVA World Conference NA - Rabelo/Tedstone, AVEVA ERM & Procon
AVEVA World Conference NA - Rabelo/Tedstone, AVEVA ERM & Procon
 
Introduction to DevOps - Rackspace tech night
Introduction to DevOps - Rackspace tech nightIntroduction to DevOps - Rackspace tech night
Introduction to DevOps - Rackspace tech night
 
AWS Summit Milan - Continuous Deployment
AWS Summit Milan - Continuous DeploymentAWS Summit Milan - Continuous Deployment
AWS Summit Milan - Continuous Deployment
 
Continuous Delivery: From Mainframe to Mobile
Continuous Delivery: From Mainframe to MobileContinuous Delivery: From Mainframe to Mobile
Continuous Delivery: From Mainframe to Mobile
 
Manchester ITExpo Talk: DevOps large and small - Cambridge Satchel
Manchester ITExpo Talk:  DevOps large and small - Cambridge SatchelManchester ITExpo Talk:  DevOps large and small - Cambridge Satchel
Manchester ITExpo Talk: DevOps large and small - Cambridge Satchel
 
Quantifying Business Value with ITIL® and ITSM in the Modern Software Factory
Quantifying Business Value with ITIL® and ITSM in the Modern Software FactoryQuantifying Business Value with ITIL® and ITSM in the Modern Software Factory
Quantifying Business Value with ITIL® and ITSM in the Modern Software Factory
 
Legacy On Premise Apps Got You Down? No Problem - DevOps for All
Legacy On Premise Apps Got You Down? No Problem - DevOps for AllLegacy On Premise Apps Got You Down? No Problem - DevOps for All
Legacy On Premise Apps Got You Down? No Problem - DevOps for All
 

Similar to To be or not to be Serverless

Similar to To be or not to be Serverless (20)

To be or not to be serverless
To be or not to be serverlessTo be or not to be serverless
To be or not to be serverless
 
IOT311_Customer Stories of Things, Cloud, and Analytics on AWS
IOT311_Customer Stories of Things, Cloud, and Analytics on AWSIOT311_Customer Stories of Things, Cloud, and Analytics on AWS
IOT311_Customer Stories of Things, Cloud, and Analytics on AWS
 
Perth PUXX Slides - June 2017
Perth PUXX Slides - June 2017Perth PUXX Slides - June 2017
Perth PUXX Slides - June 2017
 
DevOps@Scale- IBM Cloud and NetAp-Insight-Berlin
DevOps@Scale- IBM Cloud and NetAp-Insight-BerlinDevOps@Scale- IBM Cloud and NetAp-Insight-Berlin
DevOps@Scale- IBM Cloud and NetAp-Insight-Berlin
 
Why Cloud Matters
Why Cloud MattersWhy Cloud Matters
Why Cloud Matters
 
Serverless survival kit
Serverless survival kitServerless survival kit
Serverless survival kit
 
SplunkLive! London 2017 - DevOps Powered by Splunk
SplunkLive! London 2017 - DevOps Powered by SplunkSplunkLive! London 2017 - DevOps Powered by Splunk
SplunkLive! London 2017 - DevOps Powered by Splunk
 
Reactive to Proactive: Intelligent Troubleshooting and Monitoring with Splunk
Reactive to Proactive: Intelligent Troubleshooting and Monitoring with SplunkReactive to Proactive: Intelligent Troubleshooting and Monitoring with Splunk
Reactive to Proactive: Intelligent Troubleshooting and Monitoring with Splunk
 
Reactive to Proactive: Intelligent Troubleshooting and Monitoring with Splunk
Reactive to Proactive: Intelligent Troubleshooting and Monitoring with SplunkReactive to Proactive: Intelligent Troubleshooting and Monitoring with Splunk
Reactive to Proactive: Intelligent Troubleshooting and Monitoring with Splunk
 
Better Software is Better than Worse Software - Alexandre Vasseur
Better Software is Better than Worse Software - Alexandre VasseurBetter Software is Better than Worse Software - Alexandre Vasseur
Better Software is Better than Worse Software - Alexandre Vasseur
 
Journey to The Cloud-Native Enterprise
Journey to The Cloud-Native Enterprise Journey to The Cloud-Native Enterprise
Journey to The Cloud-Native Enterprise
 
Iwan Van Der Kleijn - Expansión Internacional. Modelo de desarrollo ágil basa...
Iwan Van Der Kleijn - Expansión Internacional. Modelo de desarrollo ágil basa...Iwan Van Der Kleijn - Expansión Internacional. Modelo de desarrollo ágil basa...
Iwan Van Der Kleijn - Expansión Internacional. Modelo de desarrollo ágil basa...
 
Software 4.0 | Anand Paropkari | Pune Agile Unconference 2017 | ScaleUp Consu...
Software 4.0 | Anand Paropkari | Pune Agile Unconference 2017 | ScaleUp Consu...Software 4.0 | Anand Paropkari | Pune Agile Unconference 2017 | ScaleUp Consu...
Software 4.0 | Anand Paropkari | Pune Agile Unconference 2017 | ScaleUp Consu...
 
SD DevOps Meet-up - Exploring Quadrants of DevOps Maturity
SD DevOps Meet-up - Exploring Quadrants of DevOps MaturitySD DevOps Meet-up - Exploring Quadrants of DevOps Maturity
SD DevOps Meet-up - Exploring Quadrants of DevOps Maturity
 
#UNIT 2017: Cloud Computing
#UNIT 2017: Cloud Computing#UNIT 2017: Cloud Computing
#UNIT 2017: Cloud Computing
 
Introducing AWS Cloud9 - AWS Online Tech Talks
Introducing AWS Cloud9 - AWS Online Tech TalksIntroducing AWS Cloud9 - AWS Online Tech Talks
Introducing AWS Cloud9 - AWS Online Tech Talks
 
Beyond Gerrit @ Gerrit User Summit 2017, London
Beyond Gerrit @ Gerrit User Summit 2017, LondonBeyond Gerrit @ Gerrit User Summit 2017, London
Beyond Gerrit @ Gerrit User Summit 2017, London
 
Containers on AWS - State of the Union - CON201 - re:Invent 2017
Containers on AWS - State of the Union - CON201 - re:Invent 2017Containers on AWS - State of the Union - CON201 - re:Invent 2017
Containers on AWS - State of the Union - CON201 - re:Invent 2017
 
Journey to Cloud-Native: Continuous Delivery with Artificial Intelligence
Journey to Cloud-Native: Continuous Delivery with Artificial IntelligenceJourney to Cloud-Native: Continuous Delivery with Artificial Intelligence
Journey to Cloud-Native: Continuous Delivery with Artificial Intelligence
 
Reactive to Proactive: Intelligent Troubleshooting and Monitoring with Splunk
Reactive to Proactive: Intelligent Troubleshooting and Monitoring with SplunkReactive to Proactive: Intelligent Troubleshooting and Monitoring with Splunk
Reactive to Proactive: Intelligent Troubleshooting and Monitoring with Splunk
 

Recently uploaded

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Recently uploaded (20)

Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 

To be or not to be Serverless

  • 1. To Be or not To Be Serverless 14 Septembre 2017
  • 2. IPPON EN QUELQUES MOTS Ippon Technologies 2017
  • 3. Ippon est un cabinet de conseil et d’expertise en développement de logiciels innovants Ippon Technologies 2017 Aurélien SCHWARTZ Responsable de projet de Data Science chez EDF “ En nous adressant à Ippon nous cherchions une société capable de nous accompagner dans la construction d’un produit qui n’existait alors qu’au stade de proof of concept sur nos machines de chercheurs. “
  • 4. Ippon Technologies 2017 IPPON EN QUELQUES MOTS 15ans 2002 - 2017 30M€ prévisionnel 2017 300collaborateurs 24M€ CA 2016 4continents
  • 6. Ippon Technologies 2017 Entraînement intensif avec pour objectif de dépasser nos limites en équipe Fondé par Stéphane Nomis, ancien sportif de haut niveau. Remise en question permanente afin de viser l’excellence NOS VALEURS LES VALEURS DU SPORT DE HAUT NIVEAU APPLIQUÉES AU MANAGEMENT D’UNE ENTREPRISE
  • 7. Discovery To Delivery Innover et optimiser votre Time To Market Ippon Technologies 2017 Une méthode Agile Approche customer/user centric Accompagnement et co-construction Vision claire et partagée de votre stratégie digitale Des Data valorisées Développement de logiciel industrialisé Des infrastructures bien managées
  • 9. Ippon Technologies 2017 NOS SERVICES Stratégie Client Architecture IT Transition Agile Vision Produit Management CONSEIL Design thinking Ergonomie Expérience Utilisateur UI Design intéractif EXPÉRIENCE UTILISATEUR & DESIGN FullStack Java, JavaScript & JVM OpenSource Agile Continuous Delivery Craftsmanship DÉVELOPPEMENT Fast Data Smart Data Big Data Data Science DATA Chaînes Devops Infrastructure as Code Cloud Hosting / Infogérance DEVOPS & CLOUD
  • 10. Ippon Technologies © 2017 Recrutement sur Lyon
  • 11. Ippon Technologies © 2017 #Me Steve HOUËL Solution Architect shouel@ippon.fr JHipster contributor JHipster Lyon Meetup manager https://www.meetup.com/fr-FR/JHipster-Lyon/ Certified AWS Solution Architect https://blog.ippon.fr/2017/06/09/les-architectures-serverless/ @SteveHouel stevehouel www.ippon.fr blog.ippon.fr
  • 12. Ippon Technologies © 2017 Back to the past
  • 13. Ippon Technologies © 2017 What is Serverless Well… It means no servers right ? ● No need to manage servers ● No need to even think about servers ● No need to provision infrastructure ● Pay only for what to use ● Use backend as a Service (BaaS) ● Deploy function not apps (FaaS) ● It’s event based/oriented ● Initially designed for Mobile application
  • 14. Ippon Technologies © 2017 What isn’t serverless ? adrian cockcroft @adrianco If your PaaS can efficiently start instances in 20ms that run for half a second, then call it serverless. PaaS Container #NoOps
  • 15. Ippon Technologies © 2017 Who does serverless
  • 16. Ippon Technologies © 2017 But… what does that really mean ? Virtual machine
  • 17. Ippon Technologies © 2017 But… what does that really mean ? Virtual machine
  • 18. Ippon Technologies © 2017 But… what does that really mean ? Virtual machine
  • 19. Ippon Technologies © 2017 But… what does that really mean ? Virtual machine Virtual machine
  • 20. Ippon Technologies © 2017 But… what does that really mean ? Virtual machine Virtual machine
  • 21. Ippon Technologies © 2017 But… what does that really mean ? Virtual machine Virtual machine
  • 22. Ippon Technologies © 2017 But there is a problem Virtual machine Virtual machine Over provisioned = Cost money
  • 23. Ippon Technologies © 2017 Let’s try another way Virtual machine
  • 24. Ippon Technologies © 2017 Let’s try another way Virtual machine
  • 25. Ippon Technologies © 2017 Let’s try another way Virtual machine
  • 26. Ippon Technologies © 2017 Let’s try another way Virtual machine
  • 27. Ippon Technologies © 2017 Let’s try another way Virtual machine Virtual machine
  • 28. Ippon Technologies © 2017 Let’s try another way Virtual machine Virtual machine Over provisioned = Cost money
  • 29. Ippon Technologies © 2017 Another again ? Shrink the unit of compute
  • 30. Ippon Technologies © 2017 Separate function scale independently Function 1 Function 2 Function 3 - Scale independently - Isolate - Stateless / ephemeral - Match your traffic pattern
  • 31. Ippon Technologies © 2017 Cloud services emit “events” Functions can write back to the cloud External services emit “events” Overview {...} Or call other APIs 2 1 3 4
  • 32. Ippon Technologies © 2017 Use case : Serverless Webapp
  • 33. Ippon Technologies © 2017 Use case : File processing
  • 34. Ippon Technologies © 2017 handler.js (lambda AWS) 'use strict'; module.exports.hello = (event, context, callback) => { const response = { statusCode: 200, body: JSON.stringify({ message: 'Go Serverless v1.0! Your function executed successfully!', input: event, }), }; callback(null, response); };
  • 35. Ippon Technologies © 2017 Benefits ● Reduced operational cost ● BaaS - reduced development cost ● FaaS - scaling cost ● Optimization is the root of some cost savings ● ‘Greener’ computing
  • 36. Ippon Technologies © 2017 Drawbacks ● Vendor lock-in ● Security concerns ● Loss of Server optimizations ● Implementation drawbacks: ● Execution duration ● Startup latency ● Tests ● Deployment / packaging / versioning
  • 37. Ippon Technologies © 2017 Develop Serverless : Serverless Framework ● serverless.com ● Announced at re:Invent 2015 by Austen Collins and Ryan Pendergast ● Supports NodeJS, Java, Python, ... ● Can be deployed on AWS, Google Cloud Platform, IBM OpenWhisk, Microsoft Azure ● Manage your infrastructure (bucket, API Gateway, …) ● Simple configuration in YAML
  • 38. Ippon Technologies © 2017 Serverless “Hello World” API $ serverless create --template aws-nodejs Edit handler.js, serverless.yml $ serverless deploy [--stage stage_name] $ serverless invoke [local] --function function_name $ serverless info $ curl $URL $ serverless remove
  • 39. Ippon Technologies © 2017 Develop Serverless : Chalice ● Released in July 2016, currently on 1.0.2 ● Simply add your Python code ➔deploy with a single call and zero config ➔API and IAM policy are created automatically and auto-generated ● Run locally your API on port 8000 (Flask) ● Fast & lightweight framework ● Oriented API Call not infrastructure
  • 40. Ippon Technologies © 2017 Chalice “HelloWorld” API $ chalice new-project s3test && cd s3test Write your function in app.py $ chalice local ● $ http put http://localhost:8000/objects/document.json value1=123 ● $ http get http://localhost:8000/objects/document.json $ chalice deploy $ chalice url
  • 41. Ippon Technologies © 2017 Conclusion
  • 42. PARIS BORDEAUX NANTES LYON MARRAKECH WASHINGTON DC NEW-YORK RICHMOND MELBOURNE rdespinasse@ippon.fr www.ippon.fr - www.ippon-hosting.com - www.ippon-digital.fr @ippontech - 06 66 93 60 05

Editor's Notes

  1. Timing : 40min de presentation 20 min de démonstration 10 min de présentation 10 min de démonstration 10 min de questions
  2. une valeurs ippon c’est notre volonté d’accompagner nos clients, pas uniquement sur la réalisation mais sur le discovery to delivery aider à la concretisation de la strategie digitale de notre client
  3. Panel ou catalogue de services
  4. Evolution des infrastructure Baremetal: Single tenant Virtual machines (IAAS) : Multitenant Containeurs : (2013) Functions (FAAS) (lambda 2 ans)
  5. Explication notion serverless (général) contraintes des anciennes architectures Avantages AWS Lambda: 128 RAM 3 200 000 secondes offertes 0,000000208€ / 100ms
  6. PaaS : plateform as a service , cloud computing qui fournit un plateforme et un environnement Container : FaaS = scaling auto / not by default for container NoOps: il y a des Ops mais juste pas de Internal Sys admin
  7. concretement 2 types Serverless : BaaS et FaaS BaaS: Initialement pour mobile apps FaaS Event based
  8. concretement 2 types Serverless : BaaS et FaaS BaaS: Initialement pour mobile apps FaaS Event based
  9. concretement 2 types Serverless : BaaS et FaaS BaaS: Initialement pour mobile apps FaaS Event based
  10. concretement 2 types Serverless : BaaS et FaaS BaaS: Initialement pour mobile apps FaaS Event based
  11. concretement 2 types Serverless : BaaS et FaaS BaaS: Initialement pour mobile apps FaaS Event based
  12. concretement 2 types Serverless : BaaS et FaaS BaaS: Initialement pour mobile apps FaaS Event based
  13. concretement 2 types Serverless : BaaS et FaaS BaaS: Initialement pour mobile apps FaaS Event based
  14. concretement 2 types Serverless : BaaS et FaaS BaaS: Initialement pour mobile apps FaaS Event based
  15. concretement 2 types Serverless : BaaS et FaaS BaaS: Initialement pour mobile apps FaaS Event based
  16. concretement 2 types Serverless : BaaS et FaaS BaaS: Initialement pour mobile apps FaaS Event based
  17. concretement 2 types Serverless : BaaS et FaaS BaaS: Initialement pour mobile apps FaaS Event based
  18. concretement 2 types Serverless : BaaS et FaaS BaaS: Initialement pour mobile apps FaaS Event based
  19. concretement 2 types Serverless : BaaS et FaaS BaaS: Initialement pour mobile apps FaaS Event based
  20. concretement 2 types Serverless : BaaS et FaaS BaaS: Initialement pour mobile apps FaaS Event based
  21. UseCase : Enregistrement d’un vote dynamique via SMS En combinant AWS Lambda avec d'autres services AWS, les développeurs peuvent créer de puissantes applications Web qui augmentent automatiquement et descendent et fonctionnent dans une configuration hautement disponible dans plusieurs centres de données, avec un effort administratif nul requis pour l'extensibilité, les sauvegardes ou la redondance multi-centres de données. Cet exemple illustre l'utilisation d'AWS Lambda et Amazon API Gateway pour créer une application de vote dynamique, qui reçoit des votes via SMS, agrège les totaux dans Amazon DynamoDB et utilise Amazon Simple Storage Service (Amazon S3) pour afficher les résultats en temps réel. L'architecture peut être créée avec un modèle AWS CloudFormation. Le modèle fait ce qui suit: Crée un compartiment S3 nommé pour contenir votre application Web. Crée une table DynamoDB nommée VoteApp pour enregistrer les votes Crée une table DynamoDB nommée VoteAppAggregates pour regrouper les totaux des votes Crée une fonction Lambda qui permet à votre application de recevoir des votes Crée une fonction Lambda qui permet à votre application d'agréger les votes Crée un rôle et une stratégie AWS Identity and Access (IAM) pour permettre aux fonctions Lambda d'écrire sur les journaux Amazon CloudWatch et d'écrire et d'interroger les tables DynamoDB
  22. L'architecture de référence de traitement de fichiers en temps réel est une architecture de traitement de données parallèle, événementielle et événementielle qui utilise AWS Lambda. Cette architecture est idéale pour les charges de travail qui nécessitent plus d'une dérivée de données d'un objet. Cette architecture simple est décrite dans la publication du blog "Fanout S3 Event Notifications to Multiple Endpoints" sur AWS Compute Blog. Cet exemple d'application démontre une application de conversion Markdown où Lambda est utilisé pour convertir des fichiers Markdown en HTML et en texte brut.
  23. Reduced operational cost: coût infra (economie d’echelle par les providers) coût employées (ops : utilisation des services managés) Reduced dev cost: Exemple Authentification Exemple base de données pour applicaiton mobile avec communication direct Scaling cost: on paie ce que l’on consomme exemple d’économie : utilisation occasionnelle d’une fonction Optimization: optimisation du code 1s > 200ms = 80% d’économie Greener computing: cloud providers gèrent leur propre ferme d’instances et peuvent ainsi optimiser la répartition des charges au lieu d’avoir de la change non utilisé
  24. vendor lock-in: dépendance forte vers le fournisseurs de services (migration ?) pas de langage commun (spécifications) contraintes d’utilisation des ressources d’un provider (ex API Gateway + Lambda) migration code (pas meme interface entre providers) Security Multitenant et partage d’instance (accès aux données d’autres clients) périmètre d’action et empreinte de la solution sur internet (+ grande + grand % d’attaque) hétérogénéité des applicatifs et des règles de sécurité accès DB via API, perte barrière de protection d’une app traditionnelle Server optimizations pas de possibilité de customization (ok pour 99% des cas et bad pour 1%)
  25. 2 visions : Point de vue API (Chalice) et point de vue Infra (Serverless)
  26. 2 visions : Point de vue API (Chalice) et point de vue Infra (Serverless) Déployer automatiquement vos fonctions et gérer les sources d’événement pour pouvoir interagir avec elles Exemple concret du helloworld en live Modification du serverless.yml pour event API Gateway Test simple snas api type S3 Kinesis etc, donc soit vous avez ça en local soit utilisez resources de tests AWS - http: path: hello method: get
  27. Orienté API pas d’intégration avec CloudFormation ni de création de sources d’évênement. Auto création policy IAM selon appels SDK AWS dans fonction (ex : S3, Kinesis etc) Attention supporte pas encore la suppression des ressources
  28. Orienté API pas d’intégration avec CloudFormation ni de création de sources d’évênement.
  29. Bilan sur avantages inconvénients Beaucoup de simplification et d’avantages mais pas magique Forte dépendance au Cloud provider Bien étudier les usecases avant de partir tête baissé (event based) Pas assez mature (lambda existe depuis 2ans) mais avenir radieux, nouvelle communauté dynamique