Best practices for DynamoDB have evolved to favor single-table design patterns where one database table serves the entire application and holds multiple different application entities.
This design pattern offers greater performance by reducing the number of requests required to retrieve information and lowers operational overhead. It also greatly simplifies the changing and evolving of your DynamoDB designs by uncoupling the entity key fields and attributes from the physical table structure.
However, managing single-table data and performance can often feel like you are peering at
Assembly Language. …
Serverless apps are an immensely powerful way to build highly scalable and available services. But, serverless apps are also uniquely difficult to monitor, debug and manage due to their distributed components, stateless nature, short execution lifespans and limited access to configuration.
Observability has been popularized as the solution to this dilemma by “instrumenting your functions verbosely” and “wrapping all service boundaries with copious logging”.
However, this can degrade critical production performance and send logging and metric costs spiraling.
So what is the solution?
This post explores a simple, yet effective solution via Dynamic Log Control.
Distributed serverless systems need to…
I’m happy to announce the SenseDeep serverless developer studio now has a free plan for individual developers.
The developer plan has all the features of SenseDeep for a developer including: full serverless monitoring, management, metrics, unlimited dashboards, logs, lambdas, alarms and notifications.
With SenseDeep you’ll be able to troubleshoot your serverless apps and deliver value faster than ever.
If you looked at SenseDeep before, you may want to take a second look.
And the developer plan is FREE.
The SenseDeep developer plan includes:
SenseLogs is a simple, flexible, dynamic, blazing fast log library designed exclusively for serverless apps using NodeJS.
While there are many other good logging libraries that claim to be flexible and fast, they were not designed for serverless. They are thus bigger and slower than necessary and don’t meet the unique logging needs of serverless.
Serverless apps have special requirements like minimizing cold-start time and being exceptionally efficient due short execution lifespans of most Lambda invocations. Furthermore, the ephemeral nature of serverless makes it difficult to remotely control the volume and type of emitted log messages without redeploying code.
DynamoDB OneTable (OneTable) is an access library for DynamoDB applications that use one-table design patterns with NodeJS. OneTable makes dealing with DynamoDB and one-table design patterns dramatically easier while still providing easy access to the full DynamoDB API.
We’ve worked very hard to make the OneTable API expressive, terse and elegant to use. I hope you will find that it makes your DynamoDB developments proceed faster and more easily than every before.
This article takes a quick tour through the OneTable API and demonstrates basic calls and patterns when using the API.
A good way to read this article is…
All enterprise logging solutions ship your log data into their proprietary log storage mechanisms. And thereafter, your log data is accessible only via their interfaces. That is great if the logging solution does 100% of what you need today and tomorrow. But if you need to get insights that their interface does not permit — you are stuck.
SenseDeep is different. Your log data never leaves your account and is stored in an open architecture database in your account, over which you have full control.
You can read, transform and analyze your log data in any way you want. You…
SenseDeep is a development studio for serverless developers. It offers fast, in-depth serverless design, troubleshooting and monitoring so that developers can quickly create and debug serverless applications.
SenseDeep provides AWS developers with critical tools to efficiently create, debug, deliver and maintain serverless applications.
It includes invocation traces, metrics, logs, alarms, alerts and notifications and watches over your services 24x7.
SenseDeep is unique as the only open architecture solution where your serverless and log data never leave your account and you have full access and control over your data.
Most 3rd party logging solutions ship your log data offsite to their proprietary log storage mechanisms. However, log data often contains sensitive information and identifiers. Protecting your log data is critical for the security of your account and you are relying on these vendors to never expose or have accidents with your log data.
SenseDeep is different. Your log data never leaves your account and is stored in a database in your account over which you have full control. SenseDeep captures your log data and stores it in a DynamoDB table in your account. …
As promised, the latest SenseDeep update brings an all new logging engine that offers fast, predictable, low-latency access to any log data regardless of the date.
SenseDeep has always prioritized fast access to log data, but utilizing CloudWatch logs as a data store made this difficult at times, especially, when trying to access data at specific date ranges.
The new logging engine changes the core logging strategy used by SenseDeep to capture log data and store it securely in your AWS account using an open DynamoDB table.
The result is fast, predictable access to your log and Lambda data in…
A DynamoDB secondary index can select which attribute to project (replicate) to the index. It can project all item attributes, a subset of the attributes or only the key attributes.
If you project only the keys, then a read from the secondary index will return the key attributes. With these keys you can read all the remaining attributes from the primary index, but that will incur an additional read request and require code to manage the second request.
With DynamoDB single-table Designs choosing which attributes to project to secondary indexes can be a challenge. With single-table designs, you store multiple…