StackShareStackShare
Follow on
StackShare

Discover and share technology stacks from companies around the world.

Product

  • Stacks
  • Tools
  • Companies
  • Feed

Company

  • About
  • Blog
  • Contact

Legal

  • Privacy Policy
  • Terms of Service

© 2025 StackShare. All rights reserved.

API StatusChangelog
  1. Home
  2. Companies
  3. Raygun
Raygun logo

Raygun

Verified

Raygun lets you detect, diagnose and resolve issues in your web and mobile apps with greater speed and accuracy

Wellington, NZraygun.com
41
Tools
3
Decisions
118
Followers

Tech Stack

Application & Data

8 tools

Node.js logo
Node.js
Hugo logo
Hugo
.NET logo
.NET
JavaScript logo
JavaScript
MySQL logo
MySQL
PostgreSQL logo
PostgreSQL
Druid logo
Druid
ASP.NET logo
ASP.NET

Utilities

3 tools

Slack logo
Slack
Taxify logo
Taxify
Google Analytics logo
Google Analytics

DevOps

1 tool

PagerDuty logo
PagerDuty

Business Tools

2 tools

InVision logo
InVision
FullContact logo
FullContact

Team Members

harley1984
harley1984
freyjaspaven
freyjaspaven
Olwiba
Olwiba
mcmillryan
mcmillryan
Sam Holt
Sam HoltFront-end Engineer
Mitchell Duncan
Mitchell DuncanSoftware Engineer
jscottnz
jscottnz
John-Daniel Trask
John-Daniel TraskCo-founder & CEO

Engineering Blog

Stack Decisions

John-Daniel Trask
John-Daniel Trask

Sep 13, 2018

We chose AWS because, at the time, it was really the only cloud provider to choose from.

We tend to use their basic building blocks (EC2, ELB, Amazon S3, Amazon RDS) rather than vendor specific components like databases and queuing. We deliberately decided to do this to ensure we could provide multi-cloud support or potentially move to another cloud provider if the offering was better for our customers.

We’ve utilized c3.large nodes for both the Node.js deployment and then for the .NET Core deployment. Both sit as backends behind an nginx instance and are managed using scaling groups in Amazon EC2 sitting behind a standard AWS Elastic Load Balancing (ELB).

While we’re satisfied with AWS, we do review our decision each year and have looked at Azure and Google Cloud offerings.

#CloudHosting #WebServers #CloudStorage #LoadBalancerReverseProxy

559k views559k
Comments
John-Daniel Trask
John-Daniel Trask

Sep 13, 2018

There’s no doubt WordPress is a great CMS, which is very user friendly. When we started the company, our blog wasn’t really our top priority, and it ended up being hosted on a fairly obscure server within our setup, which didn’t really change much until recently when things become harder to manage and make significant updates.

As our marketing team increased, the amount of traffic that found us through our content marketing increased. We found ourselves struggling to maintain our Wordpress install given the amount of theme updates, plugins and security patches needing to be applied. Our biggest driver to find an alternative solution however was just how slow Wordpress is at serving content to the end user. I know there will be die hard fans out there with ways to set things up that mean WordPress sites can load quickly, but we needed something a lot more streamlined.

We could see in our own Real User Monitoring tool that many users were experiencing page load speeds of over five seconds, even longer in worst case scenarios. Hugo is an open source static site generator that has enabled us to reduce load times by over 500% and make our blog far more maintainable across the whole team.

The Raygun marketing site runs on a .NET CMS called N2 but we plan to swap that out with Hugo as well in future.

#StaticSiteGenerators #SelfHostedBloggingCms #SupportSalesAndMarketing

347k views347k
Comments
John-Daniel Trask
John-Daniel Trask

Sep 13, 2018

The core Web application of Raygun is still a Microsoft ASP.NET MVC application. Not too much has changed from a fundamental technology standpoint. We originally built using Mono, which just bled memory and would need to be constantly recycled. So we looked around at the options and what would be well suited to the highly transactional nature of our API. We settled on Node.js, feeling that the event loop model worked well given the lightweight workload of each message being processed. This served us well for several years.

When we started to look at .NET Core in early 2016, it became quite obvious that being able to asynchronously hand off to our queuing service greatly improved throughput. Unfortunately, at the time, Node.js didn’t provide an easy mechanism to do this, while .NET Core had great concurrency capabilities from day one. This meant that our servers spent less time blocking on the hand off, and could start processing the next inbound message. This was the core component of the performance improvement.

We chose .NET because it was a platform that our team was familiar with. Also we were skilled enough with it to know many performance tips and tricks to get the most from it. Due to this experience, it helped us get to market faster and deliver great performance.

#Languages #FrameworksFullStack

216k views216k
Comments