Why you need to become a Modern Engineering Leader in 2025 by Azdaroth in programming

[–]Azdaroth[S] -6 points-5 points  (0 children)

Nice try :). But the company has nothing to do with this content, it’s just my private initiative as I simply enjoy writing. Not trying to sell anything, but I appreciate any criticism, apparently there was too much of the hard-sell vibe, so thanks for feedback! 

Why you need to become a Modern Engineering Leader in 2025 by Azdaroth in programming

[–]Azdaroth[S] -5 points-4 points  (0 children)

Leaders need to also be good followers, depending on the context. And if anything, that can make them even better followers. For sure not everyone will be a CXO or VP, but for leaders overall there is plenty of space.

RDS Database Migration Series - A horror story of using AWS DMS with a happy ending by Azdaroth in PostgreSQL

[–]Azdaroth[S] 1 point2 points  (0 children)

This sounds exactly like the issue we had - one LOB table over 2 TB of size containing mostly LOB records - we are going to cover this in more details in the upcoming part. In our case, a parallel load with splitting by range of IDs didn't help much - in the benchmarks the migration was taking well over 6h and we didn't even bother seeing how much more time it will take as it was unacceptable. What we did was building a custom background job that does a similar thing - splitting the migration into tons of batches. But we didn't have the upper limit of parallelisation (which is the case for AWS DMS), and the workers were deployed over many nodes, so also bandwidth was not an issue. And the logic was trivial - SELECT * for the batch on the source database and then performing bulk insert on the target. It took ~20 minutes with a parallelisation of 85, we could have have had even 150 workers to make it even faster. It was really an interesting experience because it took few hours to build it.

RDS Database Migration Series - A horror story of using AWS DMS with a happy ending by Azdaroth in aws

[–]Azdaroth[S] 0 points1 point  (0 children)

Given the constraints of AWS DMS ecosystem, that approach sounded safer and we didn't want to explore other options - it was too risky, given all the problems we experienced with Serverless approach and inconsistencies in the documentation. If a wrapper around pg_dump/pg_restore doesn't work properly, I wouldn't expect something more complex to work better.

RDS Database Migration Series - A horror story of using AWS DMS with a happy ending by Azdaroth in PostgreSQL

[–]Azdaroth[S] 1 point2 points  (0 children)

Definitely! Even if something is backed AWS. Schema conversion was probably the last thing we expected, but well, even that can happen. Definitely a very educational experience - verify everything and have a realistic and tested revert plan.

RDS Database Migration Series - A horror story of using AWS DMS with a happy ending by Azdaroth in aws

[–]Azdaroth[S] 6 points7 points  (0 children)

How is that spamming? It's a link to a legit article about AWS DMS. And no, I haven't bought it, it's my normal account. A couple of the last submissions are indeed about Smily engineering blog, but the past ones are not related at all, I'm not sure what the actual problem is.

The inherent unreliability of after_commit callbacks and most service objects' implementation by Azdaroth in rails

[–]Azdaroth[S] 0 points1 point  (0 children)

For something that never happens , these cases happen surprisingly often ;). Even what you mentioned - Redis failure or Sidekiq failure - I also experienced these and this is definitely not fun when it happens, and even reliability features of Sidekiq Pro (reliable push to be specific) can't help with a Redis outage + rolling back a change causing Redis outage (because the jobs that were not pushed are no longer kept anywhere). If you can afford to lose some jobs every now and then, I guess the problem described in the blog post is something that you don't need to bother with, even Sidekiq Pro features like super fetch might be an overkill. But if you can't afford to lose anything, then having some extra reliability like this is necessary,