Why Serverless Is The Future of The IT Industry

AUTHOR: NILESH DEO, CLOUDHEALTH BY VMWARE

1 COPYRIGHT © 2019 VMWARE, INC. ALL RIGHTS RESERVED. TABLE OF CONTENTS

3 EXECUTIVE SUMMARY

4 WHAT IS SERVERLESS?

5 BENEFITS TO SERVERLESS

5 WHAT IS SERVERLESS NOT?

6 USE CASES FOR LEVERAGING SERVERLESS TECHNOLOGY

8 POPULAR OPTIONS FOR LEVERAGING SERVERLESS TECHNOLOGY

9 CONCLUSION

2 COPYRIGHT © 2019 VMWARE, INC. ALL RIGHTS RESERVED. EXECUTIVE SUMMARY

Simplicity and agility in application development is the promise of serverless technology. Currently, serverless is not widely adopted for production workloads, but many organizations are experimenting with it, and it’s just a matter of time before it goes mainstream. Gartner predicts that ‘more than 20% of global enterprises will have deployed serverless computing technologies by 2020’.2 Serverless is already popular with early adopters. It’s the next step in the cloud journey which makes application development and management more efficient and provides developers with more choice. In this whitepaper, we’ll look into: • What is serverless? • What is serverless not? • Use cases for leveraging serverless technology • Popular options for leveraging serverless technology

3 COPYRIGHT © 2019 VMWARE, INC. ALL RIGHTS RESERVED. WHAT IS SERVERLESS?

According to Amazon, a leading provider of serverless technology,

‘serverless computing allows you to build and run applications and services “Serverless is not the without thinking about servers. Serverless applications don’t require you to future, it is the present.” provision, scale, and manage any servers.’ 3

— KELSEY HIGHTOWER Microsoft has a similar definition: at Serverless NYC ‘serverless computing is the abstraction of servers, infrastructure, and operating systems. When you build serverless apps you don’t need to provision and manage any servers, so you can take your mind off infrastructure concerns. Serverless computing is driven by the reaction to events and triggers happening in near-real-time—in the cloud.’ 4

The term serverless is considered a misnomer by some because the code is still running on servers, it’s just being managed by the service provider for an agreed upon price. However, in a serverless environment, the primary benefit is that developers don’t need to worry about the servers and can focus on application development. It offers the next level of abstraction, for servers, in the ‘-as-a-service’ consumption model. This abstraction makes it easy for developers to simply deploy their code without worrying about the infrastructure, management of resources, and scaling them. Predefined tasks can be initiated with developer-defined trigger events using the serverless functions. This can be as simple as starting a log when a user presses a button on a website. Or maybe the log that tracks the user’s IP address, user login, and other credentials and then turns off until it is triggered again. A key advantage of serverless is that users do not pay for idle resources. Don’t pay if you don’t use it, simple. Benefits of infrastructure high availability and fault tolerance is already built in too. If the infrastructure goes down, it will be brought back up as soon as possible, without having to call your IT team to get it up and running again. Chad Arimura from Iron.io has aptly described this evolution to Infoworld 5

“What we’ve seen is that the atomic unit of scale has been changing from the virtual machine to the container, and if you take this one step further, we’re starting to see something called a function … a single-purpose block of code. It’s something you can conceptualize very easily: Process an image. Transform a piece of data. Encode a piece of video.”

4 COPYRIGHT © 2019 VMWARE, INC. ALL RIGHTS RESERVED. On a broad level, serverless makes business more agile and transformative. It saves on infrastructure costs, automates events, and empowers the developers. It also helps companies transform towards a less operations intensive model. The intent of serverless technology is to make both development and operation more efficient and productive. Serverless moves developers to a low coding phase where they can focus on business differentiators and how to best leverage existing functions as required.

1 in 3 enterprises BENEFITS TO SERVERLESS use AWS Lambda technologies 1 FASTER TIME TO MARKET: Businesses can roll out differentiators faster to defeat their competition. They can learn and evolve quickly based on end customer’s actions.

LOW OPERATING COST: Pay only when you consume resources and thus reduce waste.

FREE UP DEVELOPER TIME: Provisioning, scaling, patching, and maintaining infrastructure is handled by the provider

Some workloads and applications are better suited for serverless than others, which means companies would start slow and then move more relevant workloads.

WHAT IS SERVERLESS NOT? While serverless can prove advantageous for some of your organization’s development and operational needs, it’s not a comprehensive solution. It’s important to understand what serverless is not:

NO SERVER INFRASTRUCTURE: Serverless doesn’t actually mean that the code will run without a server. It just means as an organization, you’re outsourcing the management and maintenance of that server so that your IT teams can focus on more strategic initiatives.

5 COPYRIGHT © 2019 VMWARE, INC. ALL RIGHTS RESERVED. A WAY TO SIMPLIFY CODING: A common misconception is that coding is simplified when leveraging serverless. What really happens is that coding becomes more efficient with the use of functions. When triggered, functions can help perform certain tasks. It becomes easy to run a piece of code, trigger another function, or backup information. Depending on the developer’s preference to use functions, code can easily be broken down into functions. This also allows for easier management when the function or code needs to be replaced or updated.

APPROPRIATE FOR ALL APPLICATIONS: Serverless is a different way of consuming infrastructure as a managed service. It can be tempting to imagine running the majority of your applications as a function, such as one of your 87% of CloudHealth databases in its entirety or monoliths broken down and run via serverless. customers already have However, beware that serverless can be easily overused without putting a lot at least one Lambda of thought into the proper use cases and can get very expensive quickly. function in their Think about which applications can be broken down into functions easily. environment. For example: applications leveraging , chat bots, or edge driven access based applications can be potential candidates. See what your peers are using this technology for and meet with industry experts to consult on how you can be more nimble about your choices.

USE CASES FOR LEVERAGING SERVERLESS TECHNOLOGY Now that we understand more about serverless, let’s look into some of the primary use cases that can be good for serverless technology.

MICROSERVICES BASED ARCHITECTURE: Microservices architecture is being widely adopted for breaking down the existing monolith services into smaller manageable pieces. This makes it easy to develop, manage, maintain, and scale applications as needed. Plus, you can effortlessly add or delete microservices into the application if the requirements change. Microservices can be developed to be more trigger-oriented. For instance, there can be a trigger when the user inputs the information in the date field. This in turn can make a serverless function store this data in a database. This way, instead of the whole server running at any given time, a user input triggers an event. There can be various ways microservices can be leveraged depending on the use cases of your organization.

6 COPYRIGHT © 2019 VMWARE, INC. ALL RIGHTS RESERVED. EDGE DRIVEN SERVICES: With the advent of Internet of Things (IoT), sensor-based systems are becoming more and more common. This means that a lot of devices reside at the edge, away from the parent servers. Serverless, being function driven and easy to trigger, can allow edge services to drive a particular event like record information, turn on a code, message a user, etc. Latency in most of the edge services is already expected by the user. Also, it can be very expensive to use regular services to meet these requirements. Leveraging a technology like Google Functions or AWS Lambda in this case might streamline the traffic on network and simplify the life of the user.

CHAT BOTS: When was the last time when you messaged with a human to Companies like iRobot, get a desired service? Most banks, healthcare companies, and social media Capital One, and Bustle agencies use a chat bot to provide faster and more accurate issue resolution. Digital Group have These artificial intelligence-based bots can be trained to respond to various already started their issues and to provide services in various languages. Most of the problem journey to serverless. statements or service requests for these chat bots are standard and can be answered with some delay, making serverless a good fit here. Serverless makes it very easy to scale up or down these chat bots based on traffic inflow. For event driven services, like an outage, it’s easy to scale these services up.

MAINTAINING THE DATABASE ENTRIES: Not all databases are created equal. Instead of having a manual data entry operator or running batch jobs, it’s easy to use serverless functions to update, delete, or maintain a database. Auditing databases can also be partially or fully automated using serverless. For example, using serverless logging and monitoring data can be easily compared with master database.

SMARTPHONE BASED APPLICATIONS: A lot of resources are needed to run games, videos, or applications that are used on smartphones. For example, role based games where one choice from the user triggers another script in the story needs a lot of compute and storage resources, or a YouTube video that constantly buffers based on the ads that are playing on the application needs a lot of user choices, proximity, etc. These expensive cloud resources lead to consumption bills that are exorbitant. Plus, it doesn’t make sense to always keep these resources running. Websites or applications that use RESTful APIs also can lead to wasted resources if not managed wisely. With serverless, over-spending on resources can be minimized and controlled more effectively.

7 COPYRIGHT © 2019 VMWARE, INC. ALL RIGHTS RESERVED. HIGHLY SECURE INFORMATION ACCESS: In industries like finance, retail, and healthcare, security is paramount, and recent breaches have shown that no industry is safe from security threats. Using functions as trigger points to run sequential events limits the exposed surface area for a hacker. In other words, you’re limiting the doors that a single key can give an access to. Each door requires a new key and this can be controlled easily using functions. This method isn’t foolproof, but it does make it challenging for a hacker to easily gather all the necessary information with single access.

WHAT ARE POPULAR OPTIONS FOR LEVERAGING SERVERLESS?

Any new technology takes some time to catch up in performance, availability, and maturity—and serverless is no exception. Serverless is now available from the majority of the cloud providers:

AMAZON WEB SERVICES (AWS) LAMBDA: AWS Lambda, which was made generally available in April 2015, was one of the first function-as-a-service offerings. AWS Lambda is very well integrated into other AWS services and supports multiple languages. Its functionality has been growing steadily since its inception and has been widely adopted by developers around the globe. One key advantage of using AWS Lambda is the integration of various AWS services to make your applications run seamlessly. Plus, evolution of the entire AWS ecosystem and support to more runtime environments means better functionalities will be at your fingertips faster, allowing you to focus on delivering value.

MICROSOFT AZURE FUNCTIONS: In March 2016, Microsoft announced the general availability of Azure Functions. Azure functions has been used consistently by customers like Fujifilm, CarMax, and Navitime, and continues to improve functionality. If you’re already considering for your public cloud environment, the availability of Azure Functions is a great service to include in your decision-making process. Plus, having an expansive portfolio within Microsoft Azure would allow you to negotiate for better pricing.

8 COPYRIGHT © 2019 VMWARE, INC. ALL RIGHTS RESERVED. GOOGLE CLOUD FUNCTIONS: Google Cloud has been a late entrant to the serverless space with the availability of Cloud Functions in July 2018. It supports various languages and has continued to increase functionality and consumer adoption since going GA . If you like using or machine learning from Google, Google Cloud Functions is another service that might be worth leveraging. This means faster and more accurate decisions instead of consuming in a piecemeal fashion.

CONCLUSION We strongly believe that serverless is going to alter the future of IT by fundamentally changing the way we develop and consume technology. Serverless is a promising step towards simplifying the way applications are being developed and maintained, and it’s not hard to look around and see it already in action. With serverless adoption, businesses will be able to differentiate quickly, scale rapidly, and be more agile in order to provide business value sooner and deliver on their promise to end customers. Developers are the major winners, they will gain through increased efficiency that serverless promises. Operations will benefit immensely from the ease of leveraging serverless to meet the resource requirements. As with all new technology, take serverless with a pinch of salt. See which of your workloads are a best fit to run on serverless and avoid the temptation to run everything on serverless. Make sure every workload and application operates efficiently, whether serverless or not, to ensure your entire organization reaps the benefits.

1 https://www.sumologic.com/resource/report/state-modern-apps-report/ 2 Gartner: An I&O Leader’s Guide to serverless Computing; April 2018 3 https://aws.amazon.com/serverless/ 4 https://azure.microsoft.com/en-us/overview/serverless-computing/ 5 https://www.infoworld.com/article/3093508/cloud-computing/what-serverless-computing-really-means.html 6 CNCF WG-serverless Whitepaper v1.0

9 COPYRIGHT © 2019 VMWARE, INC. ALL RIGHTS RESERVED.