Crunchy Bananas Case Study: No Time To Waste When Striving For Quality
# Crunchy Bananas Case Study: No Time To Waste When Striving For Quality
# How Crunchy Bananas Delivers Amazing Software Using Commandeer
Coming from Apple and being a core contributor to Ember.js, Cory Loken founded Crunchy Bananas with the mission to ship crazy good software for great companies. The days of some static web pages served by the servers are long gone. In this day and age, mobile and web apps do way more than displaying some static HTML.
"Commandeer is our go-to app to manage the infrastructure. It's amazing how much insight you get from FINALLY being able to see your back-end infrastructure visually." -Cory Loken, CEO @ Crunchy Bananas
Because web and mobile apps communicate with the back-end built on top of the cloud, you can quickly hit roadblocks if your cloud is not visible to your development team. If your team is using AWS for instance, your team now needs to use a different web console for each service. To bring advanced features of the cloud to customers, engineers may need to use 10 or more different services under the AWS umbrealla, such as API Gateway, Lambda, CloudWatch Alarms CloudWatch Rules, S3 and many more. Having the ability to view the system both at a macro as well as micro level is critical.
# Going beyond the API Gateway
When it comes to issuing requests to the back-end API, software engineers need to be able to see the whole picture. Seeing your plumbing just at the API Gateway level isn’t enough. Engineers need to see the requests going to the API Gateway, hitting a Lambda, and viewing the console output in CloudWatch Logs.
# Debugging queue based systems is challenging
Using a queuing system like AWS SQS helps you to decouple the pieces of your back-end infrastructure. Doing so helps you achieve greater resiliency and scalability. That said, decoupled systems are tough to debug and trace end-to-end, because there are multiple moving parts involved. You have the piece of the system pushing items onto the queue, the actual queuing system, as well as the system that pulls data off the queue to process to manage. Not to even mention the plumbing and system around the dead letter queue reprocessing.
# Bringing in Advanced Search Features
Users expect more and more from the apps they use today. One of the examples is adding advanced search capabilities with Algolia. It requires adding a search SDK to the client and the server with the ability to look up the index data to troubleshoot some issues during the integration phase.
This flow is cumbersome when implementing if you have to constantly go to the web console, rather than being able to invoke a lambda and instantly see the data in Algolia all from the same location.
Having a desktop app for managing cloud services is something that the team always wanted. Engineers use a mix of different tools to do the job. Having all the tools necessary in a simple yet powerful UI solves the day to day hurdles taking developer productivity to greater heights.
# API Gateway Requests, Logs, Testing, and more
Commandeer offers a tightly integrated API Gateway experience showing software engineers all relevant information in one place. Its efficient side navigation allows you to drill down into each resource and method for your API. Commandeer global search helps you find the resource or the method you’re looking for instantly.
Last but not least, the API Gateway Request Runner allows for hitting any endpoint and displaying not only the headers and body, but also the API Gateway invocation logs, and if the endpoint is connected to a Lambda, then also the accompanying CloudWatch Logs of the invocation. This experience is very powerful when trying to debug why something in your API is not working.
# Debugging SQS and SNS Efficiently
With a consistent experience for SNS (Simple Notication Service) and SQS (Simple Queue Service) that works seamlessly with both LocalStack and AWS, engineers can test their messages to debug issues quickly. Seeing the contents of your queue and the ability to inspect each message gives engineers some deep insights into the running system where multiple services are connected with each other.
# Algolia Index Management
Being able to dive into the search data from the same consistent UI is priceless. Once you set up your account in Commandeer, you no longer need to worry about logging in and out of different accounts for different environments. All search data is now at your fingertips.
There is no time to waste. Striving for quality and speed requires having the right tools at the right time to deliver great results. Crunchy Bananas engineers are able to debug issues quickly using Commandeer. The ability to do so is crucial for web and mobile development today.