How Can Serverless Computing Benefit Your Startup?

Written by RohitAkiwatkar | Published 2018/02/01
Tech Story Tags: serverless | cloud-computing | startup | serverless-computing | tech

TLDRvia the TL;DR App

Infinite independence + cost effectiveness + boundless flexibility = Happy Startups Everywhere!

Having previously worked with the startup, I know that the above equation might look like a dream but not impossible to achieve!

Here’s how!

In the middle of the year 2017, Gartner published a report on Hype Cycle of Emerging Technologies which pictured a promising future of serverless technology.

Source : Top Trends in the Gartner Hype Cycle for Emerging Technologies, 2017

At that time, serverless was relatively new term, however, it was already portraying how ideal and efficient option it is than the traditional cloud for startups.

But still, I wan’t enough convinced! Like most of us!

giphy.com

However, due to the hype, I couldn’t resist myself from attending the Serverlessconf NYC’17 to end the myth. That experience of looking so closely and carefully at the la-la-land of serverless revamped my mind! And today I know by what method can individuals like us, you and me, working in startups, irrespective of big or small, can benefit from it.

The hardest thing for technology startups is attaining enough traction before cash flows in! Moreover, running a successful startup is race against time: speed and agility is something you have to master at any cost!

_The only absolute certainty is that the bank balance declines every day. The faster the better._– Steve Blank & Bob Dorf, The Startup Owner’s Manual

Also, there is high stress on the developing a team to deliver new products and services. Creating business value to customers is important than keeping yourself busy with maintaining infrastructure.

Startups are expected to scale quickly and deliver excellent features. As it grows the focus shifts towards reliability, performance, cost efficiency, security and operational efficiency.

And hence, to achieve the sustainable minimum lead time to business impact (primary goal of software development), more and more startups are inclining towards serverless technology!

If you haven’t its high time you should consider this idea. You ask why? Let’s discuss briefly in this blog post about what serverless architecture brings on to the table.

What is Serverless Architecture?

Serverless doesn’t mean there are no servers! I agree, the term serverless is quite misleading. There are servers definitely, but you don’t have to worry about their scaling, maintenance, etc. Because computing resources are used as service. It can be classified as the third generation application architecture after monolith and microservices.

It is basically a cloud model where you pay only for the time your code is executed on the cloud infrastructure.

In other words, serverless architecture allows developers to deploy their code in the form of small function packages. The platform on which the code runs is managed by the cloud providers.

These functions are executed in server-side stateless and event-triggered containers which are managed by third party vendors. These functions are invoked by various external sources, like containers, database, storage, etc.

With the use of products such as AWS Lambda you don’t have to manage service discovery, container instance scaling and container-level logging which was essential in container driven microservice architecture.

This is exceptionally good for developers working in startup as they can focus more on deployment part rather than maintenance.

Learn more about Serverless Architecture:

  1. Serverless Architecture by Mike Roberts
  2. The Comprehensive Guide to Serverless Architecture

In the Battle of Startups to capture the market share, would you prefer to jump-in as a Nomad with slow baremetal WWI Arms & Ammunition or as a Warrior with Agile & sharp-edged Serverless Fighters? Choice is yours!

Why Startups Should Notice?

#1. Startups & MVPs

Given the fact that serverless brings high level of agility, it has already been widely adopted by startups for building Minimum Viable Products (MVPs).

Serverless is emerging as a major turnaround for startups as it doesn’t necessitate the need of IT resources until the software/app has crossed the initial phase of validation. With the flexibility of modifying the function as whenever you want, startups can leverage this to modify their MVPs as well.

#2. Startups & IoT

Since it is 2018 already, there is definitely a no-brainer for the fact that IoT plays a critical role in transforming the business operations because of the added agility. Since implementations of IoT are task-specific, magnanimous, accurate though short-lived, serverless architecture is the most suitable platform you can think of!

Source: Serverless Reference Architecture for IoT Backend built on AWS platform

Moreover, it provides the benefit of distributed system architecture which sufficiently satisfies the requirements of IoT. Hence, if used in an innovative manner, serverless approach can actually help in building a stable and productive IoT systems.

#3. Startups & Wide Range of Serverless Technologies

As per Business Wire’s findings, the Serverless market is going to hit 7.72 billion by 2021. Serverless ecosystem is quite mature for startups to make applications easily. AWS Lambda, IBM Bluemix, Fission.io, Iron.io, Google Functions and Microsoft Azure offers the availability of using serverless technology with a minimal commercial constraints.

Sounds like an opportunity where you can explore greater and new possibilities? It is definitely.

Benefits of Serverless Architecture

#1. Deploy in Minutes

Serverless architecture brings with it the benefit of faster deployment. While IaaS can take days and months, serverless applications can be deployed within minutes. Moreover, concurrent uses of that same function can happen within milliseconds.

This is perfect for cash-trapped startups as it provides flexible computing needs. Deploy as the idea strikes, sounds exciting!

#2. Infrastructure Cost Savings

A large transport organization I know personally shifted to serverless architecture as a solution to their problem of unpredictable and slow response times between databases. This not only enabled real-time operation but also facilitated real-time reporting and analytics.

Moreover, this created a centralised source of sales data. This had a significant reduction in redundant data in their repository due to lack of consistency. As a result, the organisation saved $340,000 annually by cutting money spent on maintenance and support for the existing systems.

#3. Pay per Millisecond

While your traditional dedicated server might be spinning and running and charging you 24*7 irrespective of whether anybody uses it or not. However, this is not the case with serverless architecture.

For example, if I use my server 2 minutes in the morning, 4 minutes in the afternoon and 1 minute in the evening, it will charge me exactly for 7 minutes or 420,000 milliseconds, no less and no more!

#4. Freedom of Scale

I am sure you agree over the fact that developers spend most of their time in learning how servers work rather than developing new products, don’t you?

Also, there are concerns about server requirements, software, CPU resources and what not! However, with serverless, all these things are managed by provider including horizontal scaling! All you need to do is just write functions and hit deploy!

#5. Language of your Choice

Hiring a variety of developers for language specific servers isn’t a feasible option for startups, is it? However, these are the thing of past and use of multiple language is viable within serverless architecture.

You can have a python developer, node.js developer and C# developer, all working together for a single goal and no one of them will be required to learn a new language at all!

Case Study: How HeavyWater Inc. reduced their AWS billing from $30k in September to $4k in December using Serverless Architecture

HeavyWater Inc. is a startup which focuses on using AI based virtual assistants to facilitate Business Process Outsourcing with their infrastructure built entirely on AWS.

During the initial times, the product involved batch file processing whose orchestration infrastructure was built using SWF and EC2 instances which were monitored and executed 24*7. However, there were some flaws in the architecture.

The Epic Problem

At that time, EC2 instances were sized at t2.micro, however, the AWS billing continued increasing. Within 4 months, there were 1000 EC2 instances running which increased the cost from $10k to $30k.

Even after spending all the money, the output was still an issue with an average rate of 4000 files in 24 hours.

They assumed initially that the failure was related to their codebase. However, it wasn’t the case! After 2 months of trial and error time, AWS support team suggested them to consider Step Functions and Lambda Services.

And that’s how the magic started!

What’s next?

There was a lot of dilemma whether this will help in meeting their requirements especially reducing the cost. Moreover, will the serverless performance suffice their requirements seamlessly?

The got started by converting all of their microservices into AWS Lambda functions. Meanwhile, they also started converting their smallest workflow into a step function.

There were lot of problems during the migration from microservices to AWS Lambda. However, result was quite positive!

The Result?

The immediate results included the following things:

  • Downward trajectory of compute costs.
  • Batch processing time reduced from 24 hours to 16 hours and continued decreasing.
  • No. of EC2 instances reduced to 211.

However, the major benefit emerged in terms of time saving due to minimal monitoring, as a result, they’d devout more time in designing future services. Isn’t this is what all startups should be focusing on?

Conclusion

Serverless is growing day by day and it is quite broader than you expect!

As a technology startup, you can use the full potential of serverless architecture. The development team can focus on improving the coding standards instead of maintenance and provisioning of compute resource for their applications. Thus you can concentrate all your attention on building a flawless product that your customers would love!

Want to talk more about Serverless? Connect with me on Twitter @RohitAkiwatkar


Published by HackerNoon on 2018/02/01