The Serverless Way Tool Suite is a collection of small focused tools to help you build on AWS. They’ve been built because existing tools were either not of adequate quality, or were trying to add layers on top of AWS instead of purely focusing on bringing better usability to AWS services.
They all follow the same set of ideas to make the tool suite a consistent experience.
Too many tools try to make cloud services better by introducing syntax or infrastructure abstractions on top of AWS. While this sounds helpful in the beginning it can quickly get you to a point where a tool isn’t doing exactly what you need it to do, but because you have these additional layers you don’t have the flexibility to work around the limitations.
All tools of this suite include only UX improvements, but no further abstractions on top of AWS. You always work with AWS services directly, just with some nicer UX that make you way more productive. This also means that you can replace any single tool anytime and you won’t even know it was there before. Nothing will hold you back if there is a better tool out there.
Abstractions are often included to make one tool do everything while trying to reduce complexity (and oftentimes features). While this was understandable when the tools needed to bring organisation to many simple EC2 instances, this same idea just doesn’t apply to an infrastructure that glues together dozens of high level services. One tool that works really well for one use case might be completely unusable for another.
A Suite of tools that all fulfill a specific need, work well together but can also work separately helps with making sure you can solve all your problems with any combination of self built and externally built tools.
Every tool has to fulfill one specific use case. If that use case is sufficiently fulfilled that tool is finished and doesn’t need to be able to do more. When something new comes up that doesn’t fit a specific existing tool we’ll build a new one.
Having complete focus on every tool means its easy to swap them out, but also to quickly grasp what a tool is good at and how to use it.