examples of how developers are using
serverless to come up with new solutions and applications.
Conclusion
Serverless computing is an evolution
in cloud application development, exemplified by the Function-as-a-Service
model where users write small functions, which are then managed by the
cloud platform. This model has proven
useful in a number of application scenarios ranging from event handlers
with bursty invocation patterns, to
compute-intensive big data analytics.
Serverless computing lowers the bar
for developers by delegating to the
platform provider much of the operational complexity of monitoring and
scaling large-scale applications. However, the developer now needs to work
around limitations on the stateless nature of their functions, and understand
how to map their application’s SLAs to
those of the serverless platform and
other dependent services. While many
challenges remain, there have been
rapid advances in the tools and programming models offered by industry,
academia, and open source projects.
References
1. Agha, G. An overview of actor languages. In
Proceedings of the 1986 SIGPLAN Workshop on Object-Oriented Programming, 58–67. ACM, New York, NY.
2. Armbrust, M. et al. A view of cloud computing.
Commun. ACM 53, 4 (2010), 50–58; https://m.cacm.
acm.org/magazines/2010/4/81493-a-view-of-cloud-
computing/fulltext
3. AWS re: invent 2014—(mbl202) new launch: Getting
started with AWS lambda; https://www.youtube.com/
watch?v=UFj27laTWQA.
4. Bainomugisha, E., Carreton, A. L., . Cutsem, V.,
Mostinckx, S. and Meuter, W.D. A survey on reactive
programming. ACM Comput. Surv. 45, 4 (Aug. 2013),
52:1–52: 34.
5. Baldini, I., Castro, P., Cheng, P., Fink, S., Ishakian,
V., Mitchell, N., Muthusamy, V., Rabbah, R., Suter, P.
Cloud-native, event-based programming for mobile
applications. In Proceedings of the Intern. Conf. on
Mobile Software Engineering and Systems, 2016,
287–288. ACM, New York, NY.
6. Baldini, I. et al. Serverless computing: Current trends
and open problems. Research Advances in Cloud
Computing, Springer, 2017, 1–20.
7. Baldini, I., Cheng, P., Fink, S. J., Mitchell, N., Muthusamy,
V., Rabbah, R., Suter, P. and Tardieu, O. The serverless
trilemma: Function composition for serverless
computing. In Proceedings of the 2017 ACM SIGPLAN
Intern. Symp. on Ne w Ideas, New Paradigms, and
Reflections on Programming and Soft ware.
8. Barga, R.S. Serverless computing: Redefining the
cloud [Internet]. In Proceedings of the 1st Intern.
Workshop on Serverless Computing (Atlanta, GA, USA,
June 5, 2017); http://www.serverlesscomputing.org/
wosc17/#keynote
9. Bernstein, D. Containers and cloud: From LXC to
Docker to Kubernetes. IEEE Cloud Computing 1, 3
(Sept. 2014), 81–84.
10. Businesswire. $7.72 billion function-as-a-service
market 2017—Global forecast to 2021: Increasing
shift from DevOps to serverless computing to drive
the overall Function-as-a-Service market; https://
bwnews.pr/2G3ZzQY.
11. CNCF Serverless White Paper; https://github.com/
cncf/wg-serverless#whitepaper
12. Etzioni, O. and Niblett, P. Event Processing in Action.
Manning Publications Co., Greenwich, CT, 2010.
13. Fouladi, S., Wahby, R.S., Shacklett, B.,
Balasubramaniam, K., Zeng, W., Bhalerao, R.,
Sivaraman, A., Porter, G. and Winstein, K. Encoding,
fast and slow: Low-latency video processing using
thousands of tiny threads. NSDI (2017), 363–376
14. Fox, G. C., Ishakian, V., Muthusamy, V. and Slominski,
A. Status of Serverless Computing and Function-as-a-Service (FaaS) in Industry and Research. Technical
Report; arXiv:1708.08028, 2017
15. Hendrickson, S., Sturdevant, S., Harter, T., Venkataramani, V.,
Arpaci-Dusseau, A.C., Arpaci-Dusseau, R.H. Serverless
computation with openlambda. In Proceeding of the 8th
USENIX Workshop on Hot Topics in Cloud Computing
(Denver, CO, USA, June 20–21, 2016).
16. IDC. IDC FutureScape: Worldwide IT Industry 2017
Predictions. IDC #US41883016, 2016.
17. Ishakian, V., Muthusamy, V. and Slominski, A. Serving
deep learning models in a serverless platform. In
Proceedings of the IEEE Intern. Conf. on Cloud
Engineering, 2018
18. Jonas, E., Pu, Q., Venkataraman, S., Stoica, I. and
Recht, B. Occupy the cloud: Distributed computing for
the 99%. In Proceedings of the 2017 Symp. on Cloud
Computing.
19. Kilcioglu, C. Rao, J.M. Kannan, A. and McAfee, R.P.
Usage patterns and the economics of the public cloud.
In Proceedings of the 26th Intern. Conf. World Wide
Web, 2017
20. Lee, H., Satyam, K. and Fox, G.C. Evaluation of
production serverless computing environments.
In Proceedings of IEEE Cloud Conf. Workshop on
Serverless Computing (San Francisco, CA, 2018).
21. Leitner, P., Wittern, E., Spillner, J. and Hummer, W.
A mixed-method empirical study of Function-as-a-Service software development in industrial practice;
https://peerj.com/preprints/27005
22. Lin, W- T, Krintz, C., Wolski, R., Zhang, M., Cai, X., Li,
T. and Xu, W. Tracking causal order in AWS lambda
applications. In Proceedings of the IEEE Intern. Conf.
on Cloud Engineering, 2018.
23. NGINX. NGINX announces results of 2016 future of
application development and delivery survey; http://
bit.ly/2YM27e2/.
24. Oakes, E., Yang, L., Houck, K., Harter, T., Arpaci-Dusseau, A.C. and Arpaci-Dusseau, R.H. Pipsqueak:
Lean Lambdas with large libraries. In Proceedings of
2017 IEEE 37th Intern. Conf. on Distributed Computing
Systems Workshops, 395–400.
25. Paton, N. W. and Díaz, O. Active database systems.
ACM Comput. Surv. 31, 1 (1999), 63–103.
26. Wang, L., Li, M., Zhang, Y., Ristenpart, T. and Swift, M.
Peeking behind the curtains of serverless platforms.
In Proceedings of USENIX Annual Technical Conf.,
2018, 133–146. USENIX Association.
27. Yan, M., Castro, P., Cheng, P., Ishakian, V. Building a
chatbot with serverless computing. In Proceedings of
the 1st Intern. Workshop on Mashups of Things, 2016.
28. Ye, W., Khan, A. I. and Kendall, E. A. Distributed
network file storage for a serverless (P2P) network.
In Proceedings of the 11th IEEE Intern. Conf. on
Networks, 2003, 343–347.
Paul Castro ( castrop@us.ibm.com) is a research staff
member at IBM T. J. Watson Research Center in Yorktown
Heights, NY, USA.
Vatche Ishakian ( vishakian@bentley.edu) is an assistant
professor at Bentley University, Waltham, MA, USA.
Vinod Muthusamy ( vmuthus@us.ibm.com) is a research
scientist at IBM Research AI in Austin, TX, USA.
Aleksander Slominski ( https://aslom.net) is research
staff member in the Serverless Group in Cloud Platform,
Cognitive Systems and Services Department at IBM T.J.
Watson Research Center in Yorktown Heights, NY, USA.
© 2019 ACM 0001-0782/19/12 $15.00
Stateful serverless: Current serverless
platforms are mostly stateless, and it is
an open question if there will be inherently stateful serverless applications in
the future with different degrees of QoS
without sacrificing the scalability and
fault-tolerance properties.
Service-level agreements (SLA):
Serverless computing is poised to
make developing services easier, but
providing QoS guarantees remains
difficult. 17, 27 While the serverless platform needs to offer some guarantees
of scalability, performance, and availability, this is of little use if the application relies on an ecosystem of
services, such as identity providers,
messaging queues, and data persistence, which are outside the control
of the serverless platform. To provide
certain QoS guarantees, the serverless platform must communicate the
required QoS requirements to the dependent components. Furthermore,
enforcement may be needed across
functions and APIs, through the careful measurement of such services, either through a third-party evaluation
system, or self-reporting, to identify
the bottlenecks.
Serverless at the edge: There is a
natural connection between serverless functions and edge computing
as events are typically generated at
the edge with the increased adoption
of Io T and other mobile devices. iRobot’s use of AWS Lambda and step
functions for image recognition was
described by Barga as an example
of an inherently distributed serverless application. 8 Recently, Amazon
extended its serverless capabilities
to an edge based cloud environment
by releasing AWS Greengrass. Consequently, the code running at the
edge, and in the cloud may not just
be embedded but virtualized to allow movement between devices and
cloud. That may lead to specific requirements that redefine cost. For
example, energy usage may be more
important than speed.
New serverless applications: The
serverless programming model is inherently different, but that should be a
motivation to think about building—or
rebuilding—new and innovative solutions that tap into what it can provide.
Pywren, 18 ExCamera, 13 HPC, numerical
analysis, and AI chatbots are but some
Watch the authors discuss
this work in the exclusive
Communications video.
https://cacm.acm.org/videos/the-
rise-of-serverless-computing