On 27th October 2017, Teknospire was a part of the Serverless Computing Summit 2017 held by CodeOps Technologies along with Oracle Startup Accelerator. Key highlights of the summit were -
At the summit, we had speakers such as :-
- Srushith Repakula, CodeOps addressing Serverless: Why it is Hot and why it is not
- Amit Gupta & Arvind Srinivasan, Oracle addressing Democratizing Serverless: The Open source FN project
- Mohd. Nasiruddin, Microsoft addressing he Apt Datastore for Serverless apps
- Madhusudan Shekar, AWS addressing Serverless And IOT
- Manoj Ganapathy, CodeOps addressing Serverless Architecture and patterns
- John Willis, Sandeep Alur(Microsoft), Vidyasagar Machupalli(IBM) joining
the panel discussion.
Topics touched upon in the Summit
Serverless architecture allows its users to to run their applications without having to manage the servers and the infrastructure. The resources and the infrastructure are managed by the Cloud provider. The application will still run on the server but the resource management will be done by the cloud provider.
What is Serverless Computing?
The highlights of serverless deployments are: -
- Serverless Computing: Pros & Cons
Serverless architecture has its own drawbacks. Know what they are: -
- No server management: -There is no need to any software or runtimes and no server maintenance and management is required. The server management is taken care by the provider itself.
- Auto Scaling: -The scaling of the application is done automatically as and when required rather than adding individual units of servers.
- High Availability: -The availability of the application is given by default by the provider and do not need to be designed for high availability.
- Cost Effective: - The serverless architecture is more cost effective as compared to the traditional servers as the user has to pay for the resources that are used by the application and there are no costs when the application is in the idle state.
Serverless architecture’s unit of scale is a function. In other words, the business logic is run on the serverless architecture by using the functions. The AWS lambda, uses Function As A Service(FaaS) while making use of serverless architecture. FaaS provides a platform to execute code in response to the events without worrying about the complexity of building and maintaining the infrastructure. The serverless architecture can be achieved by building an application using the FaaS model. A serverless app can be as simple as running a few lambda functions on AWS to accomplish a task or it can be used for the entire backend which can comprise of hundreds of such functions. In a microservice architecture, the application is broken down into smaller services so that they can be managed independently, and FaaS is further one step down by breaking the application to functions and events.
- Affecting Efficiency levels: -Serverless may not be effective for long running applications. In some cases, using long tasks can be more expensive than running a workload on a dedicated server.
- Vendor Lock-in: -The control of the application as it is completely maintained by the vendor and not the user.
- Monitoring and debugging: -Performance monitoring and diagnosing excessive resource usage is quite a challenging when compared to the traditional server setups. Additionally, code runs in a not open source environment thereby making local replication of performance characteristics impossible.
- High Response Latency: -The functions that are not used frequently may have a higher response latency as compared to the deployment that is continuously running on a server.
The architecture of serverless framework is as follows :-
- Framework of serverless architecture: -
Web Server - All the static content of the web server such as CSS, HTML, JS can be stored on a storage such as S3.
FaaS Solution - This business logic will reside in form of functions(FaaS). There are several examples where these functions can be deployed, such as AWS lambda, Google cloud functions, Oracle Fn. The functions here will read and write from the database.
Security Token Service(STS) - This will generate the temporary Amazon Web Services(AWS) credentials for the users of the applications.
User Authentication - AWS Cognito can be used for the user authentication. The AWS Cognito is integrated with the lambda function.
Ideal cases where the serverless architecture can fit into and be cost-effective than the traditional servers are : -
- Scenarios for using serverless architecture: -
Representing Teknospire, Sunil Poonia was there for understanding how the concept could be made use of in our FinX products. Thank You CodeOps Technologies, for sharing the knowledge.
- Data pipelines (ETL tools)
- Event -driven services