Version 1.1 Preview

...
  • Commandeer
  • Docker
  • Bash
  • Dynamo db
  • Circle ci
About 5 min

# Commandeer Version 1.1 Preview

We are excited to announce some amazing new features that we are preparing for our 1.1 launch. We have seen some great usage over the past few weeks, post our 1.0 launch, and are really working hard to get some new features out there for you all.

# AWS Account Session Tokens

Many of you as developers have a process in place, where to have access to aws, you receive a short-lived, usually 12 hour, Access Key Id, Secret Access Key, AND a Session Token. Currently, we do not allow for you to enter a session token, which is the missing piece to unlock all the AWS goodness for you. Below, you can see, that you will not be able to optionally add in the session token. This is going to open the world of Commandeer to a lot more of you.

# Dynamo DB Upload, Truncate, Search and Viewing

Dynamo DB is one of our top services. Trailing only S3 in terms of usage. Our aim is to make it the best UI out there for managing your Dynamo DB tables both on AWS and LocalStack.

The first thing we have been doing is just refining our UI. The dashboard for each table will be a lot more ergonomic. The data is front and center, and then you can see indexes, streams, and more information on a separate tab.

Secondly, we added a truncate table button. Under the hood, we are making separate requests to delete the records, and actually up the throughput and then set it back after it is done. Dynamo, as everyone knows is tricky, so we think this method will work nicely.

The nest thing we are working on is enabling you to search based on an index and operation. Our current filter just does a scan, which does not really hold up for large tables. First off, the scan will only run for the first 1MB of data, secondly doing a scan on really large tables is too costly.

Lastly, we are working on making the data viewer for a record even better than it was. Below you can see an example of it in action, where you have the formatted data on the left hand side, and can still see the raw json on the right.

This was a pretty fun one to work on, and if you have other pieces of data that might be helpful to add in, let us know. For instance, the paymentProviderId above is a Stripe id, so we will be adding in the ability to have things deep link to the item, etc. Also, you can see how we detect that a url is an image, and then show it.

# API Gateway Styling and Colors

API Gateway is one of the main entries into a serverless system. It provides you an ability to access your Lambda's via a secure RESTful api. We are working on giving it some more power for you as a user. The first way is that we are now color coding the methods of your resources (endpoints. This helps to quickly see what sort of functionality it is, be it a GET, POST, PATCH, DELETE.

We are also tightening up the detail page for each method. You can see now, that the Method Type, what the response is, and the timeout are all prominently displayed.

The last thing, for those of you with a discerning eye, is that there is a header called Postman. For those of you not familiar with it, it is a desktop app that allows you to setup tests against your endpoint. For myself, it is probably one of the most important tools that has come out in the past 5 years for API driven systems. What it does great is allows you to create tests of your endpoints, have different environments, and allows you to script your test results as well as modify data all through javascript. While the Postman integrations will not be available in the next release, we are working on making deep integrations with their system, but stay tuned, because we think this is going to be one of the most popular integrated services we will have.

# IAC (Infrastructure As Code) and CI/CD (Continuous Integration/Continuous Deployment)

One of the main pillars of Commandeer is being able to manage your IAC in a sane manner. This means being able to run your yml files against any environment, with all your settings preset for each account and environment. We have talked about this at great length for Ansible and Serverless Framework. We are excited to continue down that trend with 3 more IAC features that we think you may find extremely useful.

The way that we are thinking about IAC is as follows. You need a bunch of different pieces of IAC across many different products. So for instance, you might use Ansible to deploy your static resources like S3 buckets, and Dynamo Tables. You then might deploy your connections between API Gateway and Lambdas via the Serverless Framework. The next set of use cases is that you might want to stand up your environment using Docker. This is done via a docker-compose.yml file. You might also need to do some things in good old fashioned Bash between each of these. Lastly, you want to combine all of these things together with something like Circle.ci. So, we are still getting all the different components of this together, and in the next 3-6 months, you will start to have runners that can do all of these at once. But for now, let me show you the new runners that we are introducing.

# Docker Compose Runner

You can simply select your docker-compose.yml file and then run it to setup your entire infrastructure on your system. This is a great way to test out different tools. This is something that is the backbone of CI. As the way we normally approach things, is on your CI box, you kick this off, to setup all your different tools, like Redis, LocalStack, Ansible, Serverless Framework, etc.

# Bash Runner

If your CI system consists of Docker, Ansible, and Serverless Framework for instance, then Bash is usually the glue between them. Thee reason for this, is that while IAC is awesome, we have always found, that we have to usually stitch together some random pieces of scripting to tie it all together. As we continue to build out our IAC, you will start to see how we want to approach this. We envision a UI that allows you to select pre and post Bash scripts for all the steps in your process. Again, this is because not everything is handled with all these different tools, and Bash ends up being necessary to glue it all together.

# Circle CI Runner

The last piece of IAC is your CI/CD. We chose to implement Circle.CI first, as we really love it. One really cool thing that we are going to solve for in Commandeer, is better local support. Circle allows you to run workflows in the cloud, which consists of many jobs, but when running it locally, you can only execute a single job with their CLI. We are going to start to tie those jobs together, so that the same experience you get on their site, will also be handled for you locally.

In short order, you will also start seeing runners for Azure Pipelines, Jenkins, Terraform, and a few other popular IAC and CI/CD tools. We are really excited to get this as full-featured as we are dreaming.

Happy developing,

Sergeant Serverless

Last update: May 12, 2020 16:20