What you need to know before going serverless
Tags: serverless, monitoring, observability, lambda
Published: 2019-03-12 12:35:47

---
title: What you need to know before going serverless
published: true
description: 
tags: serverless,monitoring,observability,lambda
---

The world of serverless computing has gained a lot of attention in the last few years. There’s a buzz about it in the tech world, and a lot of tech professionals are boasting about the benefits this technology can bring to you and your business. The problem is that even though this may be true, it’s still a little difficult to decipher and filter all of the information that’s floating around on the web. My goal in writing this article is to help you navigate through this mass of information and help you build a foundational understanding of this world of serverless architecture.   

<img src="https://thepracticaldev.s3.amazonaws.com/i/m50wphrs7vnfwy079191.png" alt="Interest in serverless over the last 5 years"><center><i>Interest in serverless over the last 5 years</i></center>

Technically you've already taken the first step into your serverless journey just by looking at articles like this one. Just like with anything else in this world, conducting the initial research is imperative to gain a good foundation of understanding. 

Following are a list of five easy steps that I have written out for a basic understanding of what to do when choosing to switch to a serverless architecture: 

## 1. What Is a Serverless Architecture?

As stated above, the first step towards understanding something better always begins with a little initial research. So, the first thing to know about this world of serverless computing is to understand precisely what it is. You may have heard a couple of different names floating around out there like, “serverless cloud technology,” “serverless systems,” or even “serverless database.” All of these names are essentially talking about the same thing here. When you get down to it, they all point toward what we know as “serverless architecture.” 

A serverless architecture isn’t actually serverless, as you know, everything has to be computed physically, but what that name does imply is that YOU don’t manage any physical servers to use this type of computing. If you have ever heard of “The Cloud,” in the tech world, then that’s just a fancy word that means your company is using a lot of servers to create a powerhouse network that can process code chains for whatever application you are running. The beauty of serverless computing is that you don’t need your own servers to process your applications. All you do is upload your code to the service providers and they will provide the hardware based on your need.

Basically, you are still using servers to process your code and run your application, but you are now using someone else’s servers. This means you don’t need to run a huge server room that becomes costly with your utilities, and instead, you are just sending your applications to be processed and then delivered upon completion. All you have to pay for is the time it took to access their server and complete your request. And when you compare that to the old method of cloud computing, then you can definitely see the possible increase of efficiency for your company.   

## 2. Understanding the Benefit

The second step to take when you want to switch to using a serverless architecture is taking time to understand the benefits that this architecture can bring.

As you now know, a significant benefit that comes with using a serverless architecture is the reduction in start-up and running costs for your computing needs. To lightly state it again, you no longer need to buy bulky and expensive hardware for your company, and this means you will no longer have to run said hardware 24/7 which can be very costly.

Another benefit is the fact that you no longer have to use a “monolithic architecture” for processing your applications. With traditional servers, you had to process your code as one long chain from start to finish. This means that if something went wrong in the code, or if your code broke in one section, then your whole application would fail. If that was the case, then you either had to write a code patch hastily, or you had to start over from scratch and rewrite the entire code chain until your application was back up and running. And as you know, or can imagine, having to do this is no walk in the park.

The third benefit can be coupled with the second. So, if you are no longer using a monolithic architecture, then what do you use? You may have guessed it, but serverless computing uses a “serverless architecture” to process applications. To simply put it, this structure no longer processes code from start to finish, but instead, it breaks up an application into different sections and processes them all at the same time. These different sections then become what’s called “microservices.” The best part about this is that when you use a serverless service, that service provider (like Amazon Web Services for example) has a dedicated team of professionals who will process each part of your application for you. 

So, in regards to the benefits of using a serverless architecture, you no longer have to purchase costly equipment, or even run it for 24/7. You also no longer have to work with monolithic structures and the headaches that can come with them. Then lastly, each serverless service provider will have dedicated teams of professionals who will make sure that your application continues to process correctly. 

## 3. Which to Choose, Which to Choose…

There are numerous companies out there who will offer you their services as serverless cloud providers. Some are big names and others are start-ups, but the top four companies I have chosen to share are all companies that are dependable and have been around in the tech world for quite some time. You may have heard of services like Amazon Web Services (AWS Lambda), Microsoft Azure, IBM Cloud, and even Google Cloud. Anyone can recognize these big names in the tech industry, and thus most people tend to gravitate towards these services. Now, I can’t tell you which one is best for your specific needs, but these four services are among the most trusted. 

Each of these services come with relative ease of use, and each one will compare itself to the other. So, I encourage you to take some time and understand each benefit that the different services can bring you compared to their pricing. 

With that said, AWS Lambda has been around the longest and they continue to trail blaze through this world of serverless computing. I would suggest starting with them since they are easy to use and easy to switch to. 

## 4. Switching To A Serverless Architecture

After deciding which service you want to use, now it’s time to take the leap and switch over to your new serverless architecture. 

Most of the services I introduced in the last step have simple guides on how to switch or even professionals who are willing to assist you. All you need to do is start your account with the service of your choosing, and then follow the steps that they offer.
 
I’ll list the links for the four we already talked about:

* AWS Lambda 

* Microsoft Azure 

* IBM Cloud 

* Google Cloud 

## 5. Choosing The Right Tools

Now that you’ve gotten a little more info about serverless computing and the world of serverless architectures, it’s time to discuss a bit of the difficulty that can come with this system. 

Sadly, we can’t have everything the way we want it in this world, and so, we must give and take with the good and the bad. The same goes for serverless computing; even though there are a lot of benefits to using a serverless architecture, this new type of computing also has a learning curve. Don’t worry though; I wouldn’t tell you this without offering a solution as well. 

### The Problem:

Now that your application is divided into smaller sections to be processed faster and more efficiently, the problem arises with the fact that you can no longer observe your code altogether. Even so, most services will have communication between the different parts of your code, so that it’s still one application, but with all that communication comes what we call, “Chattiness.” Just like a loud room full of people, sometimes it’s hard to clearly understand the subject in which you are trying to communicate with or even put more simply, it may become harder to observe what is going on with each microservice that you are employing for your application. 

### The Solution:

So, many different people who love this new world of serverless computing have come to these same problems, and not only have they recognized them, but they have created a solution as well. That solution has come in the form of a dashboard for all the microservices that you employ for your application, and that is also exactly what our friends at Dashbird have created. <a href="https://dashbird.io/">Dashbird</a> is a beautiful example of a dashboard because Dashbird’s services allow you to monitor the performance, cost, and activity or each of your applications as well as allowing you to view each layer of your applications as well. They also have instant failure detection that can alert you on Slack or even email you directly if you need. And not only can they alert you, but they offer debugging and troubleshooting for your various needs as well. All of this also comes with top notch customer service from their team of happy professionals. 

<img src="https://thepracticaldev.s3.amazonaws.com/i/qlredy41s86doty9l70g.png">

Putting it all together, Dashbird has recognized the various troubles and difficulties that can come with serverless computing, and so, they have built a fantastic tool that will walk alongside you in this journey of serverless computing.

## Conclusion

When it comes to the world of serverless architectures, there is a lot of hype and buzz that can leave you with questions if you don't know how to properly sort through all the information that is being thrown at you. I hope my short list of steps was able to help you understand more about this world and the benefits that it can bring your computing needs. Not only that, but I hope you are able to make good use of great tools like the dashboard offered by the team at Dashbird.