Stackery Support For NoSQL Tables
One piece of technology that goes hand-in-hand with serverless tech is NoSQL databases. They tend to be more granularly scalable, as their scaling mechanism is some form of “just throw more shards into it.” And with recent improvements, services like AWS DynamoDB even have auto-scaling support.
Today, I’m pleased to announce Stackery support for NoSQL databases. You can now drag Table nodes into your stacks to provision AWS DynamoDB tables in your account. Even better is the fact that we set up autoscaling for you!
Stackery Tables can also take commands from Function nodes. You can send insert, put, select, update, and delete messages with easy-to-use structures that allows for conditions, atomic operations, limits, and ordering. And as with all our resource nodes, if you’re a DynamoDB power user you can get a reference to the table as a value of an environment variable. Then you can use whatever library you prefer to interact with the table.
At Stackery we use a traditional SQL database for most of our data, but we’ve already found a great use for our Table node. When we recently launched support for easier custom domain provisioning for Rest Api nodes we needed a way to keep track of SSL certificate requests issued by AWS Certificate Manager. When a new cert is requested via a CloudFormation Custom Resource in our customers’ stacks, we inserted the record into a new Table. Once a minute, we run a checker Function that checks on the status of certificates while we wait for customers to approve them. That function selects all the records from the table and checks them all in parallel.
One last interesting feature of the Table node is the output port. Table nodes send messages to Function nodes every time a record is inserted, updated, or deleted. This can be an excellent way to trigger side effects like sending an email after a transaction is processed.
We’ve found a lot of good use cases for the Table node at Stackery. Give it a spin yourself to see how easy it can make building your next serverless app!