{"id":1043961,"date":"2019-03-19T00:00:00","date_gmt":"2019-03-19T00:00:00","guid":{"rendered":"https:\/\/www.beyondsoft.com\/sg\/insights\/blog\/serverless-architecture-series-part-2-deeper-dive-into-serverless-architecture\/"},"modified":"2019-03-19T00:00:00","modified_gmt":"2019-03-19T00:00:00","slug":"serverless-architecture-series-part-2-deeper-dive-into-serverless-architecture","status":"publish","type":"blog","link":"https:\/\/www.beyondsoft.com\/jp\/insights\/blog\/serverless-architecture-series-part-2-deeper-dive-into-serverless-architecture\/","title":{"rendered":"Serverless architecture Series (Part 2: Deeper dive into serverless architecture)"},"content":{"rendered":"\n

I hope my previous blog gave you got a good start at learning about serverless architecture. As promised, here is some more information on this topic to enrich your understanding of this implementation pattern. That\u2019s right, in my opinion it is an implementation pattern. Because if you dig deeper, it’s not like there aren\u2019t going to be any servers or backend systems. There will still be functions deployed as microservices, but isolated to a level that it’s easy for it to be scaled quickly.<\/p>\n\n\n\n

So what makes an application serverless?<\/h3>\n\n\n\n

There are essentially four features that help convert your traditional functions and services to serverless. These are:<\/p>\n\n\n\n

Zero administration<\/strong> – One of the primary goals of the serverless-based microservices model is to provide the freedom to developers to deploy the code without provisioning anything beforehand, or managing anything afterward. No more dependency on the infrastructure\/Ops teams. No concept of an instance, OS running on that instance, or any instance management overheads.<\/p>\n\n\n\n

Auto-scaling<\/strong> – Secondly, serverless-by-design lets your service providers manage the scaling challenges. There\u2019s no need to fire alerts or write scripts to scale up and down. This allows for handling peaks and turfs in traffic and also the occasional lulls on the weekends, without any manual intervention. Tech serenity, if you ask me!<\/p>\n\n\n\n

Pay per use<\/strong> – The concept of Function as a service provides the ability to compute and manage services based on usage, rather than pre-provisioned capacity. No more paying for idle time. The results could be significant, in some cases up to 90% cost savings over a cloud virtual machine. That\u2019s real business value right there.<\/p>\n\n\n\n

Increased velocity<\/strong> – Driven by the quick-to-market needs of today\u2019s business models, this whole concept of being serverless gives developers the proverbial \u2018wings\u2019 and enables them to deliver functions on the fly. This is great for the Agile model of proving a functional concept and then designing it further.<\/p>\n\n\n\n

To summarize, the major advantages of a traditional cloud model vs serverless are:<\/h3>\n\n\n\n

Cheaper than <\/strong>traditional<\/strong> cloud – <\/strong>you only pay for the time these functions are running<\/p>\n\n\n\n

Scalable<\/strong> – support your business spikes and lows more efficiently<\/p>\n\n\n\n

Lower human resources<\/strong> – Once its set and configured, theoretically the system does not need human intervention. You do need to monitor the logs and take actions when the system performs out of the set limits<\/p>\n\n\n\n

Focus on user experience<\/strong> – this is key for business. As discussed throughout this blog, the whole concept gives business the ability to be agile in a true sense, allows them to try out new things, and fail quicker and move on to business models that actually work. It’s a win-win for any business.<\/p>\n\n\n\n

Is serverless the silver bullet?<\/h3>\n\n\n\n

Well, not exactly. As with any other new technology, it does come with its own challenges. Some of the obvious ones include:<\/p>\n\n\n\n

  1. Vendor lock in<\/strong> – At this point, the cloud service providers do not provide cross compatibility. Why would they? It\u2019s not in their best interest. So as a consumer, you are locked in with the platform where you start. From the developer\u2019s perspective, this is not as bad. Though when they have to integrate with services hosted on a different platform, they may have to negotiate a lot of challenges, such as connectivity, protocols, security and so on.<\/li>
  2. Learning curve<\/strong> – Serverless is a new concept and it does take some time for teams to ramp up to make the best out of it. Nevertheless, there are new developments happening all the time. For example, there are a Serverless Kit and a Serverless Platform being designed by some experts, which are supposed to ease all the challenges mentioned here.\n