• 3 Posts
  • 201 Comments
Joined 2 years ago
cake
Cake day: July 1st, 2023

help-circle

  • Yes, containers make your application logic work.

    That’s the lowest hanging fruit on the tree.

    Let’s talk about persistence logic, fail forwards, data synchronization, and write queues next.

    Let’s also talk about cloud provider network egress costs.

    Let’s also talk about specific service dependencies that may not be replicatable across clouds, or even regions.

    Oh, also provider specific deployment nuances, I AM differences, networking differences…etc



  • It’s phenomenally expensive from a practical standpoint, it takes an immense amount of engineering and devops effort to make this work for non trivial production applications.

    It’s egregiously expensive from an engineering standpoint. And most definitely more expensive from a cloud bill standpoint as well.

    We’re doing this right now with a non trivial production application built for this, and it’s incredibly difficult to do right. It affects EVERYTHING, from the ground up. The level of standardization and governance that goes into just making things stable across many teams takes an entire team to make possible.



  • This is a good reason to start investing in multi region architecture at some point.

    Not trying to be smug here or anything, but we updated a single config value, made a PR, and committed the change and we were switched over to a different region in a few minutes. Smooth sailing after that.

    (This is still dependent to some degree on AWS in order to actually execute the failover, something we’re mulling over how to solve)

    Now, our work demands we invest in such things, we’re even investing in multi-cloud (an actual nightmare). Not everyone can do this, and some systems are just not built to be able to, but if it’s within reach it’s probably worth it.









  • Honestly, the people that shit on C# as a Microsoft product are just as bad as the Microsoft Fanboys. It’s an asinine position.

    Point at the objective reasons to use it such as first party frameworks, being incredibly stable and having some of the best devex and performance in the ecosystem. There are many reasons to use this, especially for large performance orientated, cross platform, long term stable applications.

    It’s a FOSS language anyways, the majority contributions aren’t even from Microsoft employees, seeing crazy high levels of community contributions… Its also supported by a legally separate entity from Microsoft themselves.


  • Yes, typescript is my favorite language. There’s literally no other language out there that is as expressive and has as strong of a type system as typescript. It is the master of making impossible states unrepresentable through meta programming. Being able to move domain complexity into the type system instead of into the runtime is some of the best ways you can reduce your runtime complexity and defects.

    Though .net is my favorite ecosystem, by far. It’s first party frameworks are unmatched in performance and developer experience. And its ecosystem is incredibly stable, unlike JavaScript. C# Is unfortunately a much less capable language from a type perspective than typescript though.

    If C# got discriminated unions and strings as first class type citizens that would launch it pretty far.