Storing and using secret information securely with AWS SSM The SSM Parameters store is a great way to securely store hierarchical configuration data. It is widely used by AWS to provide parameters it own services. The names of the parameters are guaranteed to be unique and of arbitrary structure, allowing users to store nested structures of configuration data. In this post I will examine how to use Parameters Store efficiently to provide settings and secrets to Docker containers executed on ECS.
ECS Autoscaling The topic of ECS autoscaling is a vast area of heated discussions and broken dreams. It is quite hard to come up with efficient scaling policies for your ECS services. And the more distributed your architecture, the more issues with cascading load and increasing latency you are going to face. But fear not, the promised salvation in form of autoscaling for your services is here to save the day and distribute your computing load evenly across your micro services.
DynamoDB Autoscaling DynamoDB autoscaling is a feedback-loop based monitoring setup which can dynamically change provisioned capacity for the table or global secondary index. There are two ways one can define autoscaling policy for this resource: Step scaling policy Target tracking policy Step scaling policy The first kind of policy - step scaling - is based on CloudWatch alarms. This approach is the original autoscaling policy, the kind of which has been available to us from the beginning of days.
Kore.io python support In recent days Kore finally got python support merged in. It was an interesting experiment. I’ve learned a bit more about CPython API. And now I am much more confident in embedding python and scripting runtime in general into C apps. My experimental code didn’t make it directly into the kore codebase because I was essentially monkey patching each internal callback with switch to call into python.
How python found it’s way into Kore So I couldn’t help myself and got into tweaking and hacking Kore. It is such an awesome tool for clean and clear C networking and http(s). But C being C means it is still time consuming to iterate changes and see how they affect your application. I am using Kore now to build Servo, but it takes more time to get this thing running.
Rise and fall of (Fast)CGI Early days of services development for internet were pretty dark. At the very beginning there little to no reason to have any actual logic in the back of a web page because page of the nature of those pages. HTML back in 1999 was meant to be read and mostly by a very few people. And such as there was no need to pass anything back to server, there was no backend.
A very in-depth article from our friends at ScyllaDB about how they fought an I/O latency bug in Linux CFQ scheduler. Big latencies? It’s open season for kernel bug-hunting! I remember myself back in like 4 years ago struggling to understand how can select on non-blocking socket take anywhere up to a 15 seconds to return on AWS. However my issue was not related to the scheduler but the quest and persistence of ScyllaDB team is just another reminder that there are people who really care.
Looking for a new home So I’ve finally derided to resurrect my site and migrate it to something more featured than my old homegrown static site generator. The Hugo seems to be the best around and so I’ve migrated most of my stuff to it. Also this site (and a few others) is how hosted in my personal VPS at DigitalOcean. No more heroku workers spawning on depend - and ability to host additional services at the same time.