Steemit Engineering Update: Mira, Split, Cost Reductions
Hello Steemians, welcome to our latest Steemit Engineering Update. The goal of these updates is to provide developers and users with greater insight into our engineering operations. You can view our last engineering update here.
We are nearing completion of our project to separate Condenser into separate social and wallet applications. We started by creating a copy of the Condenser app and designating one copy as the social app, and one as the wallet app. We then removed all of the social features from the wallet app and all of the financial features from the social app. That process is now complete, and what remains is user experience work in the wallet as well as some testing. Once that work is complete, the two dedicated apps will be more secure and cost much less to run than the old Condenser while enabling us to add new functionalities more rapidly.
Last week we completed an initial implementation of rate limiting for our public API. That enabled us to reduce our required number of running instances and our data transfer costs significantly. We worked with a number of prominent Steem based projects that rely on our public API to ensure that they continue running smoothly even with these changes. Those projects include busy.org, oracle-d, and SteemConnect. SteemConnect in particular is an application that many other applications (e.g. Partiko) within the ecosystem rely on.
We have settled on acceptable instance sizes for all of our applications and autoscaling has been fine-tuned to ensure an acceptable cost-to-performance ratio. This project is complete for the time being, but we will take another pass at it after MIRA is released as the required instance type for our Steem nodes may change.
Up next for the infrastructure cost reduction project will be planning a move to a different CDN (Content Delivery Network) for our image caching. While AWS's Cloudfront product is great and we will likely still use it for some other things, it can be rather expensive for a high volume of data transfer like that required for our images. We will begin by testing these changes in our dev environment throughout next week. When pushed to production, these changes should be transparent and unnoticeable to users.
We have successfully finished our first reindex in our dev environment. After deploying steemd to our dev environment we discovered a few intermittent problems when a node is live. We are currently debugging and fixing those problems and are hopeful to have a full stack test soon.
Be sure to follow @steemitblog if you would like to see more engineering updates like these!
The Steemit Team