kreuzwerker assisted with AWS consulting and building of toolchains, essentially helping the company with the bootstrapping of their operation processes.
Startups have a lot on their plate. If not enough focus is placed on the product, it's all too easy to get lost in a sea of options and opinions for all kinds of infrastructural issues. This holds true especially when building a product based on microservices. While we certainly agree on the long-run benefits of such architecture, choosing it essentially trades development efforts for efforts in integration and operations. The success of such an endeavour is typically highly dependent on an appropriate infrastructure.
kreuzwerker got into the project with a sustainable strategy to build up infrastructure options and tooling. By initially taking over a large chunk of operations-related tasks and gradually introducing team members into DevOps related processes, we helped mycs maintain a strong focus on their product development while building a sustainable and scalable infrastructure-provisioning toolchain.
We built a 100% automated toolchain of the infrastructure-provisioning on AWS, as well as a considerable portion of host provisioning. For infrastructure-provisioning we supplied a Ruby toolchain, automating CloudFormation API calls. This included template preprocessing and stack post processing for features unavailable in CloudFormation. Host provisioning was mostly done utilising immutable server deployment patterns using Docker and AMI deployments with Packer.
We also introduced Varnish 4 as a caching / routing layer, including continuous integration over its VCL rules using CircleCI and varnishtest program.
The immediate benefit of our contributions were two-fold: initially they gave mycs the freedom to focus most of their efforts on the development of their product. In the long-run, kreuzwerker helped build a solid and mostly automated foundation which will assist mycs on their way to becoming the IKEA of this century.
mycs has an awesome product and we loved working with their team of passionate, smart engineers and managers. As usual, we learned a lot – one of the most interesting aspects was their technical leadership's strong focus on finding the most simple solution that could possibly work. Trying to solve specific problems by relying only on AWS-managed infrastructure required some ingenuity in certain areas. But was always worth it: the best kind of server is no server at all.