Why we love AWS Beanstalk but are leaving it anyway

Cross-posted from Telia’s Tech Blog. We have had our mission-critical webapp running on AWS Elastic Beanstalk for three years and have been extremely happy with it. However we have now outgrown it and move to a manually managed infrastructure and CodeDeploy. AWS Beanstalk provides you with lot of bang for the buck and enables youContinue reading “Why we love AWS Beanstalk but are leaving it anyway”

All-in-one Docker with Grafana, InfluxDB, and cloudwatch-to-graphite for AWS/Beanstalk monitoring

I have derived the Docker container docker-grafana-influxdb-cloudwatch that bundles Grafana dashboards, InfluxDB for metrics storage, and runs cloudwatch-to-graphite as a cron job to fetch selected metrics from AWS CloudWatch and feed them into the InfluxDB using its Graphite input plugin. It is configured so that you can run it in AWS Elastic Beanstalk (the main problem being thatContinue reading “All-in-one Docker with Grafana, InfluxDB, and cloudwatch-to-graphite for AWS/Beanstalk monitoring”

My Highlights from Continuous Delivery and DevOps Conference 2015

The first Continuous Delivery and DevOps Conference in Oslo is over. It was nice to see so many people interested in the topic. I would have preferred more practical talks of the “how we did it” type over the “why” type but it was OK, though next year I would prefer flatMap. Here are my highlights: AtmelContinue reading “My Highlights from Continuous Delivery and DevOps Conference 2015”

Most interesting links of May ’14

Recommended Readings Monolith – from The Codeless Code – fables and koans for the SW engineer – the Monad monolth #Haskell #fun http2 explained (pdf, 27 pages) – cons of http 1 (huge spec / no full impl., wasteful use of TCP <=> latency [x spriting, inlining, concatenation, sharding]) => make it less latency sensitive,Continue reading “Most interesting links of May ’14”

Recursive Copy In Ansible 1.5 And –diff

Ansible 1.5 has partial support for recursive copy of files: the synchronize module, using rsync cons: does not support group=, owner= -C and –diff – it does not print diff of the files changed; when running ansible with -v, it will print output of rsync’s –itemize-changes, i.e., for each changed file/dir, something like “<f.st…… conf/httpd.conf\n” (< =Continue reading “Recursive Copy In Ansible 1.5 And –diff”

Ansible Troubleshooting Tips

Few tips for troubleshooting Ansible, based on my brief experiences with Ansible 1.4 (read: do not rely on this info too much). Run ansible-playbook in the verbose mode ansible-playbook -vvvv … will provide you with plenty of details of what is going on. (Notice that additional v:s, starting from none, add more detail.) Use ./hacking/test-module CheckContinue reading “Ansible Troubleshooting Tips”

Handling Deployments When Provisioning JBoss domain.xml (With Ansible)

It is tricky to manage JBoss with a provisioner such as Puppet or Ansible because its domain.xml contains not only rather static configuration but also sections that change quite often such as deployments. So how can we manage the static parts of domain.xml with f.ex. Ansible while still enabling developers to deploy at will viaContinue reading “Handling Deployments When Provisioning JBoss domain.xml (With Ansible)”

Demonstration of Ansible Features With Control & Test VMs

I have created a small project to demonstrate some features of Ansible, the new DevOps hotness, including Vagrant VMs for running Ansible and for testing the configuration. Either go straight to https://github.com/jakubholynet/ansible-example-with-vm or continue reading the copy & paste here. This project has three things of interest: A non-trivial Ansible configuration that demonstrates couple ofContinue reading “Demonstration of Ansible Features With Control & Test VMs”

Most interesting links of December ’13

Recommended Readings Society HBR: Want to Build Resilience? Kill the Complexity – a highly interesting, thought provoking article relevant both to technology in particular and the society in general; f.ex.: more security features are bad for they make us behave less safely (risk compensation) and are more fragile w.r.t. unexpected events. “Complexity is a clearContinue reading “Most interesting links of December ’13”

Webapp Blue-Green Deployment Without Breaking Sessions/With Fallback With HAProxy

Use case: Deploy a new version of a webapp so that all new users are sent to the new version while users with open sessions continue using the previous version (so that they don’t loose their precious session state). Users of the new version can explicitely ask for the previous version in the case thatContinue reading “Webapp Blue-Green Deployment Without Breaking Sessions/With Fallback With HAProxy”