Useful Tools for Your Serverless Journey

Nowadays, Serverless is a buzzword in town and has been gaining plenty of attention in the tech industry. This is because of less infrastructure management and fewer infrastructure cots. You'll pay once it'll run.

So, What is Serverless ?

Serverless is the native architecture of the cloud that permits you to shift a lot of your operational responsibilities to your Cloud provider, increasing your agility and innovation. It allows you to create and run applications and services without thinking about servers. It eliminates infrastructure management tasks like server or cluster provisioning, patching, OS maintenance, and capacity provisioning. 

You can build them for nearly any sort of application or backend service, and everything needed to run and scale your application with high availability is handled for you.

Now you know, what is serverless. So, Next Question is " what are the tools which will help us in our Serverless Journey".

There are multiple tools, which will help you in your Serverless journey. So, I have listed some of the popular tools which are used by many Tech industries.

Code

Always store your code in a source control system. In recent years, more and more functions are codified, such as, BI, ops, security, and AI. For new developers, it is not always obvious that they should use source control for some functionality. Here are some tools to help with it:

  • GitHub
  • GitLab
  • BitBucket

Some Cloud Provider Services:

  • AWS CodeCommit
  • Visual Studio Team Services
Build and test

The most common mistake I see is manually configuring build jobs in the GUI. This might be good for a small POC but it is not scalable. You should have your job codified and inside your Git repository. Here are some tools to help with building and testing:

  • CodeFresh
  • GitHub Actions
  • Jenkins-x
  • CircleCI
  • TravisCI

Some Cloud Provider Services:

  • AWS CodeBuild
  • Visual Studio Team Services
Security and governance

When working in a serverless way, you end up having many Git repos. The number of code packages can be overwhelming. The demand for unified code standards remains as it was but now it is much harder to enforce it on top of your R&D org. Here are some tools that might help you with the challenge:

  • Snyk
  • Datree
  • PureSec
  • Aqua
  • Protego
Bundle and release

Building a serverless application is connecting microservices into one unit. Here are a couple of bundlers:

  • Serverless Framework
  • Gohugo
  • Architect
  • Up
  • Claudia.js
  • Jets
  • Middy
  • Pulumi
  • Auth0

Some Cloud Provider Services:

  • Amplify Framework
Package

When working with many different serverless components, you should create small packages of tools to be able to import across different Lambda functions. You can use a language-specific store like npm or RubyGems, or use a more holistic solution. Here are several package artifact stores that allow hosting for multiple programming languages:

  • GitHub Package Registry
  • Jfrog Artifactory
  • Sonatype Nexus
Monitor

This part is especially tricky when working with serverless applications, as everything is split into small pieces. It’s important to use monitoring tools that support this mode of work. Here are some tools that can handle serverless:

  • Rookout
  • Epsagon
  • Lumigo
  • NewRelic
  • DataDog

Some Cloud Provider Services:

  • Amazon CloudWatch

I :heart: Serverless! :smile: Enjoy