⚡️Tools and products we use at Spike - part 1

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

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

Second part on all the marketing, support products we use 👉

PS: not covering our tech stack here

Servers


1. AWS

This is pretty clear. AWS is reliable and has over 160+ products 😳. From deployments, hosting, storage and monitoring. All of it on AWS.

2. Vercel (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

For all our DB hosting needs. We haven't moved all of it yet but soon we will finish this migration.

Monitoring


1. Cloudwatch

We monitor a bunch of things from network I/O, CPU, Disk space, Autoscaling, etc.

2. 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

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

4. Datadog

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?

5. Nginx Amplify

To monitor our web server. Nginx is clean, easy to setup and has a lot of plugins you can use.

6. Sentry

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

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

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

DevTools


1. Ngrok

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

Great for remote teams, we usually have a Google Meet call and pair program many-a-times using VS Code Live Share.

3. Twilio

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

We send all email notifications using Sendgrid. Reliable, easy to use SDK and so far not that expensive.

Non-developer tools are next 👉