⚡️Tools and products we use at Spike - part 1
Tags: aws, serverless, startup, tools
Published: 2020-05-11 01:45:08

Every organisation uses a multitude of a number of tools to support their business. We will try and cover all of the ones we use at [Spike](https://spike.sh)

This post has all the DevTools or say products used by engineering. 

[Second part](https://dev.to/spike/tools-and-products-we-use-at-spike-part-2-31fh) on all the marketing, support products we use 👉

_PS: not covering our tech stack here_

##Servers


###1. [AWS](https://aws.amazon.com)
This is pretty clear. AWS is reliable and has over __160+ products 😳__. From deployments, hosting, storage and monitoring. All of it on AWS.

{% twitter 1013959156678578176 %}

###2. [Vercel](https://vercel.com) (formerly Zeit.co)
We use this for all of our serverless needs. Why didn't we directly use AWS lambda instead? Well, only because the setup on Vercel is so damn easy. Highly recommend them.

###3. [MongoDB Atlas](https://www.mongodb.com/cloud/atlas)
For all our DB hosting needs. We haven't moved all of it yet but soon we will finish this migration.


##Monitoring
###1. [Cloudwatch](https://aws.amazon.com/cloudwatch)
We monitor a bunch of things from network I/O, CPU, Disk space, Autoscaling, etc.

###2. [Healthchecks.io](https://healthchecks.io)
We have a few cron jobs running at different schedules. While setting cron in Linux is easy, we still monitor it via Healthchecks to make sure it is actually running __successfully__. You can set your cron expression and they will make sure they are getting a ping ensuring it's all good. Super awesome tool. 

###3. [Uptime Robot](https://uptimerobot.com)
Uptime monitoring to make sure all of our endpoints are up and running. Some endpoints everyone should monitor 👉

1. Website
2. Dashboard
3. DB endpoint 
4. Cache endpoint

__Good alternative is [Apex Ping](https://apex.sh/ping)__

###4. [Datadog](https://www.datadoghq.com)
For our Application Performance Monitoring. When incidents happen, we want to make sure that alerts reach to you within one second. Datadog helps give us great insights on how our application peaks at certain times.

Why Datadog and not New Relic?

{%twitter 1257936993956192259%}

###5. [Nginx Amplify](https://amplify.nginx.com)
To monitor our web server. Nginx is clean, easy to setup and has a lot of plugins you can use.

###6. [Sentry](https://sentry.io)
For all our error monitoring. They provide a ton of features and we have hardly ever been disappointed. Integrates with most languages and frameworks, catches all exceptions on serverless too 👏

_tip: send additional data and use tags to identify your errors better with Sentry_

##CI/CD
###1. [Buddy.works](https://buddy.works)
We rely the most on Buddy for one simple reason - the UI. 

You don't have to spend a lot of time configuring on Buddy or even writing YAML files to get it running. This is easily the most underrated tool we use.

###2. [Travis CI](https://travis-ci.org)
This is in our wishlist. We have been writing a lot of test cases in the past couple of months and in the near time we will be integrating Travis. _shoutout to Kent 👉 for building [testingjavascript.com](https://testingjavascript.com/)_
{%user kentcdodds%}


##DevTools
###1. [Ngrok](https://ngrok.com)
Clean, succinct and does the job well to expose our localhost urls so we can build integrations we ease. We have reserved about 4 subdomains on ngrok so we don't have to spend time on reconfiguring the webhook urls for dev environment. 

###2. [VS Code Live Share](https://marketplace.visualstudio.com/items?itemName=MS-vsliveshare.vsliveshare)
Great for remote teams, we usually have a Google Meet call and pair program many-a-times using VS Code Live Share. 

###3. [Twilio](https://twilio.com)
Easy to integrate with extensive documentation that you will _actually read_. Easily a very reliable platform for us to alert customers via Phone and SMS.

###4. [Sendgrid](https://sendgrid.com)
We send all email notifications using Sendgrid. Reliable, easy to use SDK and so far not that expensive. 

Non-developer tools are next in this short series.