03 December 2018

It's Really About Helping You Achieve Peak Performance

John Emmitt

Sure, Load Impact provides a SaaS application for performance testing websites, web apps and APIs. And we have some industry-first capabilities, such as our recently announced Load Impact Insights Performance Alerts. And, the goal is to enable you to deliver higher performing software to market faster and at lower cost.

But, what we are really all about is helping users, DevOps teams and organizations achieve peak performance.

Users Teams Orgs Graphic

Figure 1: Enabling Users, DevOps Teams and Organizations to Achieve Peak Performance

Users: Developers, Testers, Performance Engineers and DevOps Engineers

As a developer in today's DevOps environment, you're being asked to do more testing early in the development cycle, working closely with Performance Engineering and QA. This "shift left" is happening because it's been shown that early in the software development lifecycle (SDLC) is when the cost to fix issues is the lowest. This applies to both functional bugs and performance issues.

software-development-costs-bugfixing

Figure 2: Cost to Fix a Bug Throughout the Software Development Lifecycle (SDLC)

But, of course, adding more testing, including performance testing, to the developer's plate just means there's more work to do. You need tools that make your life easier and increase your productivity. Likewise, QA testers and performance engineers want a solution that enhances their productivity, too. If you're the DevOps engineer, you want more automation and collaboration, to streamline the end-to-end process.

How does Load Impact help?

For Developers:

We developed k6, an open source load testing tool, to be developer friendly. This means:

  • It's command line driven
  • Test scripts are written in JavaScript-- one of the most popular languages currently in use
  • Test scripts and test configurations (part of the test script itself) are version control system (VCS) friendly-- manage your tests like you manage your application code

For QA and Performance Engineering:

  • It's easy to create realistic user test scenarios with tools like the Load Impact k6 Test Script Recorder
  • Get faster insight into performance issues with Load Impact Insights Performance Alerts
  • There's an in-app script editor where you can easily create new versions of your test scripts
  • Cloud Execution allows you to run large load tests on a distributed cloud infrastructure without having to manage that infrastructure yourself. Generate loads from up to 10 different global locations (load zones).

For DevOps:

DevOps Teams

A key tenet of the DevOps culture is breaking down organizational silos and enhancing collaboration. Load Impact Insights allows sharing of test results across teams to improve collaboration.

In addition, k6 test scripts written in ES6 JavaScript allow tests to be modular. Easily import standard and custom libraries. You can create a library that can be shared across teams to improve team productivity.

k6 can load ES6 modules and ES5 libraries. (See the k6 docs on modules for additional information).

Let's take a quick dive into modules.

Built-in Modules:

There are a number of builtin modules in k6 with performance testing related APIs. These are available both in the Load Impact in-app script editor and when using k6 locally.

  • k6
    • The k6 module contains k6-specific functionality.
    • k6/crypto
      • The k6/crypto module provides common hashing functionality available in the GoLang crypto package.
    • k6/encoding
      • The encoding module provides base64 encoding/decoding as defined by RFC4648.
    • k6/html
      • The k6/html module contains functionality for HTML parsing.
    • k6/http
      • The k6/http module contains functionality for performing HTTP transactions.
    • k6/metrics
      • The metrics module provides functionality to create custom metrics
    • k6/ws
      • The ws module provides a WebSocket client implementing the WebSocket protocol.

Sample JS script for importing modules 1

Figure 3: Sample Script Showing Import of Built-in Modules

Full documentation of these modules can be found within the k6 docs.

Remote Modules:

k6 can import modules that are hosted remotely. This functionality is only available when using k6 locally to trigger tests.

Sample JS script for importing modules 2

Figure 4: Sample Script Showing Import of a Remote JavaScript Module

Organizations

Higher user and team productivity means that your company can deliver software faster at lower cost, which drives profitability. And, higher performance software improves end user satisfaction which leads to higher revenue and lower churn. Reducing churn is a critical goal for SaaS companies, in particular.

All of this is completely aligned with the overall DevOps methodology. As stated in the Interop 2018 State of DevOps report:

"DevOps encourages closer collaboration between developers and IT operations personnel. This approach relies heavily on automation to speed the development and deployment of applications, while improving overall efficiency, decreasing outages, and allowing organizations to recover from failures more quickly."

In the report, the figure shown below lists the benefits of DevOps, which include:

  • Improved quality and performance of applications
  • Reduced time-to-market for software and services
  • Increased collaboration between departments
  • A reduction in spending on development, testing, or operations
  • An increase in revenue

2018 State of DevOps Report - Benefits of DevOps-1

Figure 5: Benefits of DevOps from the 2018 State of DevOps Report (Interop)

Learn more about the Load Impact load testing service by starting a free trial. See how we can help you achieve peak performance.

< Back to all posts