Serverless in the form of stateless function. The

Serverless platform architecture There are many people thinks that there are no servers when they saw the term serverless, there are servers but developers don’t need to worry about to manage those servers. They no need to worry about that how many servers are required and what should be the capacity of those servers, serverless automatically increase and decrease the amount of servers and the required capacity according to the workload. This provide an idea that computation is in the form of stateless function. The main ability of a serverless platform is that it is an event processing system, as you can see in the figure 1. In the serverless platform the service should manage a set of user defined function, which take an event and sent it over HTTP or receive from an event source and decide which event has to dispatch to which function, then find an instance of that function and if we don’t have it then create a new one, assign the event to the instances of the function, wait for the execution logs collect them, make it available to the user, and stop it when we don’t it any more. The challenge over here is to define a functionality that can measure some things efficiently for example fault tolerance, cost and scalability. The serverless platform must need to manage queue of the events, bases on that when the event came, what is the state of the queues, schedule the function execution and remove the resources when functions are no longer or they are in an idle state, at the end it should also needs to carefully manage scale up and scale down and failure which came in the cloud environment.Fig. 3 Serverless platform architecture CharacteristicsThere are various characteristics which help can help us to differentiate between the numbers of serverless platform. At the time of choosing a platform developer should be aware of these properties.Cost: Usually cost is measured according to the resources which is used by the serverless platform when functions are running and user only has to pay for the time which is used complete the function. The resources are measured on the basis of memory or CPU and the pricing model varies according to the platform providers.Limits and performance: There are many limits which is set on the resources according to the code. Limits are the no of concurrent requests, max size of the CPU or memory resources for function invocation. These limits can be increased as the users need grow for example concurrent request threshold and it’s also depends on the platforms for example memory size.Programming languages: Serverless platform support many type of computer programming languages which include java, python, C#, nodejs, JavaScript etc. Almost all the platform support most of the languages. Some platform also accept a packet in a form of a container image e.g. (Docker) in which the code is written in any language and this is supported by a well define API.Programming model: At present, serverless platforms usually process one main function which takes a input in a form of a JSON object and gives a result in a form of a dictionary.Composability: Serverless Platforms usually offers a way to call one serverless function from another, there are some platforms exists which gives us higher level way to create these functions which helps us to construct more complex apps in an easier way.Deployment: It is very easy and simple, usually developers just give a file which contains the function source code, but there are many option where we can put the code inside a packet and use it in a form of Docker image with binary code   Security and accounting: Serverless platforms are working with different user and each user has its own specific privileges so therefore function execution should be isolated between users and users can also understand how much they have to have to pay.Monitoring and debugging: All sreverless Platforms supports basic level of debugging which we can use using print statement and we can saw them in the execution logs. Maybe some additional facilities can be provide to developer to help him find the bottlenecks, error tracing and better function execution understanding. Serverless platforms current state All the serverless platform have many similar points, they have same programming, pricing and deployment model. The main difference between all serverless platforms is the cloud ecosystem, currently serverless providers trying to make their platform as easy as they can in term of using services in their own ecosystem which can force developers to use their services native to that platform. Programming ModelWe can write the code for our function from the one of the language which is supported by your serveless platforms. From the languages you can choose any language you want, but there is a common pattern to write a code, also the code must accept the local file system and we have to write a function code in a stateless style and there should be no linking in the underlying infrastructure. For example AWS lambda stateless function can launch as many copies as the functions needed according to the incoming rates and requests of the events, these functions are not always running on the same scale it depends upon the requests.    function main(params, context){return {payload: ‘Hello, ‘ + + ‘ from ‘ +};}stateless function can launch as many copies as the functions needed according to the incoming rates and requests of the events, these functions are not always running on the same scale it depends upon the requests   function main(params, context) {return {payload: ‘Hello, ‘ + + ‘ from ‘ +};}EcosystemAs we already discussed that all serverless platform vendors are trying to make their services better for the developer so that they use their services and due to the stateless nature of the serverless functions an ecosystem should have a scalable functionality so it can support different functionalities as a developer want to have a successful deploy severless application. For example many functions want to retrieve a state from a permanent storage and there are many existing ecosystem that provide a function that help API calls to different storage system.Existing Serverless PlatformsAmazon’s AWS LambdaAWS Lambda was the first platform which was introduced in 2014 to solve the high computation problems like how can we deploy and manage online applications without using our own physical machine. If we compared the traditional model server based approaches and lambda model has many advantages. Lambda model serves different customers in a shared common pools of server which is managed by the cloud providers. Lambda give us a variety of key dimensions in which we have cost, programming model, deployment security, monitoring. Lambda support many languages which include Node.js, Java, Python, and C#.Google Cloud Functions Google Cloud Function recently release their Alpha version for serverless system in 2017. GCF deliver basic FaaS functionality so that you can run your serverless function which is written in Node.js in responses to HTTP events or calls from some Google Cloud services. Right now this functionality is limited, in near future version they will going to grow it


I'm Alejandro!

Would you like to get a custom essay? How about receiving a customized one?

Check it out