According to the report of Cloud Factory, 19% of IT decision makers are currently using serverless architecture and another 42% plan to evaluate it within 24 months.
Many businesses are switching to serverless architecture yet they have no clear idea about it. Even when our software development company decided to give serverless architecture a try we were pretty clueless. One of the common misconceptions with serverless computing that I want to clear right now is it doesn’t mean the absence of server. There is a server but cloud provider handles the provisioning, scaling and managing of servers.
A. What is serverless architecture?B. Why use serverless architecture?
C. Is it worth it? Pros of using Serverless architecture
D. Mention worthy cons of using a serverless architecture
E. SO…. Is it worth it?
A. What is serverless architecture?
Serverless architecture, also known as serverless computing is a cloud computing execution model where the application server-side logic is coded by the developer and is run in a stateless compute containers that are event-triggered and fully managed by the cloud providers.
B. Why use serverless architecture?
Many businesses prefer to use or at least try serverless computing with the following objective:
- Greater Agility
- Faster production cycles
- Developers focus on coding and not on infrastructure management
- Easy execution of code without storing any data
- Developers can write code without worrying about the platform or operating system
By far I am sure you have understood how serverless increases the developer’s efficiency. And many businesses are using it nowadays. However, there are other benefits of using serverless architecture and let’s get into that now:
C. Is it worth it? Pros of using serverless architecture
1. Cost part
Compared to traditional servers, serverless computing reduces operational, developmental and maintenance cost while building and running applications. Also, some cloud provider like AWS and Azure offer the first 1Million requests for free and 400,000 GB seconds free each month.
Serverless architecture has helped many companies to reduce the cost. For instance, HeavyWater’s AWS bill amounted to $30,000 just after three months of launch. At first, they thought it was due to certain internal coding issues. But later when they switched to AWS Lambda, they were able to reduce the cost in three months from $30,000 to $4,000.
Similarly, Coca-Cola’s AWS bills were getting expensive as their oldest machines were operating on LaaS. Later, the company dropped its cost from $12, 864 a year to $4,490 a year by switching to a serverless architecture. And the cost was for around 30 million requests.
2. Gain new leads
Serverless computing enables your business to handle a huge amount of traffic and quick release of new updates. Also, the lack of server management makes your developers free and more efficient at their work. For instance, Bustle was running on a third-party PaaS and required time-to-time server management and monitoring. The time spent on server management delayed the release of new features and the rollout of new code changes. So, they decided to migrate their site to AWS.
They used serverless architecture and created a complete serverless website called Romper.com using Ember.js and Riot.js. Later they built a Bustle iOS app on serverless and eventually migrated their main website bustle.com to a serverless backend. Now they don’t have to waste their time or amount on server management. Likewise, they are able to release a new feature plus handle a large amount of traffic easily. They are more efficient than before and can focus on the application.
Similarly, you can also use serverless to gain new leads and make your team more efficient. You can easily gain new leads and retain current customers with the timely release of new features, code changes and proper traffic management.
3. Scalability
Serverless architecture is scalable and can manage multiple requests at the same time. For instance, the popular MMORPG (Massively Multiplayer Online Role-Playing Game) called Dragon Quest X introduced a new feature through which the players can take the screenshots while playing the game. The screenshot taken by the player would first go to the server for processing and thumbnail was created along with copywriting watermark. However, the issue was that the server would normally receive 200-300 images per minute for processing and in holidays or events, the number would reach up to 6000 images per minute. As a result, each image sent for processing could take up to four or more hours to process.
So, the company switched to a serverless architecture. And now, the screenshot is uploaded to Amazon s3 and it triggers an AWS Lambda serverless function for it to process. The image processing which took hours was completed over 10 seconds with serverless.
4. Faster time to market
It doesn’t matter how much awesome or well-performing application you develop or, have if your targeted users don’t feel the need to buy it. At time founders can be so consumed with developing a perfect solution or product that they forget marketing the product is also crucial.
But time to time it has been proved that marketing is needed for business success and you should start it as early as possible. One of the best example to understand this point is of a company called A Cloud Guru. This company was started by two brothers Ryan and Sam Kroonenburg. The A cloud Guru was built in 30days by Sam which included online learning platform, discussion forum and payment processing. It is a simple application built using a serverless system and no backend. After just 4weeks of development time, they started to fully focus on marketing and in 6 months they were able to accumulate 40,000 users without any server.
Similarly, you can also shift your focus into marketing a functioning product which promises a good user experience rather than developing a highly technical product. The quicker you market higher the ROI you get.
D. Mention worthy cons of using a serverless architecture
It may seem like serverless is the secret portion which can magically solve every problem you face and make your business successful but the reality isn’t quite like that. Just like every technology, framework, methodology, concept and so on, serverless also has its own set of limitation and disadvantages. And you should consider them before making any business decision. If you seek detailed information about serverless architecture suitability for your business then you can contact us. We can help you out.
1. No control
In serverless, the execution part is completely up to the vendor you choose so, you slowly lose control of your own operation.
2. Using long tasks can cost you more
Serverless isn’t suitable for a long task. For instance, AWS Lambda gives you only five minutes to execute a task. If it requires more time then you have to start a new function. So, if you are using it for long tasks then you have to create more functions and you can be charged more.
3. Vendor Lock-In
Let’s say you don’t like the current vendor’s service or another vendor’s service sounds much better and you want to switch but data migration isn’t that easy. There is no standardization so even though both vendors are providing serverless, there is a high chance of vendor lock-in.
4. Cold Start
If the server isn’t in use for about 40-60 minutes then the cloud providers can keep the servers down. And it will take up to 30 seconds to a minute to bring the server back live. So, the cold start is another drawback you shouldn’t forget about.
4. Unpredictable cost
Lastly, you pay as you use. But how can you estimate how much will you use? So, the cost of using serverless is sort of unpredictable. Sure, the operational and maintenance cost is low but the actual cost of using serverless can be whatever amount for your business. Thus, the cost analysis you perform cannot be exactly accurate enough to take major decisions on the basis of it.
E. SO…. Is it worth it?
Moving towards Serverless should definitely be on your company’s road map. However, the technology and tools are not very matured yet. Take your time with it. Experiment with a smaller functionality of your application and move your way forward.
To get a more in-depth experience of serverless, our developer challenged himself with a simple project of GPS tracking application. On the next article, he will explain more on how to build the application (with source code). So, stay tuned for that or subscribe us to get notified.
Concept and principles of Serverless are amazing and I like how it enables the developer to focus more on functionality development and less with platform management. Plus, serverless architecture helps to keep the company up to date with the technology and it has also pulled the interest of job seeker; Developers. Overall I think it’s worth to try it.
Resources:
Serverless Framework is a great tool and resource to help you move towards Serverless architecture.
Drop your email address below if you want us to keep you updated
(Subscribe)
Passionate engineer who loves talking about Machine learning and ways to improve Software development practices. CEO and Director of Software Engineering of Wolfmatrix.