We need to capture performance data as the user is leaving the page. The Beacon gives us a reliable way to do that.
We need a queue to push our incoming performance data to. What we have is NGINX. Can we use NGINX and a custom log format to create a poor man's queue? You bet we can.
Users can't actually sign up for an account. Today we fix that.
We need distributed session state because load balancing with sticky sessions is whack. Spoiler: We DON'T roll it ourselves.
ASP.Net Core Identity is too magical. Will rolling authentication ourselves finally catch up to us?
Redis only supports a handful of data types. Our data model has to fit within them. Are we crazy for trying this?
Testing framework arguments are almost as bad as tabs vs spaces. We've definitely picked the right one though. We're professionals.
We thought we were done with infrastructure work. We were wrong.
We've finally finished screwing around with basic groundwork. Today we start writing actually useful application code! First, can we connect to Redis?
A pre-built playbook from Ansible Galaxy lets us easily install Redis. (Even we don't re-invent the wheel every time.)
A web application isn't much use if it isn't running. We'll hand in our neckbeard cards and copy+paste our way out of the problem.
It's best practice for ASP.NET Core applications to have a "real" webserver in front of them. We'll configure NGINX for the job using Ansible. We don't hate all best practices.
Being Linux, some tweaks are needed right out of the box. Since we aren't proper neckbeards we rely on Ansible to ensure we get them right for each new machine.
How to buy a wildcard SSL certificate like grumpy old men.
We need a SSL certificate for our new site. Let's Encrypt makes it easy, right? Actually, it's complicated.
We setup TeamCity to deploy the latest build to Linux using SSH. TeamCity is so slick, it can make anyone look like a wizard. Even us!
We finally use our new SSH key to provision our Linux dev server with Ansible. Witness the "Hello World" of Ansible setups.
We create a new SSH key to use for authentication to a Linux dev server. We're rather unhip so we do it all from Windows.
We set up a repeatable CI build for our new .NET Core project so we can pretend we're professionals. We're old and crotchety though so we still use TeamCity instead of something hip.
Every journey begins with a single step. We wade through the myriad options of creating a new .NET Core project in 2020. We just make it look harder than it needs to be.
We introduce ourselves, and discuss what we're building and why.
Fun proposed architecture diagrams too!