1. 2- You mentioned abstracting from the underlying vendor tools; how do you balance between abstractions being a hindrance to troubleshooting and applying advanced config?
It’s a great question. If the abstraction is poorly designed, it is a major obstacle to troubleshooting or using advanced functionality from an external service or product.
We’ve learned a lot over time, Fury is now 8 years old, but overall, the benefits of abstracting versus not abstracting have proven far superior. We may have given up some functionality in favor of abstraction.
An exciting thing about having the size of Mercado Livre is that the vendors support us a lot, we have teams that are very close to helping with troubleshooting or adoption, but mainly due to this proximity, troubleshooting does not become a problem once we identify whether the same is with a vendor X or Y. I would say that the most complicated is to determine with which VENDOR we have a problem sometimes. One interesting thing is that we have reports of War rooms in which Vendors help Vendors. After all, we’re all Nerds, and we like a challenge!
Now, if your company doesn’t have that much proximity to vendors or can’t afford good support, I recommend taking a little more care with the abstraction. It doesn’t make it unfeasible, but it can be more expensive than a lock-in in the medium term.