Developers are excited about serverless computing, and rightfully so. With serverless, developers can spend more time writing code and less time worrying about, you guessed it, servers! But is serverless the right abstraction for every workload? How does serverless differ from an application platform? And despite the name, there need to be servers somewhere … Who’s managing them?
Join us for a look at serverless computing and what it means for both developers and operations teams in the enterprise. In this webinar, Guest Speaker Forrester VP and Principal Analyst John Rymer and Pivotal’s Mark Fisher will cover:
- What serverless is (and what it isn’t)
- The current serverless open source and market landscapes
- How serverless fits into modern application infrastructure
- What workloads are best suited to serverless (and which aren’t)
- Advice to developers (and operations teams) for getting started with serverless
Presenters : Mark Fisher, Pivotal and John Rymer, Forrester
2. What we’ll cover
today
Definitions, mapping to what you’re
doing now, useful next steps
• Review research about current IT trends
• Defining serverless and functions-as-a-service
• Today’s landscape
• How serverless maps to existing priorities
• Workload for serverless platforms
• Where Knative, project riff and Pivotal Function
Service (PFS) come in
• Getting started
7. So what does it mean to be “serverless”?
“Serverless is an approach to development that removes their
need to care about servers: provisioning, setting up,
configuring, or otherwise interacting with them. Beyond that,
the name connotes a new architectural approach and
operating principles.”
“Demystifying Serverless Computing”, Jan 2018, Forrester Research
9. Is serverless a real
change?
Yes, legitimate changes to how you
think about software.
• New development approach. Tightly scoped,
event-driven, composable pieces.
• New operational approach. Little to no
infrastructure management, zero consumption
during idle periods, fully metered billing.
• New business opportunities. Return your
team’s focus to business logic, build and utilize
marketplaces, quickly stitch together cloud-
based systems.
10. Serverless applies to your existing priorities.
Microservices
Functions are one
realization of the
microservices pattern.
It’s a natural fit for many
APIs too.
DevOps
Teams organize around
functions and focus on
running their function-
infused services.
Continuous
delivery
Get code to production
quickly. Decomposed
systems mean regular
updates.
Event-driven
architecture
Adopt a reactive, push-
based model that’s
foundational to
functions.
Mobile computing
Functions lend
themselves to things like
notifications and
gracefully handling
bursty lookups.
AI/ML
Increasingly, functions
look like an option for
training models or using
models for fast results.
13. The landscape today is … fragmented.
AWS Lambda
Microsoft Azure Functions
Google Cloud Functions
Auto0 webtask
CloudFlare Workers
Hosted function-as-a-service
platforms
Serverless Framework
Spring Cloud Function
Frameworks for building and
deploying functions
Knative
Apache OpenWhisk
Kubeless
OpenFaaS
Fission
Fn
Installable platforms
14. There are things
to watch out for.
Be excited, but understand the
immaturity in the market
• How are you going to connect functions together
into a system?
• What to do with existing software that’s neither
event-driven or decomposable into functions?
• How do you monitor and trace a mesh of
functions?
• What’s the right way to track dependencies and
keep functions secure?
• How are your datastores co-evolving to deal with
more ephemeral, stateless services?
• Where should you couple to proprietary cloud
services versus find something portable?
• What ”works” when you have a dozen functions,
and collapses when you have 250?
15. Use cases and Pivotal
Function Service
When to use serverless, and what is PFS offering?
16. Three categories of use cases
Event-based Integration
● Scheduled tasks, ETL
● File processing e.g.
images and videos
● Complex Event Processing
and Change Data Capture
● Monitoring, notifications
and alerting
● Custom auth e.g. via API
Gateway
Large Scale Data
Processing
● e.g. pyWren map/reduce
● IoT streams
● Log ingestion
● Machine Learning
● Stateful Stream
Processing
Web Events
● Website back-end
services like form post
handlers
● Back-end data services
for mobile and web apps
e.g GraphQL
● Webhook handlers
● CI/CD automation
● Chat integrations
● Digital assistant services
e.g. Alexa skills
17. Google Cloud Next - July 2018
Community-driven
ecosystem of
Sources,
Channels,
Functions,
Invokers,
BuildTemplates,
etc.
Kubernetes
BuildTemplates
Channels
CLI
Invokers
CLI
Invokers
Build
Topics
Betting our Faas Future on Knative
18. riff on Knative
We have re-architected the riff
core, collaborating on a new
pub/sub design for Knative.
★ New riff CLI
★ Installs Knative
★ Uses Knative serving, build, and eventing
★ Provides in-cluster builds with buildpacks
19. Functions as a new developer abstraction
Developers are responsible
only for the business logic.
Dependencies in base image
layers can be managed
independently.
• simpler
• more secure
• more efficient
Function
Invoker
Function Code
Container Base Image
Function Layer
20. Functions subscribe to event sources through channels
Pub/sub channels provide
loose coupling.
Enable message consumers
and producers to operate
without prior knowledge of
each other.
Enable a rich set of patterns
beyond request/reply E.g.
reactive streams.
Publish to
Subscriptions
Messaging
Service
Channel
Function
Function
Svc
22. Call to Action
● Check out the latest Forrester research on serverless computing
● Download and try out project riff
● Start using Spring Cloud (Stream and Function)
● Watch videos from recently-concluded SpringOne Platform:
○ Knative, riff, and Pivotal Function Service (keynote)
○ Spring, Functions, Serverless, and You
○ Building Responsive Systems with Serverless, Event-driven Java
○ Securing Spring Functions By Breaking In