Building a logging infrastructure that supports separation and isolation: The long journey toward log drains
Centralized logging isn’t a novel feature, but that doesn’t make it easy to build. It’s complex, tends to require a lot of iteration, and early architecture decisions can have long-term consequences you didn’t anticipate.
Kubernetes Challenges: Container Orchestration and Scaling
Explore the challenges of container orchestration and scaling in Kubernetes. Discover strategies to overcome these obstacles and ensure efficient management of containerized applications in dynamic environments. Gain insights into scaling considerations, resource allocation, and workload distribution to optimize performance and maximize the benefits of Kubernetes orchestration.
How Aptible gracefully handles memory management
Memory policies play a major role in how Docker applications function. Docker containers share the same underlying hardware, which can result in issues if a single process eats up a core resource (such as memory). Known as the noisy neighbor problem, one memory-hungry process could shut down an entire application without the right safeguards.
5 Ways to Reduce Costs and Optimize Spend on Aptible
Cloud infrastructure costs can naturally grow over time as you scale to meet demands. Aptible helps organizations save on infrastructure costs by managing and maintaining secure, compliant infrastructure that would otherwise require hiring additional engineers.
You need a security-focused platform
If you are considering Platform as a Service (PaaS) alternatives to Heroku and have regulatory or compliance requirements—or you are just generally concerned with the security of your infrastructure and the privacy of your users’ data—Aptible should be at the top of your list.
Heroku to Aptible Migration Guide
Heroku's varied and often platform-specific ways of deploying your application can make it difficult to understand the best way to migrate to another Platform as a Service. We're offering this guide to help you understand the flexible options you have for migrating an application from Heroku to Aptible.
Building Aptible’s Design System
Aptible’s UX Engineering team has recently launched version 1.0 of our in-house design system, Arrow Design System (Arrow DS for short). In this post, I’m going to walk you through some of the frameworks and tools we use and show off one of our more complicated components.
Recreating redux-toolkit’s createSlice
createSlice is a higher-order function that accepts the slice name (e.g. token, user, todos), a set of reducers, and returns a single reducer along with the action creators for that reducer. The goal of createSlice is to reduce the boilerplate required to add data to redux the canonical way.
Going on a Powertrip
If you have a product and customers, then you also have members of your team who need access to critical systems in order for your company to function. Safeguarding credentials that can access these systems via mechanisms like 2FA, U2F, and key rotation is necessary but not sufficient. You must also monitor for key security events and review each to ensure your protections are working as intended.
Securing websites via HTTP Security Headers
We recently rolled out updated HTTP security headers for Comply. Following best practices with HTTP security headers can be a quick way to add an additional layer of security to a website, so we wanted to share our work here in hopes that others might find it helpful.
What is a UX Engineer at Aptible?
Death by a thousand existential checks
Existential checks are when we have to detect whether or not a variable has a value - that is, checking to see if a variable exists. If the value is null, undefined or otherwise falsy, then it fails the check. This usually takes the form of an if-statement.
“Finding” Your Way to Better Security in Multitenant Rails Applications
Let’s say you’ve created a SaaS application that lets customers keep track of their vendors. Things are going well and you’re adding many customers. One day, a curious customer starts messing around with the IDs in URLs and stumbles across a vendor they shouldn’t have access to. This is Very Bad™, especially if your customers are relying on your application to store sensitive information!