Professional Documents
Culture Documents
DOI:10.1145/ 3368454
applications, largely due to the recent
The server is dead, long live the server. shift of enterprise application archi-
tectures to containers and microser-
BY PAUL CASTRO, VATCHE ISHAKIAN, vices.23 Using serverless gives pay-as-
you-go without additional work to start
VINOD MUTHUSAMY, AND ALEKSANDER SLOMINSKI
and stop server and is closer to original
The Rise of
expectations for cloud computing to
be treated like as a utility.2 Develop-
ers using serverless computing can get
cost savings and scalability without
Serverless
needing to havea high level of cloud
computing expertise that is time-con-
suming to acquire.
Due to its simplicity and economi-
cal advantages, serverless computing
Computing
is gaining popularity as reported by
the increasing rate of the “serverless”
search term by Google Trends. Its mar-
ket size is estimated to grow to 7.72 bil-
lion by 2021.10 Most prominent cloud
providers including Amazon, IBM,
Microsoft, Google, and others have al-
ready released serverless computing
capabilities with several additional
open source efforts driven by both in-
CL OUD COM PU T I NG I Ngeneral, and Infrastructure- dustry and academic institutions (for
example, see CNCF Serverless Cloud
as-a-Service (IaaS) in particular, have become widely Native Landscapea).
accepted and adopted paradigms for computing with From the perspective of an IaaS cus-
the offerings of virtual machines (VM) on demand. By tomer, the serverless paradigm shift
presents both an opportunity and a
2020, 67% of enterprise IT infrastructure and software risk. On the one hand, it provides de-
spending will be for cloud-based offerings.16 velopers with a simplified program-
ming model for creating cloud appli-
A major factor in the increased adoption of the cations that abstracts away most, if
cloud by enterprise IT was its pay-as-you-go model
where a customer pays only for resources leased a https://s.cncf.io/
from the cloud provider and have the ability to get key insights
as many resources as needed with no up-front cost
˽˽ Serverless computing takes the original
(elasticity).2 Unfortunately, the burden of scaling was promises of cloud computing and
delivers true pay only for resources
left for developers and system designers that typically used with almost infinite scalability
used overprovisioning techniques to handle sudden while hiding the details of how servers
are used and maintained.
surges in service requests. Studies of reported usage ˽˽ Serverless computing is a new cloud
of cloud resources in datacenters19 show a substantial computing paradigm with enormous
economic growth potential.
ILLUSTRATION BY PETER BOLLINGER
gap between the resources that cloud customers ˽˽ Serverless computing allows the
allocate and pay for (leasing VMs), and actual resource developer to focus on developing
business logic and gives the cloud
utilization (CPU, memory, and so on). provider additional control over
optimizing resources.
Serverless computing is emerging as a new and ˽˽ There are many technical challenges
compelling paradigm for the deployment of cloud and opportunities for research.
not all, operational concerns. They no This cost model is very attractive to
longer have to worry about availabil- workloads that must run occasion-
ity, scalability, fault tolerance, over/ ally; serverless essentially supports
underprovisioning of VM resources, “scaling to zero” and avoid need to
managing servers, and other infra-
structure issues. Instead, they can fo- One of the major pay for idle servers. The big chal-
lenge for cloud providers is the need
cus on the business aspects of their
applications. The paradigm also low-
challenges slowing to schedule and optimize cloud re-
sources.
ers the cost of deploying cloud code the adoption ˲˲ Elasticity—scaling from zero to “in-
by charging for execution time rather
than resource allocation. On the oth-
of serverless is finity.” Since developers do not have
control over servers that run their code,
er hand, deploying such applications the lack of tools nor do they know the number of serv-
in a serverless platform is challenging
and requires relinquishing design de-
and frameworks. ers their code runs on, decisions about
scaling are left to cloud providers.
cisions to the platform provider that Developers do not need to write auto-
concern, among other things, quality- scaling policies or define how machine-
of-service (QoS) monitoring, scaling, level usage (CPU, memory, and so on)
and fault-tolerance properties. There translates to application usage. Instead
is a risk an application’s require- they depend on the cloud provider to
ments may evolve to conflict with the automatically start more parallel ex-
capabilities of the platform. ecutions when there is more demand
From the perspective of a cloud for it. Developers also can assume the
provider, serverless computing is an cloud provider will take care of main-
additional opportunity to control the tenance, security updates, availability
entire development stack, reduce and reliability monitoring of servers.
operational costs by efficient optimi- Serverless computing today typi-
zation and management of cloud re- cally favors small, self-contained units
sources, offer a platform that encour- of computation to make it easier to
ages the use of additional services in manage and scale in the cloud. A com-
their ecosystem, and lower the effort putation, which can be interrupted
required to author and manage cloud- or restarted, cannot depend on the
scale applications. cloud platform to maintain its state.
This inherently influences the server-
Defining Serverless Computing less computing programming models.
Serverless computing can be defined There is, however, no equivalent no-
by its name—less thinking (or caring) tion of scaling to zero when it comes
about servers. Developers do not need to state, since a persistent storage
to worry about low-level details of serv- layer is needed. However, even if the
ers management and scaling, and only implementation of a stateful service
pay for when processing requests or requires persistent storage, a provider
events. We define serverless as follows: can offer a pay-as-you-go pricing mod-
Serverless computing is a platform el that would make state management
that hides server usage from developers serverless. We are seeing providers re-
and runs code on-demand automatically leasing services that stretch the defini-
scaled and billed only for the time the tion of serverless, and the definition
code is running. may evolve over time. For example,
This definition captures the two key Amazon Aurora is a “serverless” data-
features of serverless computing: base service, which supports powerful
˲˲ Cost—billed only for what is run- auto-scaling capabilities but requires
ning (pay-as-you-go). As servers and minimum memory and CPU alloca-
their usage is not part of serverless tions and hence does not scale to zero
computing model, then it is natu- and has ongoing costs.b
ral to pay only when code is running The most natural way to use server-
and not for idle servers. As execution less computing is to provide a piece
time may be short, then it should be of code (function) to be executed by
charged in fine-grained time units the serverless computing platform.
(like hundreds of milliseconds) and It leads to the rise of Function-as-a-
developers do not need to pay for service (FaaS) platforms focused on
overhead of servers creation or de-
structions (such as VM booting time). b https://aws.amazon.com/rds/aurora/serverless/
allowing small pieces of code repre- follows:c “A serverless solution is one deployment. Furthermore, serverless
sented as functions to run for limited that costs you nothing to run if nobody builds upon long-running trends and
amount of time (at most minutes), is using it (excluding data storage).” advances in both distributed systems,
with executions triggered by events or This definition highlights the most publish-subscribe systems, and event-
HTTP requests (or other triggers), and important characteristic of serverless driven programming models,12 includ-
not allowed to keep persistent state computing—pays-as-you-go. It assumes ing actor models,1 reactive program-
(as function may be restarted at any serverless computing is a subset of cloud ming,4 and active database systems.25
time). By limiting time of execution computing so auto-scaling is included Serverless platforms can be con-
and not allowing functions to keep and developers have no access to serv- sidered an evolution of Platform-as-
persistent state FaaS platforms can ers. CNCF and our definitions empha- a-Service (PaaS) as provided by plat-
be easily maintained and scaled by size not only pay-as-you-go or “scale to forms such as Cloud Foundry, Heroku,
service providers. Cloud providers can zero” aspects, but also the lack of need and Google App Engine (GAE). PaaS
allocate servers to run code as needed to manage servers. was defined by NISTe as “the capa-
and can stop servers after functions Another way to define serverless bility provided to the consumer is to
finish as they run for limited amount computing is by what functionality it deploy onto the cloud infrastructure
of time. If functions must maintain enables. Such an approach emphasizes consumer-created or acquired ap-
state, then they can use external ser- “serverless is really about the managed plications created using program-
vices to persist their state. services” and FaaS can be treated as ming languages and tools supported
FaaS is an embodiment of serverless cloud “glue,” as described by Steven by the provider. The consumer does
computing principles, which we define Faulkner (a senior software engineer not manage or control the underlying
as follows: at LinkedInd). It is “glue” that joins ap- cloud infrastructure including net-
Function-as-a-Service is a serverless plications composed of cloud services. work, servers, operating systems, or
computing platform where the unit of Such a definition addresses only a nar- storage, but has control over the de-
computation is a function that is execut- row set of use cases where serverless ployed applications and possibly ap-
ed in response to triggers such as events computing is used, while our defini- plication hosting environment con-
or HTTP requests. tion captures the important use cases, figurations.” In this definition, users
Our approach to defining server- which we will highlight in the accom- are expected to manage deployments
less is consistent with emerging panying sidebars. of applications and have control over
definitions of serverless from indus- All definitions share the observa- hosting environment configurations.
try. For example, Cloud Native Com- tion that the name ‘serverless com- Serverless FaaS, when compared to
puting Foundation (CNCF) defines puting’ does not mean servers are not this definition of PaaS, is removing user
serverless computing11 as “the con- used, but merely that developers can control over hosting to provide sim-
cept of building and running appli- leave most operational concerns of pler scaling and more attractive billing
cations that do not require server managing servers and other resources, model: the cloud provider controls the
management. It describes a finer- including provisioning, monitoring, hosting environment’s configuration,
grained deployment model where maintenance, scalability, and fault-tol- runs user-provided code only when it is
applications, bundled as one or erance to the cloud provider. invoked, and only bills for actual usage
more functions, are uploaded to a while hiding the complexity of scaling
platform and then executed, scaled, History and Related Work (in practice implementing auto-scaling
and billed in response to the exact The term ‘serverless’ can be traced to in PaaS is not easy and it is very difficult
demand needed at the moment.” its original meaning of not using servers to scale to zero). That is a significant
While our definition is close to the and typically referred to peer-to-peer change when compared to the previous
CNCF definition, we make a distinc- (P2P) software or client-side only solu- generation of PaaS (which could be con-
tion between serverless computing tions.28 In the cloud context, the cur- sidered first generation of PaaS) and it is
and providing functions as a unit of rent serverless landscape was intro- very attractive for PaaS users that do not
computation. As we discuss in the duced during an AWS re:Invent event need to pay for idle resources and avoid
research challenges section, it is in 2014.3 Since then, multiple cloud managing auto-scaling rules.
possible that serverless computing providers, industrial, and academic The main differentiators of server-
will expand to include additional institutions have introduced their own less platforms is transparent autoscal-
aspects that go beyond today’s rel- serverless platforms. Serverless seems ing and fine-grained resource charg-
atively restrictive stateless func- to be the natural progression following ing only when code is running. That
tions into possibly long-running recent advancements and adoption of should not to be confused with free-
and stateful execution of larger VM and container technologies, where usage quota, where limited monthly
compute units. However, today each step up the abstraction layers led resource quota is available, but count-
serverless and FaaS are often used to more lightweight units of computa- ed even if the application is not used.
interchangeably as they are close in tion in terms of resource consumption, For example, GAE Standard is priced in
meaning and FaaS is the most popu- cost, and speed of development and “instance hours”f and even if the app is
lar type of serverless computing.
Paul Johnston (co-founder of c http://bit.ly/2G3Hp1R e http://bit.ly/2lXCgkI
ServerlessDays) defined serverless as d http://bit.ly/2xzNEWB f http://bit.ly/2kuqZbh
not used the instance is kept running. code, however, was typically limited to els of developer control over the infra-
Later, GAE added Flexible version mobile use cases. structure. In an IaaS model, the devel-
with a more fine-grained billing unit, Software-as-a-Service (SaaS) may oper has much more control over the
but still developers will be billed even support the server-side execution of resources, but is responsible for man-
if server is not used. That can lead to user-provided functions, but they are aging both the application code and
unexpected outcomes when the bill ar- executing in the context of an applica- operating the infrastructure. This gives
rives at the end of month for forgotten tion and hence limited to the applica- the developer great flexibility and the
test services.g tion domain. Some SaaS vendors allow ability to customize every aspect of the
Mobile Backend as-a-Service (MBaaS) the integration of arbitrary code hosted application and infrastructure, such
or more generalized Backend as-a- somewhere else and invoked via an API as administering VMs, managing ca-
Service (BaaS) bears a close resem- call. For example, this is approach is pacity and utilization, sizing the work-
blance to serverless computing. Some used by the Google Apps Marketplace loads, achieving fault tolerance and
of those services even provided “cloud in Google Apps for Work. high availability. PaaS abstracts away
functions” (for example, Facebook’s The boundaries defining serverless VMs and takes care of managing un-
now-defunct Parse Cloud Code). Such computing functionality overlaps with derlying operating systems and capac-
PaaS and SaaS. One way to categorize ity, but the developer is responsible for
g https://stackoverflow.com/questions/47125661/ serverless is to consider the varying lev- the full life cycle of the code that is de-
Edge Master
Worker
'Hello World'};
Dispatcher
} code
API Gateway
ployed and run by the platform, which Figure 2. A function written in JavaScript.
does not scale down to zero. SaaS rep-
resent the other end of the spectrum
where the developer has no control function main(params, context) {
over the infrastructure, and instead get return {payload: 'Hello, ' + params.name
access to prepackaged components. + ' from ' + params.place};
The developer is allowed to host code }
there, though that code may be tightly
coupled to the platform. BaaS is simil-
iar to SaaS in that the functionality is
targeting specific use cases and com- Table 2. Real-world applications that use serverless computing.
ponents, for example, MBaaS provide
backend functionality needed for mo-
Where is serverless
bile development such as managing used? What do they use serverless computing for?
push notifications, and when it allows Aegex Xamarin application that customers can use to monitor real-time sensor
developer to run code it is within that data from IoT devices.a
backend functionality (see Table 1). Abilisense Manages an IoT messaging platform for people with hearing difficulties.
They estimated they could handle all the monthly load for less than
Architecture $15 a month.b
The core functionality of a FaaS frame- A Cloud Guru Uses functions to perform protected actions such as payment processing
and triggering group emails. In 2017 they had around 200K users and
work is simply that of an event pro- estimated $0.14 to deliver video course to a user.c
cessing system, as shown in Figure 1. Coca-Cola Serverless Framework is a core component of The Coca-Cola Company's
The service manages a set of user de- initiative to reduce IT operational costs and deploy services faster.d One
fined functions (a.k.a actions). Once a particular use case is the use of serverless in their vending machine and
request is received over HTTP from an loyalty program, which managed to have 65% cost savings at 30 million hits
per month.e
event data source (a.k.a. triggers), the
Expedia Expedia did "over 2.3 billion Lambda calls per month" back in December
system determines which action(s) 2016. That number jumped 4.5 times year-over-year in 2017 (to 6.2 billion
should handle the event, create a new requests) and continues to rise in 2018.f Example applications include
container instance, send the event to integration of events for their CI/CD platforms, infrastructure governance
and autoscaling.g
the function instance, wait for a re-
Glucon Serverless mobile backend to reduce client app code size and avoid
sponse, gather execution logs, make
disruptions.h
the response available to the user, and
Heavywater Inc Runs Website and training courses using serverless (majority of cost per
stop the function when it is no longer user is not serverless but storage of video). Serverless reduced their costs
needed. by 70%.i
The abstraction level provided by iRobot Backend for iRobot products.j
FaaS is unique: a short-running state- Postlight Mercury Web Parser is a new API from Postlight Labs that extracts
less function. This has proven to be meaningful content from Web page s. Serving 39 million requests for
$370/month, or: How We Reduced Our Hosting Costs by Two Orders of
both expressive enough to build useful Magnitude.k
applications, but simple enough to al- PyWren Map-reduce style framework for highly parallel analytics workloads.l
low the platform to autoscale in an ap- WeatherGods A mobile weather app that uses serverless as backend.m
plication agnostic manner. Santander Bank Electronic check processing. Less than $2 to process all paper checks
While the architecture is relatively within a year.n
simple, the challenge is to implement Financial Engines Mathematical calculations for evaluation and optimization of investment
such functionality while considering portfolios. 94% savings on cost approximately 110K annually.o
metrics such as cost, scalability, laten-
cy, and fault tolerance. To isolate the a http://bit.ly/2XCas2J
execution of functions from different b https://thenewstack.io/ibms-openwhisk-serverless/
users in a multitenant environment, c https://gotochgo.com/2017/sessions/61
container technologies,9 such as Docker, d http://bit.ly/2xCWYsO
e https://aws.amazon.com/serverless/videos/video-lambda-coca-cola/
are often used.
f http://bit.ly/2JktVAR
Upon the arrival of an event, the g https://www.youtube.com/watch?v=gT9x9LnU_rE
platform proceeds to validate the event h http://bit.ly/2lyLaoOs
ensuring it has the appropriate au- i http://bit.ly/2xzYE6t
thentication and authorization to ex- j https://aws.amazon.com/solutions/case-studies/irobot/
ecute. It also checks the resource lim- k http://bit.ly/2YQcUni
l http://pywren.io/
its for that particular event. Once the
m https://thenewstack.io/ibms-openwhisk-serverless/
event passes validation, the platform n http://bit.ly/2YHtsxY
the event is queued to be processed. A o https://aws.amazon.com/solutions/case-studies/financial-engines/
worker fetches the request, allocates
the appropriate container, copies over
Event Processing
vocations, maximum execution dura-
tion of a request) of these platforms
are relatively the same, the limits as set
One class of applications that exemplify the use of serverless is event-based by each cloud provider are different.
programming. The following use case shows an example of a bursty, compute-intensive
Note the limits on these properties are
workload popularized by AWS Lambda, and has become the “Hello, World” of
serverless computing. It is a simple image-processing event handler function. a moving target and are constantly
Netflix uses serverless functions to process video files (https://amzn.to/2xMtwAt). changing as new features and optimi-
The videos are uploaded to Amazon S3,23 which emits events that trigger Lambda zations are adopted by cloud provid-
functions that split the video and transcode them in parallel to different formats. The ers. Evaluating the performance of dif-
flow is depicted in the figure here.
The function is completely stateless and idempotent, which has the advantage that ferent serverless platforms to identify
in the case of failure (such as network problems accessing the S3 folder), the function the trade-offs has been a recent topic
can be executed again with no side effects. of investigation,17,20,26 and recent
While the example here is relatively simple, by combining serverless functions with benchmarks have been developed to
other services from the cloud provider, more complex applications can be developed,
for example, stream processing, filtering and transforming data on the fly, chatbots, compare the serverless offering by the
and Web applications. different cloud providers.h
Stateful serverless: Current serverless examples of how developers are using cncf/wg-serverless#whitepaper
12. Etzioni, O. and Niblett, P. Event Processing in Action.
platforms are mostly stateless, and it is serverless to come up with new solu- Manning Publications Co., Greenwich, CT, 2010.
an open question if there will be inher- tions and applications. 13. Fouladi, S., Wahby, R.S., Shacklett, B.,
Balasubramaniam, K., Zeng, W., Bhalerao, R.,
ently stateful serverless applications in Sivaraman, A., Porter, G. and Winstein, K. Encoding,
the future with different degrees of QoS Conclusion fast and slow: Low-latency video processing using
thousands of tiny threads. NSDI (2017), 363–376
without sacrificing the scalability and Serverless computing is an evolution 14. Fox, G.C., Ishakian, V., Muthusamy, V. and Slominski,
fault-tolerance properties. in cloud application development, ex- A. Status of Serverless Computing and Function-as-
a-Service (FaaS) in Industry and Research. Technical
Service-level agreements (SLA): emplified by the Function-as-a-Service Report; arXiv:1708.08028, 2017
15. Hendrickson, S., Sturdevant, S., Harter, T., Venkataramani, V.,
Serverless computing is poised to model where users write small func- Arpaci-Dusseau, A.C., Arpaci-Dusseau, R.H. Serverless
make developing services easier, but tions, which are then managed by the computation with openlambda. In Proceeding of the 8th
USENIX Workshop on Hot Topics in Cloud Computing
providing QoS guarantees remains cloud platform. This model has proven (Denver, CO, USA, June 20–21, 2016).
difficult.17,27 While the serverless plat- useful in a number of application sce- 16. IDC. IDC FutureScape: Worldwide IT Industry 2017
Predictions. IDC #US41883016, 2016.
form needs to offer some guarantees narios ranging from event handlers 17. Ishakian, V., Muthusamy, V. and Slominski, A. Serving
of scalability, performance, and avail- with bursty invocation patterns, to deep learning models in a serverless platform. In
Proceedings of the IEEE Intern. Conf. on Cloud
ability, this is of little use if the ap- compute-intensive big data analytics. Engineering, 2018
plication relies on an ecosystem of Serverless computing lowers the bar 18. Jonas, E., Pu, Q., Venkataraman, S., Stoica, I. and
Recht, B. Occupy the cloud: Distributed computing for
services, such as identity providers, for developers by delegating to the the 99%. In Proceedings of the 2017 Symp. on Cloud
messaging queues, and data persis- platform provider much of the opera- Computing.
19. Kilcioglu, C. Rao, J.M. Kannan, A. and McAfee, R.P.
tence, which are outside the control tional complexity of monitoring and Usage patterns and the economics of the public cloud.
of the serverless platform. To provide scaling large-scale applications. How- In Proceedings of the 26th Intern. Conf. World Wide
Web, 2017
certain QoS guarantees, the server- ever, the developer now needs to work 20. Lee, H., Satyam, K. and Fox, G.C. Evaluation of
less platform must communicate the around limitations on the stateless na- production serverless computing environments.
In Proceedings of IEEE Cloud Conf. Workshop on
required QoS requirements to the de- ture of their functions, and understand Serverless Computing (San Francisco, CA, 2018).
21. Leitner, P., Wittern, E., Spillner, J. and Hummer, W.
pendent components. Furthermore, how to map their application’s SLAs to A mixed-method empirical study of Function-as-a-
enforcement may be needed across those of the serverless platform and Service software development in industrial practice;
https://peerj.com/preprints/27005
functions and APIs, through the care- other dependent services. While many 22. Lin, W-T, Krintz, C., Wolski, R., Zhang, M., Cai, X., Li,
ful measurement of such services, ei- challenges remain, there have been T. and Xu, W. Tracking causal order in AWS lambda
applications. In Proceedings of the IEEE Intern. Conf.
ther through a third-party evaluation rapid advances in the tools and pro- on Cloud Engineering, 2018.
system, or self-reporting, to identify gramming models offered by industry, 23. NGINX. NGINX announces results of 2016 future of
application development and delivery survey; http://
the bottlenecks. academia, and open source projects. bit.ly/2YM27e2/.
Serverless at the edge: There is a 24. Oakes, E., Yang, L., Houck, K., Harter, T., Arpaci-
Dusseau, A.C. and Arpaci-Dusseau, R.H. Pipsqueak:
natural connection between server- References Lean Lambdas with large libraries. In Proceedings of
1. Agha, G. An overview of actor languages. In
less functions and edge computing Proceedings of the 1986 SIGPLAN Workshop on Object-
2017 IEEE 37th Intern. Conf. on Distributed Computing
Systems Workshops, 395–400.
as events are typically generated at Oriented Programming, 58–67. ACM, New York, NY. 25. Paton, N.W. and Díaz, O. Active database systems.
2. Armbrust, M. et al. A view of cloud computing. ACM Comput. Surv. 31, 1 (1999), 63–103.
the edge with the increased adoption Commun. ACM 53, 4 (2010), 50–58; https://m.cacm. 26. Wang, L., Li, M., Zhang, Y., Ristenpart, T. and Swift, M.
of IoT and other mobile devices. iRo- acm.org/magazines/2010/4/81493-a-view-of-cloud- Peeking behind the curtains of serverless platforms.
computing/fulltext In Proceedings of USENIX Annual Technical Conf.,
bot’s use of AWS Lambda and step 3. AWS re:invent 2014—(mbl202) new launch: Getting 2018, 133–146. USENIX Association.
functions for image recognition was started with AWS lambda; https://www.youtube.com/ 27. Yan, M., Castro, P., Cheng, P., Ishakian, V. Building a
watch?v=UFj27laTWQA. chatbot with serverless computing. In Proceedings of
described by Barga as an example 4. Bainomugisha, E., Carreton, A.L., . Cutsem, V., the 1st Intern. Workshop on Mashups of Things, 2016.
of an inherently distributed server- Mostinckx, S. and Meuter, W.D. A survey on reactive 28. Ye, W., Khan, A.I. and Kendall, E.A. Distributed
programming. ACM Comput. Surv. 45, 4 (Aug. 2013), network file storage for a serverless (P2P) network.
less application.8 Recently, Amazon 52:1–52:34. In Proceedings of the 11th IEEE Intern. Conf. on
extended its serverless capabilities 5. Baldini, I., Castro, P., Cheng, P., Fink, S., Ishakian, Networks, 2003, 343–347.
V., Mitchell, N., Muthusamy, V., Rabbah, R., Suter, P.
to an edge based cloud environment Cloud-native, event-based programming for mobile
applications. In Proceedings of the Intern. Conf. on
by releasing AWS Greengrass. Con- Mobile Software Engineering and Systems, 2016,
Paul Castro (castrop@us.ibm.com) is a research staff
member at IBM T.J. Watson Research Center in Yorktown
sequently, the code running at the 287–288. ACM, New York, NY. Heights, NY, USA.
6. Baldini, I. et al. Serverless computing: Current trends
edge, and in the cloud may not just and open problems. Research Advances in Cloud Vatche Ishakian (vishakian@bentley.edu) is an assistant
be embedded but virtualized to al- Computing, Springer, 2017, 1–20. professor at Bentley University, Waltham, MA, USA.
7. Baldini, I., Cheng, P., Fink, S.J., Mitchell, N., Muthusamy,
low movement between devices and V., Rabbah, R., Suter, P. and Tardieu, O. The serverless
Vinod Muthusamy (vmuthus@us.ibm.com) is a research
scientist at IBM Research AI in Austin, TX, USA.
cloud. That may lead to specific re- trilemma: Function composition for serverless
computing. In Proceedings of the 2017 ACM SIGPLAN Aleksander Slominski (https://aslom.net) is research
quirements that redefine cost. For Intern. Symp. on New Ideas, New Paradigms, and staff member in the Serverless Group in Cloud Platform,
example, energy usage may be more Reflections on Programming and Software. Cognitive Systems and Services Department at IBM T.J.
8. Barga, R.S. Serverless computing: Redefining the Watson Research Center in Yorktown Heights, NY, USA.
important than speed. cloud [Internet]. In Proceedings of the 1st Intern.
New serverless applications: The Workshop on Serverless Computing (Atlanta, GA, USA,
June 5, 2017); http://www.serverlesscomputing.org/
serverless programming model is in- wosc17/#keynote © 2019 ACM 0001-0782/19/12 $15.00
herently different, but that should be a 9. Bernstein, D. Containers and cloud: From LXC to
Docker to Kubernetes. IEEE Cloud Computing 1, 3
motivation to think about building—or (Sept. 2014), 81–84.
rebuilding—new and innovative solu- 10. Businesswire. $7.72 billion function-as-a-service
market 2017—Global forecast to 2021: Increasing Watch the authors discuss
tions that tap into what it can provide. shift from DevOps to serverless computing to drive this work in the exclusive
the overall Function-as-a-Service market; https:// Communications video.
Pywren,18 ExCamera,13 HPC, numerical bwnews.pr/2G3ZzQY. https://cacm.acm.org/videos/the-
analysis, and AI chatbots are but some 11. CNCF Serverless White Paper; https://github.com/ rise-of-serverless-computing