6. What is PaaS?
• Platform as a Service
• Platform and environment to allow developers to build applications
and services
• Simply accessible via their web browser
6
9. How does it work?
• Creation of Software Applications
• Pay-per-use
• Choice of features
• Management and support
• Automatic upgrades
9
10. Benefits to Application Developers
• No investment in physical infrastructure
• Make development possible for ‘non-experts’
• Flexibility & Adaptability
• Teams in various location can work together
• Security
10
11. PaaS in Azure
11
Hosted
applications/apps
Operating systems Servers and
storage
Networking
firewalls/security
Data center
physical
plant/building
Development
tools, database
management,
business analytics
12. Common PaaS scenarios
• Development framework
• Analytics or business intelligence
• Additional service
12
13. PaaS in Azure
• Web Apps
• Mobile Apps
• Logic Apps
• Functions
• Web Jobs
13
14. Advantages of PaaS in Azure
• Cut coding time
• Add development capabilities without adding staff
• Develop for multiple platforms—including mobile—more easily
• Use sophisticated tools affordably
14
17. Function-as-a-Service (FaaS) = Serverless
• The costs are typically based on the required computation time
• No traffic hiting the endpoints = no costs are generated
• Well-designed application -> adjust to peaks in use at a rapid rate
with costs remaining linear in scale
17
18. Usage Examples of Serverless Architecture
• IoT
(Weather stations)
• Data processing
(Image Manipulation)
18
19. Usage Examples of Serverless Architecture
• Web Applications
(Dashboards)
• Chatbots
(Event-Driven Architecture
for Chatbots)
19
26. Working with Multiple FaaS Providers
First Release 2014 Feb. 2016 Mar. 2016
Scalability Automatic Automatic Manual or Metered
or Sub-second automatic scaling
Max # of functions Unlimited functions 1000 / project Unlimited functions
Concurrent executions 1000 parallel executions / account
/ region (soft limit)
No limit No limit
Max execution 300 sec (5 min) 540 seconds (9 minutes) 300 sec (5 min)
Supported languages JavaScript, Java, C#, and Python Only JavaScript C#, JavaScript, F#, Python, Batch,
PHP, PowerShell
Dependencies Deployment Packages npm package.json Npm, NuGet
HTTP(S) invocation API Gateway HTTP trigger HTTP trigger
Orchestration AWS Step Functions Not yet Azure Logic Apps
Pricing 1M requests for free, then
$0.20/1M invocations, plus
$0.00001667/GB-sec
1M requests for free, then
$0.40/1M invocations, plus
$0.00000231/GB-sec
1 million requests for free, then
$0.20/1M invocations, plus
$0.000016/GB-s
NB: http://serverlesscalc.com/
26
30. FaaS Vs. PaaS
• PaaS simplifies the deployment process of applications.
• When deployed as PaaS, an application is typically running on at least
on the server at all times.
• FaaS provides the ability to deploy a single function or part of an
application and is designed to potentially be a serverless architecture.
• Both provide the ability to easily deploy an application and scale it,
without having to provision or configure servers.
30
35. Do it by yourself!
35
• Retrieve the code in Edwige’s github :
https://github.com/EdwigeSeminara/HandsOnLabDataAI (part 4)
• Feel free to customize it
37. … and with Azure FaaS
• Same steps and same code
• In « Azure function » template
• Runs as Task
• Triggered when something is posted to the bot
37
38. … and with Azure FaaS
• Publication on Azure generate a function app:
38
39. … and with Azure FaaS
• Publication on Azure generate a function app:
39
40. … and with Azure FaaS
• Finally, get the function URL:
40
41. To summarize…
• World full of possibilities
• Pros and cons for both
• Depends on
• What: project and use cases
• How much: budget
• Who: technical skills of teams and people
41