Operations | Monitoring | ITSM | DevOps | Cloud

How Raygun increased transactions per second by 44% by removing Nginx

Here at Raygun, improving performance is baked into our culture. In a previous blog post, we showed how we achieved a 12% performance lift by migrating Raygun’s API to .NET Core 3.1. In publishing this, a question was asked on Twitter as to why we still use Nginx as a proxy to the Raygun API application. Our response was that we thought this was the recommended approach from Microsoft. It turns out this has not been the case since the release of .NET Core 2.1.

Get The Most Of Your .NET Builds With JFrog Artifactory

Give your DotNet ecosystem the full power of DevOps. The JFrog Platform covers the full application lifecycle of .NET builds from developer fingertips through distribution to consumers while covering application security, vulnerability analysis and artifact flow control. In this webinar will see how you can configure your .NET builds, so that they take full advantage of JFrog Platform for managing the lifecycle of your .NET artifacts.
Sponsored Post

Achieving a 12% performance lift migrating Raygun's API to .NET Core 3.1

Here at Raygun, improving performance is baked into our culture. We don't just think about our application performance, but more broadly, we look at our own infrastructure and ask if there's anything we can do to make it more performant for our business and for our customers. Two years ago, we switched our API from Node.js to .NET Core and achieved a 2000% increase in throughput. To continue that story, we recently upgraded .NET Core 2.1 to 3.1 and saw a 12% increase in performance. We enjoy presenting our performance findings, so in this post, we'd like to give some context into why we upgraded and the conditions that helped us achieve the 12% performance lift.

Everything you need to know about .NET 5.0

If you’re a developer of .NET supporting enterprise apps developed in the .NET framework, you should know how the .NET 5 would impact your current enterprise app. Moving forward, there will be only one .NET to target macOS, Windows, Linux, iOS, Android, and more. Along with the release, there are new .NET APIs, language features, and runtime capabilities. The look and feel of the code and project files in .NET 5 would be the same, regardless of the type of app being created.

Creating cross-platform applications with .NET on Ubuntu on WSL

.NET is an open source software framework for building cross-platform applications on Linux, Windows, and macOS. Ubuntu on WSL allows you to build and test applications for Ubuntu and Windows simultaneously. What happens when we mix these together? This blog will demonstrate how to install a .NET development stack on WSL, build a simple OS-aware application, and then test it on both Linux and Windows.

KMC - Windows Kubernetes Cluster Support in Rancher 2.4 - 2020-05-20

Windows containerization efforts continue to grow and deploying workloads on a hybrid Kubernetes cluster might soon be in your future. Rancher fully supports creating and managing Windows Clusters today and we would like to show you how it could look like within your organization.

How to Extract Actionable Intelligence With C# Logging

When applications are deployed in the production environment, developers expect them to work smoothly without any performance issues. However, applications often experience unexpected bottlenecks, making it crucial to monitor applications. One of the simplest ways to monitor a C# application is to emit, save, and index log data for search, analysis, and troubleshooting. We’ll discuss how you can monitor your applications while making the most of C# logging.

Episode 16: Using Redis for Distributed Sessions in ASP.NET Core

We need distributed session. Spoiler: We DON'T roll it ourselves. In-memory sessions stop working as soon as there is more than one server. Most production environments have more than one server so the session issue needs to be dealt with. There are two options for sessions in a web farm. First, a load balancer can be used to lock each user on a specific box. This lets us continue to use in-memory sessions. The second is switching from in-memory to distributed session storage.

Parsing Query Strings in .NET Core

We recently needed to parse and modify some query strings while building Request Metrics. Query string parsing has never been pleasant in .NET, has it improved in .NET Core? We were familiar with HttpUtility.ParseQueryString() for the task, but that API has a major landmine. With the release of .NET Core, Microsoft took another swing at it. We figured we’d try the new way and see how they did! If you want the fully uncensored version, check out the video above.

Episode 13: Testing with NUnit in .NET Core

We've started writing code for Request Metrics. That code needs to be tested. We need a unit test framework for our .NET Core solution. We've used various frameworks on our .NET projects over the years, but enough has changed in .NET Core to require a small investigation into unit testing options. Ultimately, we settled on NUnit because of its good balance between simplicity and features.