Download as pdf or txt
Download as pdf or txt
You are on page 1of 26

lOMoARcPSD|43303542

SAI Kiran 111 - TECHNICAL SEMINAR REPORT

Computer Science and Engineering (Visvesvaraya Technological University)

Scan to open on Studocu

Studocu is not sponsored or endorsed by any college or university


Downloaded by venkat Yash (sangayashwanth205@gmail.com)
lOMoARcPSD|43303542

SERVERLESS COMPUTING
Technical Seminar report submitted in partial fulfilment of the
requirements
For the award of the degree of

BACHELOR OF TECHNOLOGY
IN
COMPUTER SCIENCE & ENGINEERING
By
Y.SAI KIRAN 20BT1A0529

VISVESVARAYA COLLEGE OF ENGINEERING


& TECHNOLOGY

(Recognized by A.I.C.T.E Affiliated to JNTU, Hyderabad),


(MP Patelguda, Ibrahimpatnam, Telangana, INDIA - 501510)

2023- 2024

Downloaded by venkat Yash (sangayashwanth205@gmail.com)


lOMoARcPSD|43303542

ACKNOWLEDGEMENT

It gives me a great sense of pleasure to present the report of the


technical seminar undertaken during final year of B. Tech. I like to express my
gratitude towards my College Management for their kind co-operation and
encouragement which helped me in completion of this project.
I would like to express my special thanks to my Principal Professor
Dr. D. RAMESH for moral support and Management of Visvesvaraya
College of Engineering & Technology, Hyderabad for providing me
infrastructure to complete the project.
I thank MRS.T.RAMYA SREE Head Department of Computer
Science & Engineering for his constant support and cooperation.
We take this opportunity to acknowledge the contribution of all
faculty members of the Department of Computer Science & Engineering,
for their full support and assistance during the development of the project.
Last but not the least, I acknowledge my friends for their contribution
in the completion of the project.

Signature:
Name: Y. SAI KIRAN
Roll No: 20BT1A0529

Downloaded by venkat Yash (sangayashwanth205@gmail.com)


lOMoARcPSD|43303542

SERVERLESS COMPUTING

CONTENTS

TITLE
PAGENO.
ABSTRACT 5
CHAPTER 1:
INTRODUCTION 6
1.1 What Is Serverless Conujuting? 7

CHAPTER 2: 8

HISTORY AND RELATED WORK

CHAPTER 3: 11

SERVERLESS ARCHITECTURE

3.1 How Applications Run in a Serverless Architecture

Downloaded by venkat Yash (sangayashwanth205@gmail.com)


lOMoARcPSD|43303542

CHAPTER 4: 15

MAIN CHALLENGES OF SERVERLESS COMPUTING

CHAPTER 5: 17

PROSPECTS OF SERVERLESS COMPUTING

CHAPTER 6: 18

DEFINING SERVERLESS COMPUTING

ADVANTAGES 21

CONCLUSION 23
FUTURE SCOPE 24
REFERENCES 25

ABSTRACT
Serverless computing is a cloud computing execution model in which the cloud
provider allocates machine resources on demand, taking care of the servers on behalf of
their customers. Serverless computing does not hold resources in volatile memory,
computing is rather done in short bursts with the results persisted to storage. When an
app is not in use, there are no computing resources allocated to the app. Pricing is based
on the actual amount of resources consumed by an application. It can be a form of utility
computing. "Serverless" is a misnomer in the sense that servers are still used by cloud
service providers to execute code for developers. However, developers of serverless
applications are not concerned with capacity planning, configuration, management,
maintenance, fault tolerance, or scaling of containers, VMS, or physical servers.
Serverless computing can simplify the process of deploying code into production.
Serverless code can be used in conjunction with code deployed in traditional styles, such
as microservices or monoliths. Alternatively, applications can be written to be purely
serverless and use no provisioned servers at all.This should not be confused with

Downloaded by venkat Yash (sangayashwanth205@gmail.com)


lOMoARcPSD|43303542

computing or networking models that do not require an actual server to function, such
as peer-to-peer (P2P).

Downloaded by venkat Yash (sangayashwanth205@gmail.com)


lOMoARcPSD|43303542

CHAPTER 1
INTRODUCTION
Software developers are always worrying about infrastructure issues and server
maintenance, but can forget about all this administrative overhead. With serverless
computing, their dreams about focusing entirely on writing code can finally come true.
In this article, we explain the principles of serverless computing, underscore the pros
and cons of this technology, and provide an overview of its short-term prospects.
This article will be useful for developers who are considering using serverless technology as
well as for organizations that are looking for easy and fast software development.

Fig: 1.1 Serverless Computing

Downloaded by venkat Yash (sangayashwanth205@gmail.com)


lOMoARcPSD|43303542

1.1 WHAT IS SERVERLESS COMPUTING?

The term serverless computing is a misnomer as the technology uses servers, only
they're maintained by the provider. Serverless computing is considered a new generation of
Platform as a Service, as in this case, the cloud service provider takes care of receiving
client requests and responding to them, monitoring operations, scheduling tasks, and
planning capacity. Thus, developers have no need to think about server and infrastructure
issues and can entirely concentrate on writing software code.
Serverless computing is also sometimes called Function as a Service or eventbased
programming, as it uses functions as the deployment unit. The event-driven approach means
that no resources are used when no functions are executed or an application doesn't run. It
also means that developers don't have to pay for idle time. In addition, a serverless
architecture ensures auto-scaling, allowing applications to provide users with services in
spite of increasing workload.
Thanks to all these features, serverless computing is considered a cost-saving,
resource-limited, and fault-tolerant approach to software development. This novel approach
is already provided by such industry giants as Amazon, Google, IBM, and
Microsoft.

Downloaded by venkat Yash (sangayashwanth205@gmail.com)


lOMoARcPSD|43303542

CHAPTER 2
HISTORY AND RELATED WORK

The term 'serverless' can be traced to its original meaning of not using servers and
typically referred to peer-to-peer (P2P) software or client-side only solutions.28 In the cloud
context, the cur- rent serverless landscape was intro- duced during an AWS re:lnvent event
in 2014.3 Since then, multiple cloud providers, industrial, and academic institutions have
introduced their own serverless platforms. Serverless seems to be the natural progression
following recent advancements and adoption of VM and container technologies, where each
step up the abstraction layers led to more lightweight units of computation in terms of
resource consumption, cost, and speed of development and deployment. Furthermore,
serverless builds upon long-running trends and advances in both distributed systems,
publish-subscribe systems, and event- driven programming models, 12 includ- ing actor
models, I reactive program- ming,4 and active database systems.25
Serverless platforms can be con- sidered an evolution of Platform-as- a-Service
(PaaS) as provided by plat- forms such as Cloud Foundry, Heroku, and Google App Engine
(GAE). PaaS was defined by NISTe as "the capability provided to the consumer is to deploy
onto the cloud infrastructure consumer-created or acquired applications created using
programming languages and tools supported by the provider. The consumer does not manage
or control the underlying cloud infrastructure including network, servers, operating systems,
or storage, but has control over the de- ployed applications and possibly application hosting
environment con- figurations." In this definition, users are expected to manage deployments
of applications and have control over hosting environment configurations.
Serverless FaaS, when compared to this definition of PaaS, is removing user control
over hosting to provide simpler scaling and more attractive billing model: the cloud provider
controls the hosting environment's configuration, runs user-provided code only when it is
invoked, and only bills for actual usage while hiding the complexity of scaling (in practice
implementing auto-scaling in PaaS is not easy and it is very difficult to scale to zero).
That is a significant change when conlpared to the previous generation of PaaS
(which could be con- sidered first generation of PaaS) and it is very attractive for PaaS users
that do not need to pay for idle resources and avoid managing auto-scaling rules. The main
differentiators of sen er- less platforms is transparent autoscaling and finegrained resource

Downloaded by venkat Yash (sangayashwanth205@gmail.com)


lOMoARcPSD|43303542

charging only when code is running. That should not to be confused with free- usage quota,
where limited monthly resource quota is available, but count- ed even if the application is not
used. For example, GAE Standard is priced in "instance hours'T and even if the app is not
used the instance is kept running. Later, GAE added Flexible version with a more finegrained
billing unit, but still developers will be billed even if server is not used. That can lead to
unexpected outcomes when the bill ar- rives at the end of month for forgotten test services.g
Mobile Backend as-aService (MBaaS) or more generalized Backend as-a- Service (BaaS)
bears a close resem- blance to serverless computing. Some of those services even provided
"cloud functions" (for example, Facebook's now-defunct Parse Cloud Code). Such code,
however, was typically limited to mobile use cases.
Software-as-a-Service (SaaS) may support the server-side execution of userprovided
functions, but they are executing in the context of an application and hence limited to the
application domain. Some SaaS vendors allow the integration of arbitrary code hosted
somewhere else and invoked via an API call. For example, this is approach is used by the
Google Apps Marketplace in Google Apps for Work.
The boundaries defining serverless computing functionality overlaps with PaaS and
SaaS. One way to categorize serverless is to consider the varying levels of developer control
over the infra- structure. In an laaS model, the developer has much more control over the
resources, but is responsible for man- aging both the application code and operating the
infrastructure. This gives the developer great flexibility and the ability to customize every
aspect of the application and infrastructure, such as administering VMS, managing ca- pacity
and utilization, sizing the work- loads, achieving fault tolerance and high availability. PaaS
abstracts away VMS and takes care of managing un- derlying operating systems and capacity,
but the developer is responsible for the full life cycle of the code that is deployed and run by
the platform, which does not scale down to zero. SaaS rep- resent the other end of the
spectrum where the developer has no control over the infrastructure, and instead get access
to prepackaged components.
The developer is allowed to host code there, though that code may be tightly coupled
to the platform. Baas is sitnil- iar to SaaS in that the functionality is targeting specific use
cases and com- ponents, example, MBaaS provide backend functionality needed for mo- bile
development such as managing push notifications, and when it allows developer to run code
it is within that backend functionality .

Downloaded by venkat Yash (sangayashwanth205@gmail.com)


lOMoARcPSD|43303542

Fig:2.1 Iligh-level serverless FaaS platform architecture.

10

Downloaded by venkat Yash (sangayashwanth205@gmail.com)


lOMoARcPSD|43303542

CHAPTER 3
SERVERLESS ARCHITECTURE

Serverless architecture run applications that depend on external Function as a


Service and Backend as a Service providers, which run the application code in temporary
containers.

Consequently, a serverless architecture includes the following three core components:

API gateway — This is a fully managed service that's used to define, deploy, and
maintain APIs. For API integrations, developers use standard HITI)S requests that
connect their presentation tier with the functions they write on a serverless platform.
Some serverless providers like Amazon offer their own API gateways for their
clients.

Function as a Service (FaaS) — This is the layer that executes the application code
(business logic) through multi-protocol triggers. Function instances are provisioned
on request (in a few milliseconds) in compliance with associated configurations.

Backend as a Service (BaaS) — This is a cloud coniputing service model that


serves as a cloud-based distributed database, eliminating the need for
administrative overhead. Baas features include cloud storage, push
notifications, server code, user and file management, and many other backend
services. These services have their own APIs so developers can easily
integrate them into their applications.

11

Downloaded by venkat Yash (sangayashwanth205@gmail.com)


lOMoARcPSD|43303542

Fig:3.l Serverless Architecture

3.1 HOW APPLICATIONS RUN IN A SERVERLESS ARCHITECTURE

To create an application, developers should consider how to break it into smaller


functions to reach a granular level for serverless compatibility. Each function needs to be
written in one of the programming languages supported by the serverless provider.

12

Downloaded by venkat Yash (sangayashwanth205@gmail.com)


lOMoARcPSD|43303542

Why Build Serverless Application?

Scale flexiY.'i
um
tnæ•oqed aervsze rxe.rct$

Enhsnce developer Searnlew IntelYqent peoductieii"

Fig:3.2 Applications Run In A Serverless Architecture

Function deployment:

Deploying a function is considerably different fronl deploying a traditional system


as there's no server on the developer's side. In serverless computing, a developer just
uploads function code to the serverless platform and the provider is responsible for its
execution as well as ror provisioning and allocating resources, maintaining the virtual
machine, and managing processes. The platforlll vendor also takes care of automatic
horizontal and elastic scaling.

FaaS functions are executable on a container with few resources. Functions are
triggered through requests and events when necessary without requiring the application to
be running all the time. Requests that can trigger FaaS functions are specified by the
provider. For instance, such triggers can be inbound HTTP requests, scheduled tasks, S3
updates, or messages added to a message bus. Functions can also be invoked via a
platformprovided API, externally, or within the cloud environment.

Function limitations

Functions in serverless coniputing have significant architectural restrictions related


to their state and duration of execution. FaaS functions are stateless, which means that they
have no machine state. Thus, external databases are necessary to simulate state behavior of
functions.
Moreover, functions are lilnited in their execution time, which determines how long
each invocation can be run. This restriction makes developers create several shortrunning
functions instead of one long-running task.
In order to initialize an instance of a function in response to an event, a FaaS platform
requires some time for a cold start. This leads to startup latency that depends on various factors

13

Downloaded by venkat Yash (sangayashwanth205@gmail.com)


lOMoARcPSD|43303542

and has an unpredictable duration. It may be caused by the programming language, the number
of libraries you use, the configuration of the function environment, and so on. Though latency
raises many concerns, the latency your app experiences will depend on the traffic and type of
your application. If a function repeats frequently, a cold start will be rare, as the platform reuses
the instance of a function and its host container from a previous event. Scrverless providers
in the public cloud

The term serverless became popular in 2014 after Amazon launched A WS Lambda, a
serverless platform that was followed by the Amazon API Gateway in 2015.
By the liliddle of 2016, the serverless concept had given birth to the Scrverless
Conference, after which other vendors began to introduce their own solutions to the market.
Currently, all tech giants provide a serverless architecture.

• Amazon's Lambda is the most nnature serverless platform on the market. It


supports a variety of programming languages including Java, Python, and
Node.js. Lambda takes advantage of most AWS services and allows developers
to apply its functions as event handlers as well as to provide glue code when
composing services.

• IBM Cloud Functions is another serverless deployment that acts as an event


action platform for creating composite functions. It supports Node.js, Java,
Swift, Python, and arbitrary binaries embedded in a Docker container. Cloud
Function is based on Open Whisk, which is available on GitHub under an
Apache open source license.

• Microsoft Azure Functions lets developers write code for functions like
processing images, sending emails, and maintaining files that are executed on
schedule or when needed. The platform provides I-ITTP webhooks, integration
with Azure, and support for such programming languages as .NET, Go, Node.js,
Python, PHP, and Java. The runtime code is open-source and is available on
GitHub under an MIT License.

14

Downloaded by venkat Yash (sangayashwanth205@gmail.com)


lOMoARcPSD|43303542

CHAPTER 4
MAIN CHALLENGES OF SERVERLESS COMPUTING

Despite the Inany benefits, you should understand that serverless computing is a
relatively new technology that also has certain challenges.

Costs of scrvcrlcss services — While serverless computing can significantly reduce


your development costs, this isn't always true with different cloud computation
approaches. For instance, serverless functions are currently most attractive for
CPU-bound coniputations, while I/O bound functions are not as affordable as on
dedicated virtual machines or containers.
Cold start — The key benefit of serverless computing is its ability to scale to zero so
that developers don't need pay for idle time. However, this may lead to increased
invocation latency due to cold starts. For instance, it may occasionally

function. Preemptive warming up could be a good solution to this problem, but


developers may have to pay penalties for getting their serverless code ready to run.
Another solution could be using tools that can predict system load and analyze the
duration of load spikes.

Resource limits — Resource limits are necessary to ensure that the platform can deal
with spikes and withstand attacks. Serverless computing imposes limits on
memory, function execution time, bandwidth, and CPU usage. For instance, the
maximum execution tinie per request is 300 seconds (or 5 minutes) for Azure
Functions and A WS Lambda.

Inadequate application testing — Though it's easy to test different functions of an


application, it may be challenging to test the infrastructure and the combination of
all functions. The reason for this is the complexity of the serverless architecture,
which makes it difficult to manage the countless endpoints in different
environments.
Increased security concerns — There are high security risks in a serverless
environment, as many users run their functions on a shared platform. Thus, if
someone loads malicious code, it may negatively affect all cloud users.

15

Downloaded by venkat Yash (sangayashwanth205@gmail.com)


lOMoARcPSD|43303542

Vendor compatibility — FaaS providers operate on different platforms and support


different programming languages. Thus, software changes may be inevitable if
developers want to change providers.
Monitoring and debugging — Since developers have no control over the provider's
servers, there are limited opportunities for identifying problems and bottlenecks.
After a function is executed, it only leaves traces in logs recorded by the serverless
platform. In addition, there's a lack of debugging tools that can operate in serverless
environments. This is because debugging distributed systems requires access to a
substantial number of relevant metrics in order to identify the root causes
ofproblems.
Function state — While real applications require state, it's not clear how to manage
state in serverless functions, as they're stateless. In order to overcome this
challenge, programming models, libraries, and tools need to provide the necessary
levels of abstraction.
Execution time limitations — Serverless functions are limited in their execution time,
but not all applications can run only with short-running functions. There are cases
when long-running logic is necessary, for instance for financial or emergency
applications.
Availability of skills — Serverless computing is a fairly new business, so there's a
lack of developers on the market with skills in serverless programming. Software
companies may have to invest in training their developers in order to catch up with
new business trends.
Composability— Some functions are designed to call other functions and coordinate
the execution of several functions that may result in parallel execution. To
overcome this challenge, it's necessary to use tools that can facilitate the creation
and maintenance of compositions.
Multi-tenancy concerns In addition to your application, a serverless provider also
supports other clients. Thus, there's a risk that your software will be placed on the
server along with function-heavy applications that may cause slow performance.
Access to the file system level — A serverless architecture isn't the best choice for
software that requires access to the file system or operating system level. These
types of applications need to do things such as read attributes from configuration
files or split in-memory cache to disk, but serverless functions don't allow for this.

16

Downloaded by venkat Yash (sangayashwanth205@gmail.com)


lOMoARcPSD|43303542

CHAPTER 5
PROSPECTS OF SERVERLESS COMPUTING
Serverless computing is a young technology, so its future is yet to be deterrnined.
If serverless providers manage to overcome the challenges ofFaaS services, the technology
will be able to radically change software development in the coming years.
IBM analysts predict that the serverless market will grow seven- to ten-fold by

2021. Moreover, Markets and Markets also projects substantial growth in the serverless
to $7.72 billion by 2021.
Gartner predicts that serverless computing will reach the peak of its productivity in
two to four years and that it will be implemented in areas beyond IT. In addition, Tim
Wagner, General Manager of AWS Lambda, reported at ServerlessConf 2017 that serverless
adoption is moving ten times faster than the adoption of containers. He also pointed out that
there's an impressive trend of FaaS adoption in enterprises.
IT industry experts also predict that we'll see the first uses of serverless software by
the end of 2018. Serverless cornputing can be used for developing image-rich applications,
virtual assistants, chatbots, web apps, and websites. In addition, the technology can be
applied to mobile backends, media and log processing, IT automation, and real-time
streaming data processing.
In addition, there are expectations that serverless computing will stimulate the
development of applications for advanced technologies. Particularly, this technology can
help simplify the cornplexity of big data thanks to its elastic auto-scaling. It's best suited for
software that doesn't run continuously but rather has quiet periods and peaks of traffic. So
serverless platforms can be used for developing applications that easily integrate with various
advanced technologies like Internet of Things devices, cognitive intelligence, data analytics,
and mobile devices.

17

Downloaded by venkat Yash (sangayashwanth205@gmail.com)


lOMoARcPSD|43303542

CHAPTER 6
DEFINING SERVERLESS COMPUTING

Sen erless cornputing can be defined by its name—less thinking (or caring) about
servers. Developers do not need to worry about low-level details of serv- ers management
and scaling, and only pay for hen processing requests or events.

I define scrvcrlcss as follows:

Serverless computing is a platform that hides server usage from developers and
runs code on-demand automatically scaled and billed only for the time the code is running.
This definition captures the two key features of sen erlcss computin ø :

Cost—billed only for what is run- ning (pay-as-you-go). As servers and their usage
is not part of serverless computing model, then it is natu- ral to pay only when code
is running and not for idle servers. As execution time may be short, then it should
be charged in fine-grained time units (like hundreds of milliseconds) and developers
do not need to pay for overhead of servers creation or de- structions (such as VM
booting time).
This cost model is very attractive to workloads that must run occasion- ally;
serverless essentially supports "scaling to zero" and avoid need to pay for idle servers. The
big chal- lenge for cloud providers is the need to schedule and optimize cloud resources.

Elasticity—scaling from zero to "in- finity." Since developers do not have control
over servers that run their code, nor do they know the number of servers their code
runs on, decisions about scaling are left to cloud providers. Developers do not need
to auto- sealing policies or define how machinelevel usage (CPU, memor}, and so
on) translates to application usage. Instead they depend on the cloud provider to
automatically start more parallel executions when there is more demand for it.
Developers also can assume the cloud provider will take care or main- tenance,
security updates, availability and reliability monitoring of servers.

Serverless cornputing today typi- cally favors small, self-contained units of


computation to make it easier to manage and scale in the cloud. A com- putation, which can
be interrupted or restarted, cannot depend on the cloud platform to maintain its state.

18

Downloaded by venkat Yash (sangayashwanth205@gmail.com)


lOMoARcPSD|43303542

This inherently influences the server- less computing programming models. There
is, however, no equivalent no- tion of scaling to zero when it comes to state, since a
persistent storage layer is needed. I lowever, even if the implementation of a stateful sen ice
requires persistent storage, a provider can olTer a pay-as-you-go pricing mod- el that would
nvake state managenwnt serverless. We are seeing providers re- leasing services that stretch
the defini- tion of serverless, and the definition may evolve over time. For exatnple, Atnazon
Aurora is a "serverless" data- base service, which supports powerful auto-scaling
capabilities but requires minimum memory and CPU alloca- tions and hence does not scale
to zero and has ongoing costs.b
The most natural way to use server- less computing is to provide a piece of code
(function) to be executed by the serverless computing platform. It leads to the rise of
Function-as-a- service (FaaS) platforms focused on allowing small pieces of code
represented as functions to run for limited amount of time (at most minutes), with executions
triggered by events or HTTP requests (or other triggers), and not allowed to keep persistent
state (as function may be restarted at any time). By limiting time of execution and not
allowing functions to keep persistent state FaaS platforms can be easily maintained and
scaled by service providers. Cloud providers can allocate servers to run code as needed and
can stop servers after functions finish as they run for limited amount of time. If functions
must maintain state, then they can use external ser- vices to persist their state.
FaaS is an embodiment of serverless computing principles, which we define as
follows:
• Function-as-a-Service is a serverless computing platform where the unit of
computation is a function that is execut- ed in response to triggers such as events or
requests.
Our approach to defining server- less is consistent with emerging definitions of
serverless from indus- try. For example, Cloud Native Com- puting Foundation (CNCF)
defines serverless computingl I as "the con- cept of building and running appli- cations that
do not require server management. It describes a finer- grained deployment model where
applications, bundled as one or more functions, are uploaded to a platform and then
executed, scaled, and billed in response to the exact demand needed at the moment." While
our definition is close to the CNCF definition, we make a distinc- tion between serverless
coniputing and providing functions as a unit of computation.
As we discuss in the research challenges section, it is possible that serverless
coinputing will expand to include additional aspects that go beyond today's rel- atively
restrictive stateless func- tions into possibly long-running and stateful execution of larger

19

Downloaded by venkat Yash (sangayashwanth205@gmail.com)


lOMoARcPSD|43303542

compute units. I lowever, today serverless and FaaS are often used interchangeably as they
are close in Ineaning and FaaS is the most popu- lar type of serverless cornputing.
Paul Johnston (co-founder of ServerlessDays) defined serverless as follows:c "A
serverless solution is one that costs you nothing to run if nobody is using it (excluding data
storage)." This definition highlights the most ilnportant characteristic of serverless
computing—pays-as-you-go. It assumes serverless computing is a subset of cloud
computing so auto-scaling is included and developers have no access to serv- ers. CNCF
and our definitions empha- size not only pay-as-you-go or "scale to zero" aspects, but also
the lack of need to manage servers.
Another way to define serverless computing is by what functionality it enables. Such
an approach emphasizes "serverless is really about the managed services" and FaaS can be
treated as cloud "glue," as described by Steven Faulkner (a senior software engineer at
Linkedlnd). It is "glue" that joins ap- plications composed of cloud services. Such a
definition addresses only a nar- row set of use cases where serverless computing is used,
while our defini- lion captures the important use cases, which we will highlight in the
accom- panying sidebars.
All definitions share the observa- tion that the name 'serverless com- puting' does
not mean servers are not used, but merely that developers can leave most operational
concerns of managing servers and other resources, including provisioning, monitoring,
maintenance, scalability, and fault-tol- erance to the cloud provider.

20

Downloaded by venkat Yash (sangayashwanth205@gmail.com)


lOMoARcPSD|43303542

ADVANTAGES
Serverless computing is more beneficial than existing cloud services as it offers
better application performance along with reduced operational costs. Let's consider other
benefits of cloud computing that attract so much attention to this technology.


Reduced cloud costs — Serverless computing is based on the principle of payas-
yougo. It costs nothing when your application doesn't run. Developers pay only for
the time when their application executes a user's functions in response to specific
events or requests. This model greatly benefits developers, as they can significantly
save cloud costs.


Reduced clopmcnt costs — With serverless computing, there's no need to handle
updates or infrastructure maintenance as developers can now rent most of the
resources necessary for software development.


Improved resource management— Applications developed in serverless
environments are more fine-grained. This means that the cloud provider can closely
match abstract demand to actual system resources. When an application doesn't run,
the cloud provider distributes the server resources among other running applications.
Once a triggering event appears, resources are allocated to execute the function.


Elastic scalability— A serverless architecture has the ability to scale up and down
according to application workload. This is achieved by replicating functions.
Developers no longer need to purchase additional infrastructure for handling
unexpected growth.


Fewer responsibilities for developers In the serverless model, the cloud provider has
more control over resources and more insight into the context of application
behavior. Developers don't need to care about workload intensity, resource

21

Downloaded by venkat Yash (sangayashwanth205@gmail.com)


lOMoARcPSD|43303542

distribution, scaling, and application deployment as these issues are in the hands of
the cloud provider.


Faster releases and reduced time to market — To deploy new functions,
developers just need to compile their code, zip it, and upload it to the serverless
platform. There's no need to write any scripts to deploy functions. This leads
to faster releases and tirne-to-market reductions of up to two-thirds according
to a study by Microsoft.


Agile-friendly dcvclopment — Serverless computing allows developers to
concentrate on application code rather than infrastructure maintenance.
Moreover, it benefits developers through reduced software complexity and
better code optimization. For instance, if an application usually takes one
second to execute an operation with a hardware server, in a serverless
environment it may take only 200 milliseconds, so developers can save 80
percent of their costs.


Multi-language support— Currently, some serverless platforms support
multiple programming languages, so developers can choose the most
convenient for them.


Built-in logging and monitoring mechanisms— Serverless providers have
developed their own solutions for user logging and monitoring that eliminate
the need for developers to purchase third-party tools for similar purposes. In
addition, scrverless providers offer function-level auditing that ensures the
application data privacy that's necessary for full GDPR compliance.

22

Downloaded by venkat Yash (sangayashwanth205@gmail.com)


lOMoARcPSD|43303542

CONCLUSION
Serverless computing is a novel and promising approach to software
development. The technology eliminates the complexity of dealing with seners and
reduces development costs. It lets developers concentrate on development and stop
worrying about budget limitations thanks to pay-per-use billing. Though serverless
computing is a new technology full of challenges, the Apriorit team has already used it
in our projects. If you-re looking for cost-effective yet high-quality and time-efticient
software development, we can offer you our services.23 | P a g e

23

Downloaded by venkat Yash (sangayashwanth205@gmail.com)


lOMoARcPSD|43303542

FUTURE SCOPE

The serverless computing outlook is connected with lots of factors. As long as


consumers demand Serverless pattern, there will be providers ready to harvest financial
benefit out of it. Even though Prominent Programming languages are supported
currently, it should extend support to almost all programming languages available. For
this reason, serverless architecture should be able to adapt the ever-changing landscape
of software development on a perpetual basis. This will leverage the use of serverless
computing towards next level. With the present evolution of serverless computing, it
seems to be becoming a safe and agile service that has a bright future.

24

Downloaded by venkat Yash (sangayashwanth205@gmail.com)


lOMoARcPSD|43303542

REFERENCES

[ l l .Mohit Sewak,Sachchidanad Singh" Winning in the era of Serverless Computing and


Function as a Service"
[2].Dr. R. Arokia Paul Rajan "Serverless Architecture - A Revolution in Cloud
Computing"

[3].Evolution of Serverless computing, Accessed on 10th August 2018, https:/


/www.ca.com/us/modern-software-factory/content/the-
evolutionofserverlesscomputing.html
[4]. Iron, Accessed on 06th September 2018, https://www.iron.io/docs/ Whitepaper_
Serverless_ Final_ V2.pdf

25

Downloaded by venkat Yash (sangayashwanth205@gmail.com)

You might also like