as one of the members of Zango technology team, we were invited to join the second edition of Devoxx Morocco organised in Marrakech, one the most beautiful cities in morocco, I participate in many interesting conferences, and many of theme sticked in my head and I will cover one of them in this blog.
the first conference that I will talk about is Serverless - The Future of the Cloud?! presented by Bert Ertman, as you read in the title of the conference, Bert talked about the future of cloud and Serverless technology, and in the following article we are going to talk about What is serverless and what is used for and advantages and disadvantages of this technology and more.
first of all and before going too far in the future of cloud lets take a look to the past of cloud, so we can see the whole picture, so far we use to deploy our application in our own server or a customer server, and that added another task to devloppent tasks which managing servers and selling, it was a very difficult mission to manage hardware to fit into our program needs overtimes.
and the more the programmes need to grow up it become very difficult make the physical server more powerful and more scalable to handle all the process, at this point eveyonesthought that maybe the virtualization will solve this problem ,
And the idea behind that was to create virtual machines where we can deploy apps and the more the programmes need more resources we can clone the VM and placed in other server with no need to do too much configuration, this idea was a good solution at that time, but it has more disadvantages as the big size of the VM and the slow scaling process, for example,
if you want to make a copy of the development server to the beta server, you have to clone all the VM with a size that can go to 2GB or more than that, and in that way or another you still have to manage servers and hardware,and when the things are about big amount of data and processing it increases the challenge to the IT department,at that point an other concept shows up to break up the hardware resources and programmes ,
its Cloud Compute where you deploy your apps to the cloud and you don't need to manage any servers and no hardware resources, but you still have to install some dependencies to run your program properly, such as jdk or web server like apache or nginx, PHP, and other tools, to solve this problem another revolution technology come out to solve this problem and provide programs in an isolated environment to be run in any platform, its containers with docker, containers ,
until now and whatever the technology you use, you still need to pay for resources, either you pay for investing in your own server, which is very expensive or you pay for the cloud provider and the two of these, you spend money for resources whatever you use them or not, so what if we can pay just for the using time or for the processing charge, for this purpose the serverless technology is made n serve lessisn't just a technology it a fashion of programming too, so what is serveless?
Serverless Also known as Functions as a Service (FaaS) , or Function PaaS (fPaaS) as deﬁned by Gartner , Some people refer to it as Back-end as a Service (BaaS) ,
Functions are the unit of deployment and scaling and not the application its self or components. so you dont need to scal all the app just because one piece of the code is requested a lot , you just need to scal the function its self .
No Machines, no VMs, or Containers are visible in the programming model.
Never pay for idle (no cold servers/containers or their costs)
Implicitly fault-tolerant because functions can run anywhere
Main Beneﬁts :