Feed powered byStream Blue Logo Copy 5Created with Sketch.
Raygun

Decision at Raygun about .NET, Node.js, FrameworksFullStack, Languages

Avatar of CmdrKeen
Co-founder & CEO at Raygun ·
.NET.NET
Node.jsNode.js
#FrameworksFullStack
#Languages

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

22 upvotes·504 views

Decision at Raygun about AWS Elastic Load Balancing (ELB), Amazon EC2, nginx, Amazon RDS, Amazon S3, WebServers, LoadBalancerReverseProxy, CloudHosting, CloudStorage

Avatar of CmdrKeen
Co-founder & CEO at Raygun ·
AWS Elastic Load Balancing (ELB)AWS Elastic Load Balancing (ELB)
Amazon EC2Amazon EC2
nginxnginx
Amazon RDSAmazon RDS
Amazon S3Amazon S3
#WebServers
#LoadBalancerReverseProxy
#CloudHosting
#CloudStorage

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

19 upvotes·418 views

Decision at Raygun about .NET, Hugo, WordPress, SupportSalesAndMarketing, SelfHostedBloggingCms, StaticSiteGenerators

Avatar of CmdrKeen
Co-founder & CEO at Raygun ·
.NET.NET
HugoHugo
WordPressWordPress
#SupportSalesAndMarketing
#SelfHostedBloggingCms
#StaticSiteGenerators

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

18 upvotes·2 comments·293 views