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
What is Serverless Computing?
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.
Serverless Computing: Pros & Cons
The highlights of serverless deployments 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 has its own drawbacks. Know what they are: –
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.
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.
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.
Framework of serverless architecture: –
The architecture of serverless framework is as follows :-
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.
Scenarios for using serverless architecture: –
Ideal cases where the serverless architecture can fit into and be cost-effective than the traditional servers are : –
Data pipelines (ETL tools)
Event -driven services
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.