# tylerrussell.dev ## Posts - [Cross-Account and Cross-Region Backups with AWS Backup (and friends)](https://tylerrussell.dev/2025/06/20/cross-account-and-region-backups-with-aws-backup-and-friends/): Reading Time: 30 minutesIn today’s edition of “don’t trust LLMs”, we learn that despite what AI tells you, AWS Backup doesn’t support Cross-Account and Cross-Region backups. It supports Cross-Account copying and Cross-Region copying, but apparently not together. As part of Masset’s Data Protection and Disaster Recovery policies, we determined that having backups separated by both region and OU account was a good idea. This follows fairly closely to AWS’s recommended best practice of using a separate, centralized account for an immutable history of backups and log. In the case of logging, this is a no-brainer. Most services require just a […] - [Save yourself time: Set the JVM TTL for DNS name lookups in AWS](https://tylerrussell.dev/2025/06/02/save-yourself-time-set-the-jvm-ttl-for-dns-name-lookups-in-aws/): Reading Time: 30 minutesI like to keep track of times I’m one of the lucky 10,000. Had such an instance today with the JDK and DNS behavior. Apparently most versions of the JDK cache DNS lookups indefinitely. If that’s not surprising to you, I’m guessing you’ve had a weekend debugging session similar to mine. I can’t be the only that didn’t know this. It feels like something I should have learned ages ago, but it took me 15 years of working in the JDK to finally stumble on the symptoms of it. As far as I can tell, the default […] - [My Thoughts on Kotlin: Perspectives after 4 years](https://tylerrussell.dev/2025/01/10/my-thoughts-on-kotlin-perspectives-after-4-years/): Reading Time: 30 minutesOften, when explaining to other devs that Masset uses Kotlin as our primary backend language, I receive inquisitive and questioning faces. “The Android language? On your backend? That seems odd… Have you considered rewriting it in Rust?” 🤨  In response, I’ve often found myself struggling to elaborate what it is that I specifically like about Kotlin and why we choose it as our de-facto language. For better or worse, we techies are a pretty judgemental bunch when it comes to technology choices. On paper, Kotlin (as a backend language) falls victim to many common downsides. Slower compile […] - [Multi-tenant SAML in an afternoon (using SSOReady)](https://tylerrussell.dev/2024/10/07/multi-tenant-saml-in-an-afternoon-using-ssoready/): Reading Time: 30 minutestldr; I took SSOReady up on their marketing tagline of “SAML in an afternoon”. Overall, it was a positive experience and despite not quite having a production-ready deployment in an afternoon, I think their tagline is a fair approximation of effort. Introduction Enterprise SSO logins are a weird dictomony. Implementing something like OIDC or SAML isn’t necessarily hard but there is always a debate of whether to implement it internally or use a vendor. There never feels like there is a simple answer. Your framework might support it, but you probably need to know more about SAML […] - [Protecting ECS Tasks From Scale-In](https://tylerrussell.dev/2024/08/23/protecting-ecs-tasks-from-scale-in/): Reading Time: 30 minutesAs part of the Masset digital asset management platform, we sometimes need to run tasks that take a long time. For example, when someone uploads a video, we may need to resize it to a few different sizes or extract the audio from it. Originally we used AWS Lamdba for this because it allowed dynamic scaling, but eventually we found that the hard 15 minute execution limit was causing us trouble. Instead of doing a bunch of tasks to work around the limit, we decided to create a simple ECS Task. The task simply checks SQS if […] - [Resolving downtime during rolling Single Page Application deployments](https://tylerrussell.dev/2024/01/22/resolving-downtime-during-rolling-single-page-application-deployments/): Reading Time: 30 minutesThis is the first post in a two-part series on how Masset identified and removed downtime when deploying it’s React-based Single Page Application (SPA) frontend. TLDR: Container-based static sites suffer from downtime when using rolling deployments. We can use a CDN (Cloudfront in this case) to mitigate the issue and get some fringe benefits in addition. Introduction When we first got started on building Masset, our primary goal was simplicity. Simple to build and simple to deploy. We really wanted to emphasize a focus on customer problems, not burn innovation tokens. To honor that simplicity, we went […] - [Week 10: Don't buy into the unfounded spam](https://tylerrussell.dev/2024/01/12/week-10-dont-buy-into-the-unfounded-spam/): Reading Time: 30 minutesThe age-old adage states that if you win the lottery, keep it a secret. Once it’s public knowledge, the vultures start circling. Unfortunately, after raising a round of funding, you don’t keep it secret. In fact, it often benefits you to shout it from the rooftops. I expected an increase in inbound spam once we raised funding, but what I did not expect was the sheer volume. I went from going days without emails (except customer ones) to a consistent volume of at least 8+ a day. That might not sound like that many, but for an […] - [Week 9: Masset's Boring Technology](https://tylerrussell.dev/2024/01/06/week-9-massets-boring-technology/): Reading Time: 30 minutesI missed blogging for a few weeks over the holiday season (ie sickness season), but we’re finally back in good health and in the full swing of things again. Coming back, I thought it’d be fun to document Masset’s early tech stack. It’s bound to evolve over time, so tracking that evolution will be fun. Innovation Tokens Before dumping the list of technologies, I thought I’d mention innovation tokens. As far as I know, the concept of innovation tokens was first introduced in an essay by Dan McKinley called Choose Boring Technology. I’d recommend reading the article, […] - [Thoughts on Pre-Seed Funding after closing Masset's first round](https://tylerrussell.dev/2023/12/16/thoughts-on-pre-seed-funding-after-closing-massets-first-round/): Reading Time: 30 minutesMasset recently closed a round of Pre-Seed funding for 700k! You can read all about it on techbuzz.news who graciously picked up the story. I won’t lie, given the current economic situation, raising anything feels like a great success. I’m extremely grateful to our investors have taken a chance on us. And believed in us enough to give us runway enough to work through the hard problems. I’m sure I’ll write a lot about Startup Ignition Ventures over the next few years, but I’ll just state upfront that being so aligned with your investors is awesome. Having […] - [Week 4: You Need a Support System](https://tylerrussell.dev/2023/12/01/week-4-you-need-a-support-system/): Reading Time: 30 minutesAt 5:30 PM on my last day of W2 employment, I wrapped up a final few emails, said a couple last goodbyes and closed my laptop. Then, I sat and stared at two blank monitors for a few moments. “What am I doing?” I thought. “I can’t start a company. Most startups fail. The numbers don’t lie. What makes me think I’ve got what it takes to beat those odds? This isn’t going to work…” The thoughts rolled around in head for a few minutes. My mood sunk. I second guessed myself. Instead of being excited, I […] - [Augmenting Sentry tracing in Spring Boot and MyBatis](https://tylerrussell.dev/2023/11/25/augmenting-spring-boot-and-mybatis-to-append-sentry-spans/): Reading Time: 30 minutesProblem: The default Sentry configuration for Spring Boot does not provide enough granularity to trace performance problems. Developers can augment code paths by specifically auditing them, but that feels too manual. Initial Setup Sentry is a great visibility tool for startups. Having used other options at larger companies, we choose Sentry at Masset for its pricing and ease of setup. It doesn’t meet all needs for monitoring and logging; there are better options out there for that. But when building a margin-focused company, you can’t go and spend a lot on vendors right up front. We’ve gotta […] - [Week 2: Internal Analytics](https://tylerrussell.dev/2023/11/19/week-2-internal-analytics/): Reading Time: 30 minutesThis week was invested in expanding our internal analytics capabilities. In order to deliver on our core values, Masset needs to be able to help customers identify how content is being consumed both 1) within the company and 2) externally by customers and prospects. We’ve got lots of big plans for how we can accomplish the external analytics portion, but to get started, we’ve gotta tackle the core pieces first. This week, we took our first major step forward! We delivered the initial version of Internal Company analytics. Okay, so technically we’ve been working on it for […] - [Week 1: I'm cofounding a company](https://tylerrussell.dev/2023/11/10/im-cofounding-a-company/): Reading Time: 30 minutesIt’s official, I’m starting a company. Well, me and my cofounder. Although this is something I’ve always wanted to do, I’m not a risk-taker at heart. I’d be remiss if I didn’t extend a heartfelt thanks for everyone I worked with at my previous employer and for all the wonderful lessons they taught me. I worked with some truly amazing people there and created some really cool stuff. I would not be ready to start a company today if I hadn’t had that experience. One of the many reasons that I originally took my previous role was […] [comment]: # (Generated by Hostinger Tools Plugin)