markdown guide
 

I'll begin:

Here is our Infrastructure used in Gitote

Open Source

  • GoLang - Programming Language
  • PostgreSQL - Database
  • XORM - Go ORM Framework
  • Semantic UI - User Interface
  • GitHub Octicons - GitHub's icons
  • Font Awesome - Icons
  • jQuery - JS library

Infra/Services

  • DigitalOcean ($15 Tier/Month)° - Entire Gitote Platform (Planned to move PostgreSQL to another Droplet)
  • DigitalOcean ($5 Tier/Month)° - Prometheus and Grafana for monitoring
  • CloudFlare ($20 Plan/Month)° - For SSL, DDoS Prevention, Firewall and CDN
  • Netlify (Free Tier) - For providing static assets via CloudFlare CDN
  • Godaddy(.in domain $4/Month) - Domain Registration
  • Gitote - Git Hosting
  • GitLabCI, BrowserStack - DevOps
  • Sentry($26/Month)° - Error Tracking
  • NGINX - Web Server
  • Heroku Toolbelt - For development(one-click launch)

° - Sponsored

 

My stack is Rails, so I started with Heroku, which is still my go-to to get most projects off the ground. But as we out grew the Hobby dynos it quickly became cost prohibitive for us, as we're financially bootstrapped and trying to keep costs as low as possible.

I just switched us over to Hatchbox + Digital Ocean. We went from paying $65 a month on Heroku for 512mb memory and 1x CPU ($50 was just for a Postgres server!), to $50 a month for Hatchbox + Digital Ocean for 4GB of memory and 2x CPU. And we can also deploy multiple apps without going up in cost, so if I need to add a microservice or something it won't cost any extra. So far very happy with the switch!

 
 

We're full-stack JavaScript(building with TypeScript). If something is not JS based it has to be RESTfull and run in Docker container.

Our technology stack is

Frontend

  • Material
  • Aurelia

Backend

  • Docker Swarm for orchestration (even on standalone)
  • NGINX for TLS termination, caching, load balancing, proxying and serving static content
  • ArangoDB for graph, document, key-value store, search and data-centric microservices
  • Node-RED for wiring together APIs and online services with Flow-based JavaScript powered way
  • crate for logs
  • minio for tier 1 storage
  • imgproxy for fast and secure resizing and converting remote images
  • borg for backups

Infrastructure services

  • VULTR for compute
  • Sysdig for monitoring
  • healthchecks.io for cron monitoring
  • Cloudflare for CDN, WAF, NS, Load Balancing, CA
  • Postmark for transactional emails
  • Mailgun for mass emails
  • Twilio for sms
  • rsync.net for offsite backups
  • B2, wasabi for tier 2 storage
  • Stripe for payments, Stripe Atlas for incorporation

Security

  • exposed services accessible only over https and only through Cloudflare with WAF, some with active rate limiting, some processed by workers
  • SSH via jump host behind VULTR FW, open only for admin IP, closed when connection is closed. using short lived SSH keys (YubiKey on the way)

BizDevSecOps

  • GitLab
  • Google Suite
 
 

Previously I've used Heroku mostly. Recently I switched to Dokku, which emulates a Heroku like environment on a VPS using Docker under the hood.
I wrote a post about my migration here! dev.to/coreyja/migrating-from-hero...

This weekend I actually moved off the Digital Ocean box I had been moving and moved onto a much larger SSD Nodes box! (Which I want to post about soon too!)

 

Our current stack for a rails app is:
1 x AWS Ec2 t3.medium
1 x AWS Ec2 t2.small
2 x RDS t3.small (Postgres)
And Nginx as web server

Classic DEV Post from Dec 7 '18

What is a type of "overconfidence" you have observed in developers?

There are certainly a lot of ways developers can be "underconfident" in the for...

Yoginth profile image
🤟 Designer & Developer • 🚀 Love Startups • 🎵 Music Animal • 🎏 Shipping to Glitch