engineering-slider-1

KnowBe4 Engineering Blog


Keeping you informed and keeping you safe online is more important then ever
Software Architecture and the Art of Doing it Right the First Time

Software Architecture and the Art of Doing it Right the First Time

A failing health check fired on November 3rd, 2020, alerting the Platform Engineering teams that the SCIM service was currently responding with a 503 Service Unavailable status to 100% of incoming requests. The service had just been released to all KnowBe4 customers the week prior, and many of our largest customers had already begun configuring the SCIM integration from within the console of their Identity Provider (IdP).

Saving AWS Costs While Your Developers Sleep: Project Ambien

Saving AWS Costs While Your Developers Sleep: Project Ambien

KnowBe4 Engineering heavily uses On-Demand environments for quick iterations on native cloud-based products and services. It is typical for some of our senior engineers to maintain multiple environments at the same time, to isolate the development and testing of different projects that are in progress at the same time. Unfortunately, the cost of the infrastructure resources needed to power some of these environments can add up quickly if not properly monitored and constantly adjusted over time.

OnDemand Series Part 2: Orchestrating Development Environments

OnDemand Series Part 2: Orchestrating Development Environments

Pay no lots of attention to the man behind the curtain! In case you missed it, check out part 1 here.

In the first part of the series, we looked at how KnowBe4 addresses common issues with test environments by running "On-Demand" copies of our services whenever an engineer has some testing to do. In this part, we'll go over the behind-the-scenes magic that powers these On-Demands, ultimately aiming to provide a seamless experience for our engineers.

An Engineer's Guide to DynamoDB

An Engineer's Guide to DynamoDB

When designing new systems, one of the key considerations of each system is how the data will be stored and queried. While most of our major products and services still primarily store data in a traditional relational database management system (RDBMS), our migration from a traditional monolithic web application to a microservice-based architecture has enabled our Engineering teams to use purpose-built databases as an alternative data storage solution for critical functions of the KnowBe4 platform.

Meet Our São Paulo Research & Development Team

Meet Our São Paulo Research & Development Team

Today, we hear from our São Paulo Research and Development (R&D) Knowsters! This team leads the way in innovating and introducing new products and services at KnowBe4. From hearing about their roles, to the advice they would give a candidate, let's learn more about our São Paulo Research and Development team!

 

Building a DevOps Culture, One Developer at a Time

Building a DevOps Culture, One Developer at a Time

As physical infrastructure has transitioned more and more to cloud and Platform-as-a-Service (PaaS) providers, engineering teams have had to adapt and address deficiencies in the developer and operations roles that traditionally worked in silos to build and deliver software.

Empowering a Cloud-Based Development Workflow with “On Demand” Environments that Match Production

Empowering a Cloud-Based Development Workflow with “On Demand” Environments that Match Production

How KnowBe4 solved the "It Works on My Machine" problem with a new approach to provisioning test environments.

On Rust's Option and Result Enums

On Rust's Option and Result Enums

This article will discuss Rust's Option and Result enums, and ways to work with them without using match. This came about because someone in our internal chat was lamenting how frequently they needed to use match. I found that I used match very frequently when Rust was newer to me, but now I use it much, much less.

Both of those enums have many methods that can often be used instead of match. I frequently refer back to the docs for Option/Result when I have an instance of one of those that I need to do something with. Specifically, I want to draw your attention to their methods that take an FnOnce. Let's go over some of those.

Get the latest about social engineering

Subscribe to CyberheistNews