Serverless deployments have been around for several years, but now they are gradually beginning to see global adoption, from small developers to large organisations.
What is serverless architecture?
Well, in actual fact, there is a server, but it is further abstracted from the user. Once an http request is sent through an application, an instance of the server is created. It runs the request and once the request is returned to the user, the server dies.
This means that for applications that do not need a constant connection to the server, they are charged only for the resources that the incoming requests use. This puts serverless hosting on the pay-as-you-go model.
Why might it be particularly helpful in Africa?
There are aspects of serverless infrastructure that companies in Africa can seriously benefit from. The low number of data centres in most regions in Africa will still mean that most organisations will have their applications hosted in the cloud. Serverless applications mostly rely on cloud services.
The regional presence of some of these services, such as Amazon cloud, will encourage the deployment of applications with function as a service (FaaS). Whichever way to look at it, there is a place for serverless deployment in Africa.
What are the tools of the trade?
There are many open source software tools that enable developers to deploy applications. The quick and easy way is to directly deploy apps using the Amazon Lambda service which quickly enables companies to get their applications up with a few commands.
Language specific deployment functions include Zappa, which largely focuses on Python applications and is dependent on AWS Lambda. Serverless, a Node.js product, is yet another service that gives easy deployment tools for developers. Serverless lets you deploy your application to several cloud providers.
AWS Lambda service is probably the most popular serverless platforms in use today. But many more traditional service providers are jumping on the bandwagon.
In April this year, IBM introduced BlueMix OpenWhisk, a platform to help developers deploy event driven applications in their cloud. Oracle has also not been left out, launching the FN, a serverless infrastructure in October this year. Google also has its own Google Cloud Functions.
It is important to note that the platforms that offer serverless services such as Oracle, Google and AWS have different pricing points. There are also additional services such as storage that would be charged separately.
With major players launching such services, there is a clear shift in how hosting applications are being implemented. Organisations all over can take advantage of this new shift to drive costs down and make deployment as painless as possible.
There are also other tools and platforms not covered here, that could get apps quickly hosted, and more are certainly on their way.
What are the wider benefits to African organisations?
Serge Blockmans, Sales Director Cloud Application, Oracle, in charge of the East Africa region, said that FaaS could enable any organisation to deploy easily to the cloud.
“This will allow young Kenyan developers to develop components of applications that can be deployed quickly,” he said. “For the client, they don’t worry about the servers. Although in the backend there are still servers.”
Blockmans was sure that in due time serverless applications such as the FN open source project will be adopted in Africa, since cloud adoption is also growing.
“I see this as a real booster of productivity in programming in general,” he said.
Blockmans added that all applications can fall into this category where all or part of the application can be deployed ‘serverlessly’. But different companies have different needs and deployment could differ.
These might include a service that offers text messaging or API calls. For small developers or teams working on a new feature in organisations, serverless deployment could offer an advantage in the testing or beta stage of their products.
Small enterprises in Africa might have a challenge hosting and managing their own servers. Ensuring a strong ICT infrastructure might be delusional for small enterprises because of the cost factors. The cloud has been the answer to many enterprises as it takes away the management and at times the configuration of servers.
However, deployment can be a painful and convoluted process. With some of the tools discussed this can be reduced to a simple command line and your application goes live. For example, Zappa would be as simple as [zappa init] then [zappa deploy] command once the application is installed, and the application goes live on AWS servers.
“You don’t need to think about those servers in order to use their functionality to write and deploy enterprise software,” Alan Zeichick principal analyst at Camden Associates said in a recent article.
He added that, “Your IT administrators don’t need to provision or maintain those servers, or think about their processing power, memory, storage, or underlying software infrastructure. It’s all invisible, abstracted away.”
Since you use resources when you need them, the deployed server also offers scale and businesses do not have to worry about these. Again, being on a cloud infrastructure, resources are allocated as the application grows or as the requests come in.
“A benefit of that scalability becomes apparent if the functions are being run in a pay-as-you-go cloud platform. Because the scaling is so dynamic, the costs are directly tied to utilisation,” Zeichick continued.
Serverless deployment is gaining traction across the globe although it isn’t a new concept. Developers and organisations could have an easier time deploying and updating their applications, saving precious time in doing core duties. Only time will tell if this concept gains traction across Africa.
This story, "Why serverless deployment could be especially valuable to African businesses" was originally published by IDG Connect.