Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
2018-06-22-RomaniaPHP-Introduction-to-Serverles...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Rob Allen
June 10, 2018
330
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
2018-06-22-RomaniaPHP-Introduction-to-Serverless-PHP.pdf
Rob Allen
June 10, 2018
More Decks by Rob Allen
See All by Rob Allen
Introduction to Serverless PHP
akrabat
0
110
HTTP & Middleware
akrabat
0
510
5 Features of a Good API
akrabat
1
580
The Serverless Way
akrabat
2
300
Introducing OpenWhisk
akrabat
1
450
The Serverless Way
akrabat
1
400
Introduction to Serverless PHP
akrabat
0
850
Writing APIs in Lumen
akrabat
0
810
Test
akrabat
0
140
Featured
See All Featured
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.4k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
HDC tutorial
michielstock
2
860
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
240
Building Adaptive Systems
keathley
44
3.2k
Crafting Experiences
bethany
1
310
Heart Work Chapter 1 - Part 1
lfama
PRO
8
36k
Building Applications with DynamoDB
mza
96
7.2k
Designing Powerful Visuals for Engaging Learning
tmiket
1
540
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
590
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
520
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
Transcript
Introduction to Serverless PHP Rob Allen June 2018
Deployment options 1. Physical servers 2. Virtual machines 3. Containers
Rob Allen ~ @akrabat
Container deployments 1. Platform (e.g. Kubernetes) 2. Application (e.g. Cloud
Foundry) 3. Serverless (e.g. OpenWhisk) Rob Allen ~ @akrabat
Serverless? The first thing to know about serverless computing is
that "serverless" is a pretty bad name to call it. - Brandon Butler, Network World Rob Allen ~ @akrabat
AKA: Functions as a Service • A runtime to execute
your functions • No capacity planning or load balancing; just tasks being executed. • Pay for execution, not when idle Rob Allen ~ @akrabat
Use-cases Synchronous Service is invoked and provides immediate response (HTTP
requests: APIs, chat bots) Asynchronous Push a message which drives an action later (web hooks, timed events, database changes) Streaming Continuous data flow to be processed Rob Allen ~ @akrabat
Benefits • No need to think about servers • Concentrate
on application code • Pay only for what you use, when you use it • Language agnostic: NodeJS, Swift, Python, Java, C#, etc Rob Allen ~ @akrabat
Challenges • Start up latency • Time limit • State
is external • DevOps is still a thing Rob Allen ~ @akrabat
It's about value Rob Allen ~ @akrabat
When should you use serverless? • Occasional server needs on
a static site • Variable traffic levels • Additional compute without extending current platform • Responding to web hooks Rob Allen ~ @akrabat
Serverless providers Rob Allen ~ @akrabat
OpenWhisk Rob Allen ~ @akrabat
OpenWhisk OpenSource; multiple providers: IBM RedHat Adobe (for Adobe Cloud
Platform APIs) &, of course, self-hosted Rob Allen ~ @akrabat
Invoking an action Rob Allen ~ @akrabat
Serverless PHP Rob Allen ~ @akrabat
Hello world in PHP Rob Allen ~ @akrabat
Hello world in PHP Rob Allen ~ @akrabat
Running your action $ wsk action update hello hello.php ok:
updated action hello $ wsk action invoke hello --result { "msg": "Hello World" } Rob Allen ~ @akrabat
Dependencies Zip them up $ zip -r hello.zip hello.php vendor
$ wsk action update hello hello.zip --kind php:7.1 Rob Allen ~ @akrabat
Web access Add the --web flag: $ wsk action update
hello hello.php --web true $ curl https://openwhisk.ng.bluemix.net/api/v1/web/ \ 19FT_demo/default/hello.json Rob Allen ~ @akrabat
What to do in your action • Compute! • Store
to database • Make API calls to other services • Store to cloud storage (S3) • Trigger other actions Rob Allen ~ @akrabat
Demo time! Rob Allen ~ @akrabat
To sum up Rob Allen ~ @akrabat
Resources • http://www.openwhisk.org • https://medium.com/openwhisk • https://github.com/akrabat/ow-php-ftime • https://www.martinfowler.com/articles/serverless.html Rob
Allen ~ @akrabat
Questions? Rob Allen ~ @akrabat
Thank you! Rob Allen ~ @akrabat