0% found this document useful (0 votes)
4 views6 pages

SDA Assignment 01

The document discusses serverless computing, highlighting its advantages such as cost efficiency, operational efficiency, scalability, and simplified back-end code, which allow developers to focus on application features. It also addresses disadvantages like performance issues, vendor lock-in, limited control, security risks, and monitoring challenges. The paper emphasizes the need for optimization strategies to enhance performance and reliability in serverless architectures.

Uploaded by

ai.universe360
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views6 pages

SDA Assignment 01

The document discusses serverless computing, highlighting its advantages such as cost efficiency, operational efficiency, scalability, and simplified back-end code, which allow developers to focus on application features. It also addresses disadvantages like performance issues, vendor lock-in, limited control, security risks, and monitoring challenges. The paper emphasizes the need for optimization strategies to enhance performance and reliability in serverless architectures.

Uploaded by

ai.universe360
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 6

Name : Syed Zagham Abbas

Reg No: 8525

Software Design & Architecture


Assignment 1:
Understanding Serverless Computing

Background:
Like many other buzzwords in the industry, it’s quite difficult to reliably
track the source of origin for the word serverless. However, what is important is to appreciate the
benefits it can bring to our application. Serverless architecture may sound very peculiar, to begin
with, but it makes sense when we get to understand it better. Typically when we develop an
application, we require servers to host and serve them. For instance, when we develop a Java
application bundled as a WAR file, we require an application container like Tomcat to run it on a
host like a Linux machine possibly with virtualization. Then there are other considerations like
provisioning the infrastructure with high availability and fault tolerance:
Of course, this implies that even before we are able to serve the first request, we’ve to go through
a lot of preparations. And this does not stop there, as we’ve to manage this infrastructure from
there on to keep it serviceable. What if we do not have to bother about all these tasks that are not
strictly related to application development?
This is the fundamental premise of serverless. So basically, serverless architecture is a
software design pattern where we host our applications on a third-party service. It
eliminates the need for managing the hardware and software layers necessary to do so.
Moreover, we do not even have to worry about scaling the infrastructure to match the load

Advantages of serverless computing:


With an innovative approach to deploying applications and services, serverless computing offers
several compelling advantages that drive its adoption across various industries. Here are some of
the key benefits.

 Cost efficiency

Serverless computing charges for the resources used rather than pre-purchased capacity. You
don't pay for idle capacity or manage servers, and you avoid wastage during off-peak times
expected in traditional server-based architectures. This pay-per-use model results in cost savings
for variable workloads.

 Operational efficiency

The serverless model simplifies the infrastructure management tasks, such as server
provisioning, patching and maintenance, which enables developers to focus on building
application features. It optimizes the workflow and makes deployment and updates faster
because the cloud provider handles server management complexities.

 Scalability

The automatic scaling feature is advantageous for handling unpredictable or fluctuating traffic
patterns, as it ensures that the application remains responsive without manual intervention.
Additionally, serverless computing can dynamically adjust to sudden spikes in traffic, such as
during major events or sales, to ensure consistent performance.

 Simplified back-end code

Simplified back-end code enables developers to concentrate on their core product, often leading
to better quality and more innovative features. Serverless architectures are also microservices-
friendly, which makes it easier to develop, deploy and manage small, independent and modular
pieces of code in complement with microservices patterns.

 Ecosystem and community

Major cloud providers provide integrated services that work seamlessly with serverless
computing, including databases and machine learning capabilities. This enables the creation of
feature-rich applications

Disadvantages of serverless computing:


Understanding the drawbacks of serverless computing is essential for organizations considering
serverless architectures for their applications. Here are some of the key disadvantages.

 Performance issues

When a function remains unused for a certain period, it enters a dormant state. As a result,
subsequent requests after this period may experience a delay in response time -- referred to as a
cold start -- since the server needs to allocate resources and start the function from scratch. There
may be better choices than serverless computing in applications with critical response time.
Latency variability, especially in cold starts and resource allocation, can cause issues.

 Vendor lock-in

Serverless architectures often rely on the services and tools that a single cloud provider offers.
This can result in vendor lock-in, which makes it challenging and potentially expensive to
migrate to a different provider in the future. Additionally, many serverless platforms offer
proprietary services that may need more equivalent options on other platforms, which can further
complicate potential migration efforts.
 Limited control and flexibility

When using a serverless approach, you may have limited control over the underlying
infrastructure, including the OS and hardware. This can become a problem if your application
requires specific environmental configurations. Additionally, serverless platforms often have
restrictions on runtime execution, such as maximum execution time for a function, and the
available execution environments, such as supported programming languages and versions.

 Security

Serverless applications can potentially increase the risk of cyberattacks because each function
can serve as a potential attack entry point. Additionally, a serverless application's security largely
depends on the security measures implemented by the cloud provider. While providers generally
have extensive security measures, the application owner is responsible for securing the
application code and data per the shared responsibility model.

 Monitoring and debugging challenges

Monitoring and logging can pose challenges due to the application's distributed nature of
serverless functions. Debugging serverless applications can be difficult, especially when
attempting to reproduce the exact conditions that led to an issue, given the stateless and
ephemeral nature of serverless functions.
Diagram:

case studies of serverless computing:


Serverless computing revolutionizes cloud computing by allowing developers to focus on code
deployment without managing infrastructure. Platforms like AWS Lambda, Google Cloud
Functions, and Azure Functions offer scalability and cost-efficiency, automatically allocating
resources based on demand. However, challenges such as cold-start latency, performance
variability, and security risks exist. To address these issues, optimization strategies are needed to
improve performance and reliability. This paper analyzes the benefits, challenges, and
optimization techniques in serverless computing, synthesizing recent research to identify gaps
and propose solutions for better performance in modern application development.
For further click the link:
https://www.researchgate.net

References:

https://www.baeldung.com
https://www.techtarget.com

You might also like