Blog Posts

Article featured image
Fine-grained authorization with OpenFGA and OAuth

December 12, 2023 — In this post we discuss GoDaddy's adoption of OAuth and OpenFGA for fine-grained authorization. Read More »

Article featured image
Focusing on Continuous Cost Management in the Cloud While Maintaining Business Objectives

December 07, 2023 — Learn how GoDaddy instills a cost-accountable culture as it continues to scale quickly and securely using AWS. Read More »

Article featured image
GoDaddy benchmarking results in up to 24% better price-performance for their Spark workloads with AWS Graviton2 on Amazon EMR Serverless

November 20, 2023 — Learn how GoDaddy is helping its developers provision infrastructure quickly and securely using AWS Cloud Development Kit. Read More »

Article featured image
API Gateway at GoDaddy

November 16, 2023 —

From domain registrations to commerce, GoDaddy is known to be the platform that entrepreneurs build their businesses on. There’s an obvious need to provide simple and great user experiences through web and mobile so our customers (and their customers) can access all the services we offer.

Read More »

Article featured image
Layered Architecture for a Data Lake

October 26, 2023 — In this post, we discuss how GoDaddy uses Layered Architecture to build its Data Lake. Read More »

Article featured image
Increasing Developer Velocity Using AWS Cloud Development Kit with GoDaddy

September 26, 2023 — Learn how GoDaddy is helping its developers provision infrastructure quickly and securely using AWS Cloud Development Kit. Read More »

Article featured image
Configuration Management Database (CMDB) at GoDaddy

September 05, 2023 — Configuration Management Database (CMDB) plays a vitally important role in the hyper-efficient operation of all GoDaddy products. This article explains how GoDaddy evolved its CMDB into a trustworthy source of truth. Read More »

Article featured image
CPU Vulnerability Management at GoDaddy

August 22, 2023 — CPU vulnerabilities that expose sensitive data have become commonplace in the last few years. Learn more about these vulnerabilities and how GoDaddy responds to protect its customers. Read More »

Article featured image
Open Source Summit North America 2023

August 14, 2023 — The 2023 Linux Foundation Open Source Summit in Vacouver, WA was one of the key events for open source developers. GoDaddy sent representatives to the conference and 3 of them share their experiences. Read More »

Article featured image
Deploying a Lambda-Backed REST API Using AWS CDK

August 07, 2023 — Explore the step-by-step process of deploying an AWS lambda backed API using AWS CDK in this detailed guide. Read More »

Article featured image
Page load times, do they really matter? You bet they do!

June 23, 2023 — Global Storage Engineering (GSE) migrated 2.5PB of Managed Word Press (MWP) data from vendor supported storage to opensource community supported Ceph storage utilizing CephFS in 9 months, resulting in improved customer experience. Read More »

Article featured image
Building a Scalable and Performant Website Hosting Platform in AWS

June 13, 2023 — Learn how GoDaddy improved the performance and reliability of its on-prem Websites + Marketing hosting platform by migrating to AWS. Read More »

Article featured image
Implementing Application Layer Encryption in Ruby on Rails applications with Asherah

May 23, 2023 — This article explores how we implement Application Layer Encryption in Ruby on Rails applications to protect customer-sensitive data with Asherah. Read More »

Article featured image
Improving Company Agility and Scale Using AWS Cloud Operations with GoDaddy

April 26, 2023 — Learn how GoDaddy improved management, governance, and observability across its platforms using AWS. Read More »

Article featured image
Evolution of Data Platform at GoDaddy

March 28, 2023 — This technical blog provides an in-depth look at the evolution of data at GoDaddy, highlighting the challenges faced along the way and the journey towards building a modern, low-cost cloud data platform. Read More »

Article featured image
Leveraging Foreign Function Interfaces at GoDaddy

March 20, 2023 — By leveraging foreign function interface and C shared libraries, GoDaddy can unify the implementation of libraries in Go or Rust and share those libraries with other languages. Read More »

Article featured image
Building a robust mobile to webview bridge with RxJS and Redux

March 02, 2023 — In this post, we'll take a look at how our team built a robust duplex bridge between our mobile and webview code. We'll also take a look at how we use RxJS observables to deal with messages from the bridge combined with actions dispatched from our React app that runs in the webview. Read More »

Article featured image
Mental health is a problem in the software industry

February 03, 2023 — If you’ve ever been on a job hunt in the software industry, you’ve likely seen a company list “work-life balance” as a benefit. The fact that companies need to tell prospective employees that they’ll allow them to “have a life” is telling, but often missed in this discussion of balance, is mental health. Read More »

Article featured image
Search Data Engineering: The Bike Chain of Search

December 15, 2022 — GoDaddy provides best in class search experience for people looking for domain names. Search data engineering is the critical plumbing behind the seamless search experience on the GoDaddy search page. In this blog post, we provide some insights into the inner workings of the data pipelines by delving into the architecture and the implementation of the search data infrastructure. Read More »

Article featured image
How GoDaddy built a data mesh to decentralize data ownership using AWS Lake Formation

December 01, 2022 — In this post, we discuss how GoDaddy uses AWS Lake Formation to simplify security management and data governance at scale, and enable data as a service (DaaS) supporting organization-wide data accessibility with cross-account data sharing using a data mesh architecture. Read More »

Article featured image
Behind the scenes of GoDaddy's Webhosting infrastructure

October 31, 2022 — Did you ever wonder how GoDaddy runs your website? Or how one might go about hosting millions of websites? How about running a hundred thousand Virtual Private Servers (VPS)? Read More »

Article featured image
Chasing Runaway Memory Usage in Istio Sidecars

October 25, 2022 — When a service on our Kubernetes cluster started using too much memory, I thought the service itself was to blame. After a long debugging journey, I found that a misconfigured Istio sidecar proxy was actually to blame. Read More »

Article featured image
How GoDaddy uses the Global Tech Registry Platform to Track Resources and Services in AWS

September 29, 2022 — Global Tech Registry (GTR) is a metadata registry service that provides insight into GoDaddy's AWS Cloud deployments. By combining metadata from various sources with active AWS health events, GTR is able to immediately discover the impact on GoDaddy products and notify the relevant teams with impacted services. Read More »

Article featured image
Better Sample Size Estimation: Accounting for False Discovery Rate Adjustment in Controlled Experiments

September 19, 2022 — GoDaddy's Hivemind team built a Python sample size calculator that handles a wide variety of experiment metric types and multiple testing scenarios. Read More »

Article featured image
Optimizing Email Batch API with bulk inserts

September 12, 2022 — This blog post explores how we optimized our Email Batch API by using Rails bulk inserts with MySQL and how to calculate the auto-incrementing IDs for records, given MySQL does not support a RETURNING clause. Read More »

Article featured image
Website + Marketing: A Case Study on Improving Website Performance

July 28, 2022 — Case study on how we improved performance and speed in Website + Marketing. Read More »

Article featured image
Life Getting in the Way of Learning? Use This Study Group Framework

May 27, 2022 — How to keep learning new skills while meeting deadlines at work and maintaining a good work-life balance. Read More »

Article featured image
Building a Fluent-Bit Plugin in Go

March 22, 2022 — Fluent Bit is a powerful tool for log management, filtering and exporting. Learn how you can extend its functionality even further using Go to build output plugins Read More »

Article featured image
Raising the Bar for DevSecFinOps and Beyond

January 28, 2022 — DevSecFinOps (Development + Security + Finance + Operations) means developers are accountable for more and more disciplines related to the services they build. Organizations can ease this burden by building internal developer platforms that prioritize the developer experience. Read More »

Article featured image
Running Puma in AWS

January 10, 2022 — In the past couple of years, we have been on our journey to the cloud migrating our web services to AWS. In this blog post, we share what we learned about deploying Puma web server to AWS by migrating our email delivery service written in Ruby to AWS. Read More »

Article featured image
Announcing tartufo v3.0!

January 06, 2022 — We have prepared a brand new release of our credential scanning tool, tartufo, packed full of new features, massive performance gains, and improvements to the user experience! Read More »

Article featured image
GoDaddy Studio’s Journey with State Management and MVI / Unidirectional Data Flow on Android

November 05, 2021 — In this post, we will look at the journey that the GoDaddy Studio Android team took with how UI state is managed across the app. We will cover MVVM and how it caused issues, the initial MVI implementation and the issues we faced. Finally, we will look at how we landed on using Spotify’s Mobius Framework for managing state. Read More »

Article featured image
GoDaddy's Response to Online CSAM

September 29, 2021 — GoDaddy takes an unsparing stance when it comes to hosting CSAM (Child Sexual Abuse Material). We use many resources available to detect, remove, and report hosted CSAM on our platform(s). We do not allow content that sexually exploits or endangers minors. In this blog post we discuss how we’ve helped to protect children – within our systems and beyond – and how we watch for and fight this abhorrent crime. Read More »

Article featured image
The Secret(s) Behind Storing Your Code on the Public Cloud

August 26, 2021 — In our never-ending quest to improve the security of our code and systems, GoDaddy has been tackling the task of removing all secrets and credentials from all code across the company. Read the story of the process, tools, and challenges we have faced in this journey. Read More »

Article featured image
Radpack your dependencies

July 07, 2021 — Bundlers like Webpack do a great job at providing a toolset needed to deliver an optimal out-of-the-box delivery solution. Loaders on the other hand are focused on delivering only the requested assets, as they are needed, and have a much higher cacheability. Radpack offers the best of both worlds. Read More »

Article featured image
Writing a Language-Agnostic Integration Test Suite

June 14, 2021 — Writing APIs around SDKs in multiple languages proves to be an effective method of implementing a language-agnostic integration test suite. Read More »

Article featured image
Building a Pride Rainbow Easter Egg into the Over Android App 🏳️‍🌈

June 09, 2021 — In this post, we take a deep dive look into how we created a Pride-themed easter egg inside the Over Android App. The easter egg is a rainbow bounding box that is drawn using OpenGL. We take a look at how to setup the required code in order to get OpenGL to render the rainbow box on screen and learn a bit more about OpenGL along the way! Read More »

Article featured image
GoDaddy and AWS join forces to release a Serverless plugin for use with AWS Service Catalog

May 07, 2021 — The serverless-aws-servicecatalog plugin provides developers with the power of Serverless deployments while allowing companies to maintain governance over AWS resources by using AWS Service Catalog. This is one step on the path to unlock the power of no-managed-resource applications for enterprise uses. By taking advantage of higher order abstractions over CloudFormation, such as Service Catalog, teams working with self-created and managed custom products can also make use of Serverless to develop, maintain and deploy these innovative new runtimes. Read More »

Article featured image
GoDaddy's Journey to the Cloud | Part 1

May 07, 2021 — In this blog post, we share information about GoDaddy's cloud journey, which began in early 2018 when we announced our partnership with AWS. Specifically, we describe the GoDaddy Public Cloud Portal, an application used to onboard engineering teams to AWS. Read More »

Article featured image
Creating a Node.js API with the Gasket API Preset in 10 minutes or less!

February 11, 2021 — Create a simple API with Node.js and Express, using the Gasket API Preset. We'll also get a glimpse into generating API documentation with the new Gasket Swagger Plugin! Read More »

Article featured image
Four tips for developing sound experimentation practices

May 13, 2020 — Best practices and lessons learned for teams moving towards experiment-driven development. Read More »

Article featured image
GoDaddy x Split.io

May 06, 2020 — GoDaddy and Split.io recently joined forces to design and build a set of experimentation tools that enables A/B testing without a performance penalty. Read More »

Article featured image
GoDaddy Hosts DNS B Root Instances

January 27, 2020 — The root of the Domain Name System (DNS Root) is managed by 13 independent organizations, known as "A" through "M". This post discusses GoDaddy's partnership with one of those 13, known as the B Root, to augment their global presence. Read More »

Article featured image
Better prediction intervals with Neural Networks

January 10, 2020 — GoDaddy machine learning team presents Expanded Interval Minimization (EIM), a novel loss function to generate prediction intervals using neural networks. Prediction intervals are a valuable way of quantifying uncertainty in regression problems. Good prediction intervals should contain the actual value and have a small mean width of the bounds. We compare EIM to three published techniques and show EIM produces on average 1.37x tighter prediction intervals and in the worst case 1.06x tighter intervals across two large real-world datasets and varying coverage levels. Read More »

Article featured image
Kernel-Bypass Networking

December 10, 2019 — The DNS Team explored the possibility of using a software-based router instead of a hardware router. This post examines the reasons for using a software-based router with Kernel-Bypass Networking. Read More »

Article featured image
Securing the Cloud: The GoDaddy Way

December 05, 2019 — In March of 2018, GoDaddy and AWS announced a multi-year transition plan to migrate the majority of GoDaddy's infrastructure to AWS. This required a new approach to security because we could no longer rely on the same on-premise tools and infrastructure to secure a cloud environment. To address this, we developed a serverless containerized framework on AWS to continuously detect and track security issues. Read More »

Article featured image
Is my host fast yet?

December 03, 2019 — You put some files on a server and users grab them; that’s hosting, right? Sure, if you’re stuck in the 90’s. While there have been significant innovations in this space, it’s been largely uneventful in the last 10 years. This post aims to enlighten and educate on innovations in this industry. Read More »

Article featured image
Making Frameworks

November 26, 2019 — A look at how we develop Node.js apps today and how we can do it better using Gasket to quickly compose reusable elements of apps into feature-rich frameworks. Read More »

Article featured image
Frontend Caching Quick Start

November 19, 2019 — This post provides a quick start guide to front end caching, helping developers create an optimal caching strategy. Read More »

Article featured image
PHP Malware and XOR Encrypted Requests

September 27, 2019 — An analysis of the methods that malicious users use to implement XOR encryption to try and hide the data in HTTP requests sent to PHP malware existing on a compromised website or webserver. Read More »

Article featured image
DNS-over-HTTPS: Privacy and Security Concerns

September 04, 2019 — New DNS privacy standards (DoH and DoT) have been published by the IETF. DNS also has had backwards-compatible security extensions added via DNSSEC, for several years. This post examines the browser-supported DoH and compares it to DoT, and examines privacy, security, and risks. Read More »

Article featured image
Kubernetes Gated Deployments

August 13, 2019 — Kubernetes Gated Deployments is a Kubernetes controller that facilitates automatic regression testing and canary analysis on Kubernetes deployments. It is designed to augment existing deployment processes by analyzing key functionality and performance metrics associated with the application, and can detect and roll back changes if they cause undesirable behavior. Read More »

Article featured image
Using Deep Learning for Domain Name Valuation

July 26, 2019 — How we built GoDaddy Domain Appraisals (GoValue) with deep neural networks and achieved accuracy better than a human expert. Read More »

Article featured image
Secrets, GPG, BlackBox, and Docker - an Experimental Approach

July 19, 2019 — This article describes an experimental approach on how Blackbox and Docker can be used in combination to manage secrets. Read More »

Article featured image
A Simple CNN Classifier for Domain Name Industrial Market Segmentation

July 16, 2019 — A real-world example that develops a multi-class Convolutional Neural Network (CNN) Classifier that works well on very short texts -- domain names. Read more to see how we dealt with the noisiness in the data, clarified the project goal and improved the model iteratively. Read More »

Article featured image
Asherah: An Application Encryption SDK

July 09, 2019 — Enterprise data encryption is difficult, error-prone and problematic to scale. In particular, managing key rotation and limiting the blast radius of a leaked private key are difficult problems. GoDaddy is releasing its proposed solution to this problem as open source. It's an Application Encryption SDK called Asherah. Asherah's foundational principle is that you plug in your choice of key management services and then use it to manage your hierarchical key set and encrypt data using a method known as envelope encryption. We're an incubator project and currently in a request-for-feedback phase as we test the implementation internally. Read More »

Article featured image
React Native Community contribution

June 17, 2019 — GoDaddy contributed to the lean-core initiative by extracting and merging the DatePicker and TimePicker components so that we could us them in our mobile app. The new Component has fewer platform-specific implementations and is easier to maintain and use. Read More »

Article featured image
Testing React-Native using ekke

May 22, 2019 — Introducing `ekke`, a new, unique test runner for React-Native. It allows you to execute your test code directly on the device, eliminating the need for imperfect mocks and enabling you to test in the same environment as your production users. Read More »

Article featured image
Creating the Domain Connect Standard

April 25, 2019 — Domain Connect is an open standard that makes it easier for users of services like Squarespace or O365 to configure DNS without having to understand the details. The protocol involves two parties. The first is the Service Provider whose user wants to configure DNS to enable the service, and the other is the DNS Provider. The most immediate reaction to it is usually 'This is a no-brainer'. But how did it get created and evolve? How can it help others? Read More »

Article featured image
Kubernetes External Secrets

April 16, 2019 — Engineering teams at GoDaddy use Kubernetes with secret management systems, like AWS Secrets Manager. "External" secret management systems often provide useful features, such as rotation, that the native Kubernetes Secret object does not support. Kubernetes External Secrets is a new open source project that introduces the ExternalSecret object type. With an ExternalSecret object, an engineering team can manage its secret data in an external system and access that data in the same way they would if they were using a Secret object. Read More »

Article featured image
Creating better examples with @exemplar/storybook

April 09, 2019 — We're announcing the release of @exemplar/storybook! Exemplar is a way to write examples for your React components with less boilerplate storybook config. Do more by writing less. Read More »

Article featured image
Making React HOC functions the easy way with addhoc

April 02, 2019 — As defined in the React documentation, a higher-order component, or HOC, is a function that returns a React component that wraps a specified child component and often provides augmented functionality. Implementing HOCs can be hard when considering hoisting statics, managing ref forwarding, and handling display name. addhoc is a newly released open-source package that aims to handle these challenges for you. Read More »

Article featured image
Dynamic Configuration for Node.js Applications

March 06, 2019 — Dynamic configuration is a powerful tool for software applications. Use it to solve problems like authorization, feature flags, and A/B tests, in addition to normal application configuration. See how GoDaddy uses a library called flipr to achieve this for some of its Node.js applications. Read More »

Article featured image
Connecting an On-Premises Data Center to AWS with HA Software VPN Tunnels

February 26, 2019 — When our team started to deploy our services to Amazon cloud, there was a demand to connect from Amazon VPC back to our On-Premises data center. This post describes how we build HA software VPN tunnels. Read More »

Article featured image
Interfaces and Metaclasses in Python

December 20, 2018 — Python's metaclasses are an obscure and often misunderstood feature of the language. This post introduces readers to metaclasses hands-on by implementing interfaces, motivated by Python's abstract base class, or ABC. Read More »

Article featured image
require-suffix - Testing Without Custom Loaders

December 14, 2018 — require-suffix is an opensource package to shim Node.js's require to optionally load different files based on platform and file extensions. It ships with custom presets for handling ios, android, and native files targeting react-native. Read More »

Article featured image
Data pipeline job scheduling in GoDaddy: Developer’s point of view on Oozie vs Airflow

November 15, 2018 — This blog discusses the pros and cons of Oozie and Airflow to help you choose which scheduler to use for your data pipeline jobs. It also contains a sample plugin which implements the Airflow operator. Read More »

Article featured image
Engaging Daily Scrum Meetings

November 13, 2018 — When team members become disengaged in a daily scrum meeting, it can be easy to question the value of the ceremony. By committing to decrease siloing and help each other with blockers, a team can achieve a more healthy culture and become more engaged in each others' progress. Read More »

Article featured image
Move over Selenium - UI Testing with Cypress

November 06, 2018 — Cypress is a relatively new front end testing tool that can be used for your UI testing needs. Selenium brings some challenges to UI testing that Cypress aims to solve through a better developer experience. Read More »

Article featured image
Reduxful: Manage RESTful data with Redux

November 05, 2018 — Introducing Reduxful, an open source project which aims to reduce the boilerplate for managing RESTful data with Redux by generating actions, reducers, and selectors for you. Read More »

Article featured image
Lighthouse4u - A Google Lighthouse as a service production

October 28, 2018 — Lighthouse4u is an opensource API for running Google Lighthouse tests at any scale, backed by Elasticsearch and Kibana for your search and visualization needs. Read More »

Article featured image
Distributed cron for Rails apps with Sidekiq Scheduler

October 15, 2018 — In some of our Ruby on Rails applications, we have migrated from using OS based cron to distributed cron using Sidekiq Scheduler. We will discuss the motivation for this change and the benefits from it. Read More »

Article featured image
Mocking SOAP APIs in functional tests using Nock

October 02, 2018 — This post explains why and how to mock the external REST and SOAP APIs in the functional tests of a service written in NodeJS to have a more robust CICD. In this post, We will write a simple functional tests and mock the external API using `nock` node module. Read More »

Article featured image
Implementing a custom Redis and in-memory bloom filter

September 11, 2018 — In our email marketing products, we changed our bloom filter implementation by using a custom Redis and an in-memory bloom filter written in Ruby. We will go through iterations at solving a real problem and writing a custom bloom filter from scratch. Read More »

Article featured image
Making mocking mistakes in Python

September 04, 2018 — Python mocking is tricky. See if you can diagnose and correct four example mocking mistakes, all of which I've made while learning the mock library in the past few months. Read More »

Article featured image
Eliminating Boilerplate and Increasing Reusability with Higher-Order Reducers

August 24, 2018 — My team has changed the way we write our redux reducers, choosing a more dynamic approach than the common switch statement. Creating reducers with higher-order factory functions gives us some great benefits. They can make the process of writing reducers faster and they're also flexible functions that can be used to generalize patterns and reduce repetition. Read More »

Article featured image
Real User Performance Measuring for Next.js

August 21, 2018 — With the introduction of navigation timing in browsers it has become a lot easier to measure performance of your front-end application. With the introduction of the `next-rum` component you will be able to gather the same metrics for your Next.js based application as well. Read More »

Article featured image
React Native Application UI testing using WebDriverIO and Appium

July 09, 2018 — We recently adopted WebDriverIO based UI testing for our React Native application. Benefits of using WebDriverIO include allowing us to write UI tests just as we wrote tests for the web. WebDriverIO configuration allows us to plugin Sauce Labs Emulators or Real Devices for cloud-based testing. Read More »

Article featured image
GoDaddy and Amazon EKS

June 28, 2018 — GoDaddy's engineering teams need a robust solution for running container-based workloads. Amazon EKS gives us a shared responsibility service model that minimizes operational complexity and delivers the powerful benefits of running on Kubernetes. Read More »

Article featured image
A build monitoring plugin for Jenkins

June 19, 2018 — We recently built a plugin to automatically monitor the health of our Jenkins builds. This article talks about how and why the plugin was built, and describes how it works at a high level. Read More »

Article featured image
Announcing winston@3.0.0!

June 12, 2018 — After several years the winston team is happy to announce the latest version – 3.0.0! Learn more about the latest version of the most popular logging library for Node.js along with what Node.js LTS means to maintainers of popular npm packages. Read More »

Article featured image
Jenkins Best Practices - Practical Continuous Deployment in the Real World

June 05, 2018 — This post describes how we use best practices for CICD pipelines using Jenkins. Read More »

Article featured image
jiractl: A command-line tool for managing Jira

May 15, 2018 — This post introduces jiractl, a command-line tool for managing Jira. We provide some instructions on how to set up and use jiractl. Read More »

Article featured image
UI Testing: moving from WebdriverIO and Selenium to Puppeteer

May 07, 2018 — When our team was losing engineering hours to Selenium-related test flakiness, we switched to Puppeteer for some of our UI tests. Given our constraints, we found that Puppeteer had a better developer experience and that the similar syntaxes of the two frameworks made the switch easy. We recommend Puppeteer for projects that do not need cross-browser compatibility. Read More »

Article featured image
Kubernetes - A Practical Introduction for Application Developers

May 02, 2018 — A collection of resources / best practices that help you become a more productive developer working with Kubernetes. Read More »

Article featured image
An Intuitive Node.js Client for the Kubernetes API

April 10, 2018 — This post explains the motivation for and design of kubernetes-client. We provide an short example on how to write your custom Kubernetes extentions using Node.js and kubernetes-client. Read More »

Article featured image
Isomorphic Asset System for React and React-Native

April 04, 2018 — Introducing Asset System a cross platform asset rendering system for React and React-Native using SVG's. Read More »

Article featured image
Introducing a fully extendable eslint plugin for JSON i18n translation files

April 02, 2018 — Many web apps harness internationalization through frameworks such as React-Intl. This is awesome for the web and helps web apps obtain a global reach. Read More »

Article featured image
Health Checks and Graceful Shutdown for Node.js Applications

February 22, 2018 — Your application is serving requests constantly for your users. You and your team want to ship features and fixes as soon as they are ready, so you do continuous delivery. But what happens to your users who used your product at the time of the deployment? Chances are, the requests they have in progress are going to fail. This post helps you fix that. Read More »