Interesting Things – 15th February
What a fantastic break over Christmas and New Years, I hope you had a great and enjoyable time with your family and friends as well. I had a wonderful time offline, enjoying the Australian summer and warm weather at the beach. Now back in action for 2017.
Great set of timeless principles, many of them Ruby/Rails inspired given the Heroku heritage, but great as a base set of ideas to follow for your app. There’s a 12 factor gem as well, but note its no longer required for Rails 5.
The article has been around for a little while, but was recently mentioned in Amazon’s re:Invent 2016 CTO keynote, along with the Well Architected Framework document series update.
Microservices and Event Sourcing & CQRS
Very interesting talk discussing a pattern of separating your applications read and write architecture, and using events to track the state of your application. More insights to learn from here.
It’s the small things, with Swift 3 the definition of private changed and fileprivate was introduced. The differences are subtle, fileprivate is private within the file, but not enclosing scope (eg. extensions within the same file can access private members/methods from the class being extended), private is truly private to the enclosing scope.
The Swift 3 migrator turned all my Swift 2 private keywords to fileprivate to keep the behaviour consistent — but I do find fileprivate to read more verbose than i’d like, and with the app I was working on at the time, most (if not all) of the private methods could have remained private.
Interesting overview of updates to ECS/ECR and container support for AWS in general, with lots of pointers to look into further such as the differing architectures for ECS clusters, spot fleet, batch processing, job schedulers. Also mentioned some newer features coming to ECS for task placement within the cluster based on all kinds of properties and event streams.
Awesome talk from re:Invent 2016, actually two parts with a solutions engineer and 3rd party vendor speaking. The first part is full of great tips and insights to think about when configuring your ECS cluster including an example architecture and cloud formation template. Also includes tips on using AWS KMS for secrets management and awslogs/cloudwatch. I also didn’t know about metric filters which look great for creating arbitrary cloud watch metrics/alarms based on log content.
Looking further into KMS for storing secrets I came across a really interesting GitHub project showing how to integrate KMS with a bash (and hence generally anything) script. Your favourite language probably has an official SDK as well.