-
State of IO 4.10.16
Here are the stats for the past week:
* 30.21 million inserts of logged data in the last 7 days * 10,086 users * 7,766 online feeds (21,498 feeds total) * ~50 inserts per second via MQTT * ~5 inserts per second via REST API
After some load testing, it seems that our current server configuration is able to handle more traffic. Our current theory is that the inserts per second aren’t rising evenly with the increased online feed count because users are using IO for real-time interaction, and not data logging. Inserts per second only seem to rise with heavy and persistent data logging projects.
We have been testing the new Feather LoRa Radios with IO, and they seem to be a fantastic pair. We were able to send messages to IO through a LoRa gateway from 1.27 miles away in the rolling hills of central Maryland using a small wire antenna.
Pretty impressive for not having line of sight to the gateway!
-
State of IO 4.3.16
We added support for AWS v4 inspired request signing to IO’s v2 REST API this week. This change should allow devices that don’t support TLS/SSL to communicate with Adafruit IO without sending their AIO Key in the clear. Because the requests are signed using a HMAC, users also will be able to ensure that their requests were not manipulated by things like man-in-the-middle attacks. This change will also reduce the risk of replay attacks by including a timestamp in the signature, so the request will only be valid within a 15 minute window.
We are considering requiring signed requests for any API v2 requests that don’t use a TLS/SSL connection. If you think this is a bad idea, please let us know in the forums. We will be updating the Adafruit IO client libraries this week to support the new request signatures.
Here are the stats for the past week:
* 27.4 million inserts of logged data in the last 7 days * 9,744 users * 7,537 online feeds (20,474 feeds total) * ~50 inserts per second via MQTT * ~5 inserts per second via REST API
Inserts per second seem to be holding steady, despite the increase in online feeds. We are going to add another queue worker and monitor the inserts per second to see if that fixes the bottleneck.
-
State of IO 3.25.16
We have been working on finishing up v2 of the REST API this past week, and you can read more about that here.
We are also in the process of finishing up transitioning our frontend javascript to React from jQuery and Backbone. When combined with API v2, this change should increase performance, and also will make development easier and faster. We will post more about this change in the next few days.
Here are the stats for the past week:
* 25,951,672 inserts of logged data in the last 7 days * 9,296 users * 6,949 online feeds (19,084 feeds total) * ~50 inserts per second via MQTT * ~5 inserts per second via REST API
-
REST API v2 Development
We are currently in the process of developing version 2.0 of the Adafruit IO REST API, which should address a large portion of user requests. The current version of the REST API (v1.0) will still be available at
io.adafruit.com/api/v1/
.Here are some of the highlights (not including bug fixes):
NEW
- New permission system that will allow for sharing read and write access to your feeds, groups, & dashboards with other users.
- New AWS inspired HTTP request signing to help avoid exposing the user’s AIO key over insecure connections.
- Dashboards, blocks, & triggers will be able to be modified via the REST API.
CHANGES
- Username will be a required component of the URL.
- You will no longer be able to access feeds & groups via numeric ID. Feed key & group keys will be used as the unique identifier in API v2.
- Feeds will be able to be added to many groups, and the feed’s data will be namespaced to the group the data is pushed to. You will also be able to access all of the feed’s data by accessing the feed directly.
-
AIO Key Length Changes
We had a request in the forums to reduce the length of the AIO Key to 32 characters, and we decided to use UUID v4 (with the dashes stripped) to generate keys. Version 4 UUIDs are randomly generated, so they should work well as AIO Keys:
…after generating 1 billion UUIDs every second for the next 100 years, the probability of creating just one duplicate would be about 50%.