Archi & Techno

The Test Pyramid In Practice 2/5

In the previous article, we discussed the theory of the Testing Pyramid -- a testing strategy to ensure our application’s quality at a reasonable cost. Notable, we discussed the notion of feedback, and the importance of having fast, accurate, and reliable feedback. Unit tests typically address these criteria for a modest investment. Through this article we’ll develop a concrete example to explore the use of automated unit tests and try to answer some of our readers’ recurring questions. This article originally appeared on our French…

Read more
Archi & Techno

Authorisation for AWS S3 static website

Hi, Today I'm going to tell you a story about a feature we wanted to implement to secure a website by adding authorisation to it. TL;DR: Authorization: plan your authorization flow in advance, with all involved calls and pages Lambda@Edge: keep html content out of the lambda code keep lambda code as simple as possible it could be tricky to find your lambda logs in CloudWatch Check out the code at https://github.com/ilya-v-trofimov/s3-site-auth Intro It might seem to be a trivial task, but the website happened to…

Read more
Archi & Techno

The Test Pyramid In Practice (1/5)

 If you read this blog or our publications, you know how much testing is tied to software quality and, if I may say so, to software success. I insist on this point because all too often our customers treat tests as the fifth wheel when it comes to development. You know the consequences: an astronomical number of design anomalies, pernicious bugs in production and, worse still, software which ossifies little by little. This article is the first in a series, and will mostly address theory.…

Read more
Archi & Techno

Cold start / Warm start with AWS Lambda

The serverless brings many benefits for the deployment of web applications such as autoscaling, availability and having a very fine granularity on costs (billing per 100ms for AWS lambda). And of course the absence of server management (installations, patches,...). This article makes an inventory of the cold and warm start call metrics with AWS Lambda with different code implementations. Serverless is an ambiguous term that implies that there are no more servers: this is not the case! The term adapted could have been server[management]less but…

Read more
Archi & Techno

Software Craftsmanship and OPS scripting: a love story

Alright, story time fellas. TL;DR; We’re working with Terraform, layering and workspaces. This makes the standard `terraform workspace select x` pretty cumbersome and dangerous. We wrote a Ruby wrapper using Test-Driven Development. It allows us to have a tested, maintainable and efficient solution to the aforementioned issue. You can find the actual project here: https://github.com/sebiwi/terraform-wrapper If you keep reading, we’re going to talk about scripting, Test-Driven Development, Terraform and Ruby.

Read more
Methodology

Accelerate Innovations by Blending the Best Practices of Three Models of Innovation Diffusion (Gartner, G.A. Moore , C. Christensen)

Introduction When building innovative products we draw upon several models to help us follow the cycles and gauge products’ maturity levels (technological, market and use). We noticed that 3 complementary, superimposable models converge and together provide a coherence that makes the most of the various recommendations and best practices of each innovation strategy. The 3 diffusion of innovation models we’ve identified are: The Gartner model and “hype cycle”  Geoffrey A. Moore’s Diffusion of Innovation model  The “Innovating over the Horizon” model, popularized by Clayton Christensen

Read more
Archi & Techno

Ansible Container: Chronicle of a Death Foretold

Alright, here’s what’s up: TL;DR We tried Ansible Container. We’d rather keep using Dockerfiles for image builds: creating a Docker image and provisioning servers with Ansible are two very different things. Different in terms of lifecycle, philosophy and workflow. So different, that in our opinion, they’re not compatible. Wanna know why? Read on. Disclaimer: While the current status of Ansible Container is not clear, it seems that during the writing of this article the tool has been deprecated: https://github.com/ansible/ansible-container/commit/2fa778a7c8d1699672314ac0b89c53554f435cb7. After the limitations we noticed, we…

Read more
Change Management

My 3 leadership learnings from learning to code

[Or what I did learn from javascript 101, even though I am not a software engineer] When I was young(er), I’ve started my career in multinational corporations. One of the key things which struck me at that time was that, even though each of this company was quite hierarchical, every manager must, to evolve in their career, have made a compulsory training on the field. In other words, whether you are a finance or marketing director, you have to regularly play the role of a sales…

Read more
Archi & Techno

The Wizard: Scenarios

This is another episode of the “The Wizard” series. If you haven’t read the previous episodes, you can find them here and here. You just don’t know how to do it. You’ve been thinking about it for a while too. It’s an important issue. The crafting of the spell is the most important part. The journey is usually more important than the destination itself. But you don’t feel like you are doing it right.

Read more