Blog

Lessons, ideas and stories from our team.
  • From Mock to Docker for RPMs

    Here at Owsy we package all our applications using RPM to Yum repositories. Is that still new and sexy in the tech world these days? Probably not, right? For us though it provides a very stable and standardised method of packaging/deploying applications written in various languages (we have apps written in PHP, Clojure, Scala, Java, etc…) Until now we’d been using Mock to build these RPMs, but in a world where everything needs to keep getter faster it was proving too much to spend 10 minutes building packages (especially if you do it 10 times a day!). So we wanted something faster…


    Continue Reading
  • Reducing costs via digitization

    There are very few ways a C level executive of a mature insurance business can dramatically change the cost structure of their business today. The current economic climate forces agencies, MGA’s and insurers to face challenges including low interest rates, greater price transparency, few growth opportunities and sector consolidation. This has resulted in the management of costs as a key competitive advantage.


    Continue Reading
  • Replacing an MGA's Core System

    A detailed review of an AMS (agency management system) is an opportunity for an enterprise to closely examine its business and make strategic decisions about the kind of agency it wants to become. Modern Agency management systems should allow independent agents to evolve to support the changing insurance landscape. Most Agency systems are in place for 5 to 10 years.


    Continue Reading
  • Streaming Large JSON Deserialisation

    JSON is the current de facto data transport format for the web, and we use it internally and externally for various APIs we run. Options for libraries to encode and decode JSON in any language are plentiful, and generally the size of the JSON being used is reasonably small. Meaning the pattern for usage is much like…


    Continue Reading
  • Vagrant, Symfony, Rsync (and Assetic)

    This post is a follow up to one I wrote on my personal blog about a year and a half ago. Since then I was lucky enough to have an extremely talented engineer join Owsy, who wasn’t as easy-going about slow page response times on their development VM as I was ;)


    Continue Reading
  • JUnit Linting for Clojure with Eastwood

    We use Clojure for most of our service layer, and run all our CI stuff through the venerable Jenkins server. I recently wanted to add support for the Eastwood linting tool to our standard Leiningen job on Jenkins (which previously just ran unit tests) to give us some extra feedback amd possibly catch errors or suggest improvements automatically.


    Continue Reading
  • Configuring ELB access for EC2 instances with Ansible

    We use Ansible to manage our security group configuration in EC2, but there is currently a limitation with the ec2_group module that doesn’t allow you to work with groups from other accounts. This poses a problem when you need to allow ELB to access your web servers for example. We’ve worked around this problem for a while now by manually tweaking the security groups when needed, but today I decided to look into a more automated workaround.


    Continue Reading
  • Soft-delete in Symfony with Doctrine

    One of our applications, BindHQ, requires we keep a full auditable history of the data that passes through the system. The way we try to achieve this is with an append-only model, but the standard techniques and examples you’ll find when researching Symfony generally demonstrate update-in-place usage.


    Continue Reading
  • Output Stream to Input Stream

    I was working on a JVM service we have which does some processing on various document types (PDF, PNG, etc…), returning the transformed result to the client. The way the PDF portion of this works is that the library we use writes its output to an OutputStream, and currently we’re using a ByeArrayOutputStream. I then needed to find an effecient way of getting the data in that object back to the client.


    Continue Reading
  • Externally Monitoring Services with Librato and Ansible

    We use the excellent Metrics service from Librato for our monitoring and visualisation for our infrastructure. Recently though I saw a presentation from Dataloop and loved their dynamic check script feature. I instantly saw a use in our environment for ensuring services were responding correctly.


    Continue Reading
  • Error Updating Route53 CNAME

    We use EC2 for our server infrastructure, and in the current iteration of our environment couple that with Route53 to provide simple well known names for our boxes.


    Continue Reading
  • Streaming Resources with Symfony 2

    One of our products, BindHQ, makes heavy use of S3 for storage of a large number of varied document types.


    Continue Reading
  • Welcome

    Here at Owsy we’re focused on making our users as effective as possible. We design, build, iterate and experiment with the goal of helping customers do great things. This blog is intended to showcase some of the techniques we use to create products like BindHQ and communicate how we work as a whole.


    Continue Reading