RSSAmplifier

Blog

Avi Zurel - Technical Leadership & Engineering

Recent content on Avi Zurel - Technical Leadership & Engineering

avizurel.comRSS feed ↗22 posts

Latest posts

What Is the Point of Open Source and Open Knowledge These Days?

I was working on something internally for Hippo the other day. Nothing groundbreaking, but very useful. All of our internal apps use authentication the same way, through onelogin. We don’t want to configure this for every application so it’s configured at our top level nginx and every app just needs to specify the role it wants. Like I said, nothing groundbreaking in this day and age. In previous…

Using Obsidian Templater to Record 1 on 1 meetings

Recently, I started using Obsidian again. I used it in the past but recently picked it up again after seeing quite a few people using it to take daily notes or as they define it “as a second brain”. I used so many notes apps in the past. I switched to Obsidian after a very long time of using Bear notes on the Mac. One of the things I do very often is keep notes of all my 1:1s and my…

Open Source

Open Source Projects & Contributions This page showcases my open source projects and contributions to the community. My Projects Coming soon Contributions Coming soon

Constraints Over Flexibility: Eight Years of Infrastructure Generation

[Strong Opinion] Most internal platforms fail because they try to be too flexible. They expose arbitrary environment variables, inline overrides, escape hatches, per-service customizations. That flexibility accumulates entropy until the platform becomes unmaintainable. [/Strong Opinion] There’s a different approach: constrain the interface aggressively, generate the boring parts, and compile…

When PRDs Accidentally Invent Architecture

Recently I was in a discussion about what looked like a very simple feature. “We just need to send an email when something fails.” Fine. Add some categories. Add totals. Add program metadata. Maybe a few conditional sections. Send it out. Easy. Except it wasn’t. The more we unpacked it, the clearer it became that this was not an email. It was a report. And not just a report, but one that pulls…

Installing a Specific Version of Node in a Nix Flake

Recently, I adopted nix as my go-to solution for managing all kinds of settings. I even rewrote all of my dotfiles using nix. You can find it here . One of the things I am using nix for is a local flake.nix file in most projects. Setting Node/Python/Go versions with some more dependencies. Recently, I needed a specific Node version in a project. 18.15.0 . Using the default nix pacakge nodejs-18_x…

Managing Github With Terraform and Saml Without Github Enterprise

Summary At Hippo , we have dozens of engineers across teams, with very different access patterns. Managing this gets very complicated, very fast. Also, we have Single Sign On. We use OneLogin , but honestly, any SAML with an API will work so keep reading. What problem(s) are you trying to solve? Automatically inviting new users to our Github organization Automatically remove users that are no…

Make Integration Testing Fun Again

At Hippo Insurance , we build an integration testing framework/infrastructure that makes writing integration tests a no-brainer and super productive (and fun). Why integration tests? Unit tests and TDD are amazing. Seriously. However, they are just not enough. We have a service-oriented architecture that runs about ~50 services in production. Between Frontend, Gateway, Backend, Workers, Queues,…

The Hippo Paas

At Hippo Insurance , we built a platform as a service that allows engineers to add/mutate service-infrastructure simple and engineer-friendly. Before I talk about the platform itself, I want to spend bit of time explaining the choices that we made along the way to make this possible, scalable, and super efficient. Polyglot out, well crafted OTF products in At Hippo, we have dozens of…

Onboarding New Engineers My Recipe

Onboarding new people to the team is a challenge. Making sure they have a good experience and are set up for success can be quite a hurdle. If you think about it for a second, being a new engineer on a team (any team), is such a challenge. There are so many things to need to learn, systems to read about, culture to fit into, intimidating right? Over the years, I found a way to deal with this that…

Analyzing Your Aws Api Calls for Fun and Profit (And Security)

AWS has a very powerful API. With time, as the organization grows, you query that API quite a bit. At [Globality])( https://www.globality.com ), we query that API from multiple sources: Cluster management Monitoring UI Terraform Enterprise Deployment pipeline We also have very strict security requirements. Working with enterprise customers, we are required to analyze and provide reporting for…

Our flexible cluster solution - How we run micro-services efficiently

At Globality , we’ve been running Docker in production for the past ~3 years. Over the years, we made many changes to our cluster management, making it better, more flexible, cost-effective, and scalable. In this post, I describe our solution and dive into the technical details, the challenges, etc. What is cluster management Kubernetes/ECS/Mesosphere are cluster managers. They allow you to…

1:1 Question: What Is Your Stress Level since we last met?

One of the most effective tools in your toolbox as a manager is the 1:1 meeting. I have 1:1 with every member of my staff on a weekly basis. It’s a great opportunity to get feedback, provide context and just connect on a different level than the standup or pair programming sessions. In my first 1:1 with a new staff member, I emphasize that the 1:1 is their time, not mine. We talk about what…

On Culture

I see a lot of people talking about “culture fit”. I wanted to spend some time telling you what it means to me . First, let’s establish the baseline. I am an engineering manager at Globality . I have 16+ years of experience in this industry and I worked for and with startups and big companies like HP, Intel, SAP and others. I saw a lot of teams and a lot of…

Using Bots to Solve Developer Drudgery

Scaling an engineering organization has a lot of moving parts. One of the parts we discuss rarely is reducing friction and reducing time spent on menial tasks to the absolute minimum. Figuring out “What is hard?” and “Should it be this hard or time-consuming?” is critical to the success of your organization. In this post, I’ll discuss flows we automated with bots.…

Breaking the Terraform Monolith - Silos of Infrastructure

At Globality we have about 120K lines of Terraform configuration that we use to manage our infrastructure. We manage everything we can this way. AWS, GitHub, CI, and more. We’re heavy users; we even go so far as to working with our patched version of Terraform while the official plugins catch up with us. For example, we recently moved a number of our AI classifiers to SageMaker, but the AWS…

Updating Files With the Githup Api - Python

One of the features we have at Globality is to update build/setting files on all of our projects using the Github API. We use that when we generate a new build configuration or a new test configuration. Our build configuration consists of multiple file and directories. Usually in the convention of build.{{ project_name }} and docker/shell files under it + some files in the root of the project like…

Bike Commuting in the Bay Area and beyond - Tips/Tricks and More

Bike commuting is great for many reasons, you stay healthy and fit, you get to enjoy time outside and you don’t waste your life away inside a car in traffic. I’ve been commuting with a bike in the Bay Area for three years now (all weather) and I collected a bunch of tips/tricks and beyond that might help you with your journey towards it. First, I would like to say, biking to work ***…

Installing Python 3.7 on OSX

Getting python 3.7 installed on OSX might seem simple, but a quick Google search will show you that it’s anything but. If you don’t follow the steps, you will encounter multiple issues with the way the system is wired. I thought I am going to write a short tutorial type post on how to get it done. First, we will install pyenv brew install pyenv Once we have pyenv install, we can try to…

Generating CI Configurations at Scale

Intro You often hear about scale issues when discussing capacity, traffic, users and other resource related topics and issues. However, scale is often in the details, the processes and how things run at specific companies. At Globality , we have ~80 microservices running in production. We have FE, BE and Gateway applications. JS, Python and third party apps. Most applications also require internal…

Insert a Line for Every File in a Directory

I recently imported this entire blog from Wordpress to Hugo. The move itself was smooth and there are a million blog posts out there explaining exactly how to do it. However, I wanted to do something different, I wanted to add a “warning” for every imported post saying that it might be broken and that you should be aware of that. I wanted to add imported: true to every file parameters.

About

I build systems. And I build the people who build them. I’m Avi. I build infrastructure, data platforms, and the engineering systems that support them. I’ve been writing software since I was a teenager, and it’s been the center of my professional life ever since. Over the years I’ve worked across different countries, companies, and stages of growth. In the U.S. I’ve led infrastructure and data…