Guys in this blog we will discuss about what is serverless architecture, you guys must have heard about Amazon Web services, Microsoft Azure or Google cloud services and also get familiar to considering these services with serverless word. So the question is, what is serverless? Is it actually a serverless indeed? Is it possible to deploy anything without a server? … So i will try my best to answer these questions through this blog, so lets find out.
What is Serverless
If i say according to the definition provided by Amazon is serverless architecture is a method to make and run application and services without having managed or arranged infrastructure, your all made application sure run servers but all the server management and arrengement formalities done by the providers, you do not need to worry about provisioning, scaling and managing to run your application, database and storage systems.
You might get confused by the definition, but it tries to mean you don’t need to worry about managing anything Amazon, Google Cloud or Microsoft Azure will take care of it. You just can see your application getting deploy just by sharing your code. Lets understand this thing by an example , assume you have made an application and get irritated, confused and faced lots of errors to deploy it. Consider you have built these applications with the help of Python and Jango and facing lots of troubles. So the matter is you have invented lot of time and worked hard for this application so what options has left to you as Developer. Now in presence of serverless architecture Developer has two choices first one is
- VPS base deployment means buy your own virtual private server and later deploy their application
- the second one is they would share their code to serverless services means allow to do serverless deployment via Amazon Aws, Google cloud or Microsoft Azure.
In that case you just need to share the source code and the dependency name and rest responsibility is over Amazon Aws, Google cloud or Microsoft Azure services. So what is happening here is, we share a source code and the serverless services provide us a dashboard regarding to our application.
Now the most asked questions about serverless architecture is that servers are actually server less indeed? Means those services does deploy without a server?
So the answers is, it is a myth, nothing is server less, the fact is that your providing code regarding to your application is managed by someone else and takes the all responsibility and formalities and for doing so charges a amount from you.
So in these competition you will see there are lot of serverless provider out there like Amazon Aws, Google cloud, Microsoft Azure and many more and provides you quality service comparing to VPS based hosting. So basically you get benefits indeed.
If i say about the advantage of serverless architecture is that you save lot of time, normally you spend lots of time depending on the complexity of your application. Cause all the formalities and responsibilities are taken by the service provider. You save your time and end your stress, cause you really don’t need to manage anything , you just upload your source code and the service provider will do all responsibility of like scale up, deployment or assume all of a sudden 10 million user come to your application or the tension of your website getting down everything your service provider will take care. The biggest advantage of serverless is it will automatically scale up and scale down according to the number of people visiting to your application.
- The serverless services you are using is not your server, means you have gone to serverless, you just deploying your application , the server is managed by the service provider. So assume you are doing load testing and by mistake you have simulated 1 or 2 billion user and the charge of your serverless service will go up. If it would be VPS so your server will go down. But in serverless services it will automatically scale up and charges you huge cost
- Second disadvantage is that your service provider might limits your API, also might disconnect your ports you can do nothing. The service provider can restrict your application with the help of server and the cause would be anything like you wouldn’t able to send email cause server has restricted SMTP port and the reason would be like spamming.
- Another disadvantage of serverless is lack of operation tools, means you want to monitering or check the logs but you would be quite unable to do that cause the dashboard provided by the service provider gives the overview bit unclear.
Overall the concept of serverless architecture is still amazing, if you are thinking of having big business and have decent financial support you can go for Amazon Aws serverless service.