Semi-random update of the blog

Another attempt at writing something

1 minute read

Covid year I’ve decided to update About page of this site since it got very outdated and gave some people wrong information. Now it should reflect up to date status.

AWS SSM Parameter Store secrets management for Docker containers

Secure way to provide environment secrets to docker containers from AWS Parameter Store.

6 minute read

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 with CloudFormation

Autoscaling ECS services with combination of target tracking and stepped scaling policies.

5 minute read

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 with CloudFormation

Autoscaling DynamoDB capacity for fun and profit.

4 minute read

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.

Python in Kore.IO is official

The experiment to integrate python runtime with concluded to be successful

2 minute read 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.

Kore.IO and Python

Sometimes C is not everything you need

1 minute read

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.

The Kore Web Framework

Backend development in C got much better since 1999

3 minute read

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.

ScyllaDB I/O latency quest

How Scylladb fought and won a war with I/O latency

1 minute read

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.

Hugo is the new Black

Migration to Hugo from homegown static site generator

1 minute read

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.

Building ExtJS app with fabric

How to make a custom build flow of ExtJS applications with fabric

6 minute read

The problem ExtJS is a well known javascript framework for creating rich and powerful web applications. Basically it allows you to implement the whole user experience in javascript on client side in a way very similar to desktop widget toolkits. The ExtJS comes both as GPL and commercial and has several tools used to work with it. First of all there is a stand alone development IDE with interface designer called Architect.