Hey everyone, it's been a while! Some of you might have noticed that I haven't published any new blog posts or videos lately. There's a good reason for that - I've been heads-down rebuilding Strive2Code from the ground up!

For the past few weeks, I've been pouring my nights and weekends into completely revamping my blogging platform. After many years with BlogEngine.NET (which relies on the .NET Framework and was initially built by Mads Kristensen as an open-source blogging product), I decided it was time to migrate away from my heavily customized, old and barely maintainable setup to something more modern, scalable, and cloud-native.

This wasn't just a simple migration - it was a complete overhaul. I had to provision all the necessary infrastructure with Terraform (fully automated), deploy the new blog and its customizations, set up communication services, and migrate almost 15 years worth of content! It was challenging but incredibly rewarding, and now I'm excited to share with you what I've built.

One of the biggest improvements is that the new platform runs on .NET 8, which is the current LTS version and is blazingly fast on its own. This foundation gives me a modern, high-performance base that should serve me well for years to come.

The Architecture overview

My new architecture follows a modern cloud-native approach, leveraging Azure's managed services to minimize operational overhead while maximizing performance. Let me walk you through what I've built...

 

The user experience

When you visit Strive2Code, you're experiencing a completely redesigned user flow. The frontend is clean, fast, and responsive across all devices. Behind the scenes, I've implemented:

  • Streamlined authentication. Keeps the content secure while making it easy for me to publish new articles.
  • Global Content Delivery. One of my priorities was making sure the blog loads quickly for everyone, regardless of where you're accessing it from. I've implemented content delivery network capabilities that cache static content like images and scripts at edge locations worldwide, dramatically improving load times.

The engine room

App Platform. The heart of my blog runs on a fully managed cloud platform that automatically scales based on traffic patterns. This means the blog stays lightning-fast even during traffic spikes (like when one of my posts hits the front page of Hacker News!). The best part? The platform handles all the boring stuff like OS patches and runtime updates, so I can focus on writing content rather than babysitting servers.

Serverless Magic. For operations like comment notifications and content processing, I've implemented serverless functions that spring to life only when needed. These handle:

  • Email notifications when someone comments on a post
  • Processing social media interactions
  • Smart content filtering

I love this approach because it's both elegant and cost-effective - I only pay for actual usage, and there's no server to maintain.

Data, data, data...

Database & Storage. All blog content is stored in a robust, managed database with automatic backups and point-in-time restore capabilities. For images and media files, I've set up cloud storage with built-in redundancy. Everything's optimized for fast delivery and reliability.

Smart Search. One feature I'm particularly proud of is the new search functionality. It's blazing fast and provides incredibly relevant results. Go ahead, try searching for something specific in my previous posts - you'll be impressed by how quickly you find exactly what you're looking for!

Observability

Managed Grafana & Modern Monitoring. One of the coolest parts of the new setup (and something I'm a bit of a geek about) is the monitoring system I've built around Azure Managed Grafana. Check this out:

Grafana dashboard

This isn't just a pretty dashboard - it's a real-time window into how the blog is performing. I've set up monitoring for all the key performance indicators and availability metrics. When something isn't performing optimally, I know immediately. It's like having a mission control center for my blog!

The Grafana dashboards give me gorgeous visualizations of everything from page load times to server performance. I can spot trends, identify bottlenecks, and make data-driven decisions about optimizations. For a tech enthusiast like me, it's almost as fun to watch these metrics as it is to write new content!

 

Why am I so excited?

It's fast and mobile-friendly, what else can I say? :)

It's rock-solid reliable

I've built this system with reliability as a top priority:

  • The blog stays online even if some components have issues
  • Content is backed up automatically
  • Critical components have redundancy built in
  • My monitoring system alerts me before small issues become big problems

It performs like a dream

The performance improvements are something I'm particularly proud of:

  • Pages load lightning-fast thanks to global content delivery
  • Images and media files zip to your browser from the nearest possible location
  • The database is tuned for speed and efficiency
  • Server responses are optimized for the fastest possible experience

The journey wasn't easy

Building this platform was an adventure with plenty of technical hurdles. Migrating 15 years of content without breaking links or losing comments was no small feat! Here's a bit about how I pulled it off:

  1. Infrastructure as Code. I automated everything using Terraform. This means I can recreate the entire platform with a few commands if needed, and every piece of infrastructure is properly documented and version-controlled

  2. CI/CD Pipeline. I built a smooth deployment pipeline that lets me test changes safely before they go live. When I write a new post, it automatically gets formatted, optimized, and published without me having to fiddle with servers or configurations

  3. The Big Migration. Moving 15 years of content, comments, and images was probably the most nerve-wracking part. I wrote custom scripts to handle the conversion and spent many late nights testing to make sure nothing got lost in transition

  4. Fine-tuning. Even after the initial migration, I spent days tweaking performance, fixing small issues, and polishing the user experience until everything felt just right.

What does this mean for you?

With this new platform in place, I'm finally ready to get back to what I love most - creating content about cybersecurity, DevSecOps, AI, and other fascinating topics in the IT industry. You can expect:

  • More frequent posts now that I have a streamlined publishing workflow
  • Faster, more reliable access to both new and archived content
  • A better reading experience across all your devices
  • Improved search to help you find exactly what you're looking for

I built this platform to create the best possible experience for you, my readers. There were many technical challenges, but seeing everything come together has been incredibly satisfying.

I hope you enjoy the new Strive2Code experience as much as I enjoyed creating it. Drop a comment below to let me know what you think, and stay tuned for lots of new content coming your way soon!