Systems | Development | Analytics | API | Testing

October 2024

Sponsored Post

Simplifying AWS Testing: A Guide to AWS SDK Mock

Testing AWS services is an essential step in creating robust cloud applications. However, directly interacting with AWS during testing can be complicated, time-consuming, and expensive. The AWS SDK Mock is a JavaScript library designed to simplify this process by allowing developers to mock AWS SDK methods, making it easier to simulate AWS service interactions in a controlled environment. Primarily used with AWS SDK v2, AWS SDK Mock integrates with Sinon.js to mock AWS services like S3, SNS, and DynamoDB.

Ways to Use Mock Services in Software Development

Mocking APIs is a popular practice in software development. An increasing number of developers are reaping the benefits and no longer using their valuable time to spin up duplicate resources. Many mock services do not require account creation, making them easy to use and privacy-friendly. In the rest of this article, we explain what mock APIs are, when you should think about using them, and what solutions are available within the open-source and proprietary markets.

Throughput in Performance testing: A Comprehensive Guide

Measuring throughput and latency is a critical step in load testing software to ensure application performance and stability. In this article, we’ll discuss essential considerations before beginning performance testing and provide a detailed, step-by-step guide on leveraging production traffic replication in Kubernetes. This approach helps you accurately determine your software’s maximum throughput during performance testing.

Replay Production Traffic to Mock local development environments

Building and debugging Kubernetes microservices can be tough, especially when you don't have realistic data or environments. See how Speedscale can quickly mock DBs and APIs based on observed production behavior, so you can debug and develop features quickly. People familiar with GoReplay will notice a more modern and automated approach to turning user behavior into reproducible developer environments.

How to Load and Performance Test Kubernetes, what is Kubernetes and nuances of the platform

Check out Matt LeRay's talk on How to Test in Kubernetes at Star WEST 2024. Distributed architectures like Kubernetes present unique performance challenges. Autoscaling, Load Balancing and other mechanisms help with resiliency but can also serve to cover up fundamental problems. In this video, learn best practices and high level concepts around Kubernetes and achieving high throughput.

How to get started with a local kubernetes development environment

Mocks can be useful, but hard to build. You can use them as backends for development, or even tests (like load and performance testing). Speedscale takes the legwork out of building mocks, by modeling them after real observed traffic. This video covers a real-world example of how to use mocks to backend a JMeter load test.

Kubernetes Load Testing: How JMeter and Speedscale Compare

At some point, your development team may be considering implementing load testing (also known as stress testing) as part of your software testing process. Load testing validates that your web app is able to withstand a large number of simultaneous users, decreasing the chance that any traffic spikes will bring down your services once deployed. These stress tests can be highly granular, giving you the opportunity to test run virtually unlimited strategies before they are set into the wild.

How to Calculate TPS in Performance Testing: A Kubernetes Guide

Transactions-per-Second (TPS) is a valuable metric for evaluating system performance and is particularly relevant for engineers overseeing Kubernetes environments.TPS, alongside average response time, provides critical insights into system performance during load testing. This post covers two approaches to calculating TPS; a manual approach applicable in all environments, and an automatic Kubernetes-specific solution using production traffic replication.

Stop Using TCP Health Checks for Kubernetes Applications

As developers, one of the most important things we can consider when designing and building applications is the ability to know if our application is running in an ideal operating condition, or said another way: the ability to know whether or not your application is healthy. This is particularly important when deploying your application to Kubernetes. Kubernetes has the concept of container probes that, when used, can help ensure the health and availability of your application.

6 Golang Testing Frameworks for Every Type of Test

What do good tests look like, and do you even need a Golang testing framework? It’s a loaded question with an open answer. Not only do tests help ensure that your code will work as intended, but good tests can also serve as documentation for your codebase, making it easier to update and maintain in the future, while accelerating and streamlining your software development process. In this article, we outline 6 Golang testing frameworks for every type of test.

Top 7 Kubernetes Chaos Engineering Tools

Developing highly resilient Kubernetes deployments is crucial for ensuring that your hosted applications in Kubernetes can effectively manage and recover from disruptions. This capability is vital in order to maintain continuous availability for your customers. The importance of resilience in your distributed system also escalates depending on your customer base and the critical nature of your application. Even brief periods of downtime can have a significant negative impact on your business.

Golang Wrapper: Dependency Wrapping, in Go

All but the simplest applications borrow code. You could write everything yourself from just core language features but who has time for that? Instead you take on dependencies, pieces of code written by others that usually give us 80% or more of what we need with 20% of the effort. Sometimes these dependencies are made to interact with a specific technology like a database, or perhaps it’s just a library providing some feature that would be onerous to write yourself.