Show your Tool: AWSInfo
In this series, we present AWS tooling from the community, for the community. We talk directly with the tool makers. Who are they? What problem does the tool solve? And what motivates them to contribute to open-source AWS tooling.
cloudonaut: Tell us a little about yourself, your history with AWS, and your motivation to develop AWS tooling.
Florian Motlik: I always enjoyed building things that other people can use to become more productive. At Codeship, a CI/CD Startup I co-founded, I’ve worked with many customers on how to improve their processes. This has shown me a lot of different ways people use or build tools or what’s missing for them.
When we started using AWS in 2012, it was clear that AWS is great at building scalable services, but isn’t that good at building tools for smaller or medium-sized teams (or small to medium-sized teams in large organizations) so I started to build tools. After working at Serverless Inc in 2016 and becoming a consultant in 2017, this became more obvious, so I began building out my own tool suite. Since then AWS has invested in CLI tooling a lot, so it’s getting much better.
cloudonaut: What problem does your tool solve?
Florian Motlik: With cloud services, you regularly need to look up some information, see if something is properly deployed or what the status of some resource is. Going through the AWS Management Console 1000s of times a day is slow though, and the AWS CLI is a great tool but who can remember all the specific command names and flags. I wanted something that kind of replicates the data from the AWS console in my terminal but makes it easy for me to filter out and find what I’m looking for. I need a good read-only client for my AWS Infrastructure.
It also needed to be easy to extend and easy to adapt for teams if they want to get different information than the tool provides by default. That’s why it is built on top of the AWS CLI and allows you to print the CLI commands AWSInfo is using under the hood so you can copy and adapt them to your needs easily.
cloudonaut: Who should use your tool? Who should not?
Florian Motlik: It’s pretty much a tool for anyone using AWS in any way. Whenever you want to look up the IP of your EC2 Instance, check if your DynamoDB has the proper indices defined or see what the policy attached to a specific role states exactly you want to use AWSInfo.
cloudonaut: Show us a short demo of your tool
Florian Motlik: Watch the Introduction to AWSInfo on Vimeo.
cloudonaut: How can we use your tool?
Florian Motlik: It’s a bash based tool that builds on top of the AWS CLI, so you don’t need anything but bash and the AWS CLI. The easiest way to get the tool though is by installing it as a Docker container as all dependencies are properly resolved then.
Looking for a new challenge?
The docs on my website will give you a good introduction.
cloudonaut: Where can we find more information about your tool?
Florian Motlik: You will find detailed information at https://theserverlessway.com/tools/awsinfo/.
cloudonaut: Are you aware of tools that solve a similar problem than yours? What’s the difference?
Florian Motlik: AWLess started with a similar idea as far as I know but has gone far beyond that. The AWS-Shell is another interesting tool but doesn’t seem to be in current development. Other than that and the AWS CLI directly I’m not aware of any other tooling with that specific goal in mind.
The main difference to other tools is the ability to easily see which commands are used under the hood and can be moved into your scripts or Makefile and be adapted. AWSInfo is trying hard not to be smart, which makes it much easier to adapt to your use cases. Once a tool becomes too smart, it’s hard to change or contribute to it for people not deeply involved in its development. I wanted to prevent that issue from the beginning.
cloudonaut: What’s the roadmap for your tool? Are you planning any significant releases?
Florian Motlik: I’m constantly implementing new commands for AWSInfo. Basically whenever I’m in a customer project and either miss support for a specific service or a command I’m adding it. The downside of the bash approach with AWSInfo is that each service or command needs to be implemented separately, but that happens pretty quickly. The upside is that the information shown in the output is hand-selected to reflect the most important details, similar to the information presented in the AWS Management Console.
cloudonaut: How do you stay motivated to maintain your open source project?
Florian Motlik: As I’m working with my tools daily, they make me more productive and allow me to provide better consulting to my customers. It’s also really motivating to see other people start using my tool and become much more productive and happy with how they interact with AWS when they don’t have to click around the AWS Management Console all day.
cloudonaut: Are you attending any conferences within the next few months where the community can get in touch?
Florian Motlik: I’ll be at a few local events over the next few months here in Vienna and maybe a few events in Germany as well. With two small kids travel to conferences is a bit rare currently, but if someone wants to get in touch send me an email to firstname.lastname@example.org, or on Twitter. And of course, raise an issue on GitHub on any of my open-source projects and check out my website with guides, blog posts, and other AWS related content.
What tools do you use to make your AWS work easier? Share your favorite tool with us!