testground 2022: add testground higlights in 2022

This commit is contained in:
Laurent Senta
2022-12-07 14:17:47 +01:00
parent 6e2baaff4f
commit fa81b2396e
3 changed files with 93 additions and 0 deletions

View File

@@ -152,6 +152,7 @@ fields:
target="_blank">file an issue</a> with the details.
pages:
- src/_blog/2021-05-31-distributed-wikipedia-mirror-update.md
- src/_blog/2022-12-07-testground-in-2022.md
- src/_blog/3s-studio-bringing-unreal-engine-to-ipfs.md
- src/_blog/a-brave-new-wallet-the-future-of-the-browser-wallet.md
- src/_blog/a-guide-to-ipfs-connectivity-in-web-browsers.md

View File

@@ -0,0 +1,92 @@
---
tags:
- Testground
title: "Highlights of Testground 2022"
description: "Testground is a platform for testing and benchmarking distributed systems. This year, the IPDX team re-ignited the project."
date: 2022-12-07
permalink: "/testground-highlights-in-2022/"
translationKey: ''
header_image: /libp2p-day-blog-header.png
author: Laurent Senta
---
![](../assets/2022-12-07-testground-logo.png)
Testground is a platform for testing and benchmarking distributed systems. We used it before to work on massive improvements to IPFS DHT, Filecoin Network, and libp2p. This year, the IPDX team re-ignited the project. We started two collaborations, created a new use case for interoperability testing, and welcomed new users and contributors.
Now that the end of the year is near; it is time for a “bragging session” and to share our master plan to take over the CIs of the entire Protocol Labs Network!
[[toc]]
## A new use case: interoperability testing for the libp2p team
Using Testground, the libp2p team is now testing interoperability between many implementations and versions. They are now testing go-libp2p and rust-libp2p versions. js and nim testing are in the works.
**Milestones:**
- **Mixed Builders Feature**: We can now write a test that depends on [multiple builders and languages](https://github.com/testground/testground/pull/1367).
- **Interoperability Support Improvements in go**: Testground can [rewrite mod files](https://github.com/testground/testground/pull/1338), and dependencies [rewrite](https://github.com/testground/testground/pull/1338) have been improved. This helps users Test many different versions of a library with a single test source.
- **rust-sdk**: We introduced the [rust-sdk](https://github.com/testground/testground/pull/1287) and [improved it over the year](https://github.com/testground/sdk-rust/pulls?q=is%3Apr+is%3Aclosed).
- **js-sdk**: Thanks to Little Bear Labs support, the Testground SDK for JavaScript [now runs in the browser](https://github.com/testground/sdk-js/pull/26).
We also [presented this project during IPFS camp](https://www.youtube.com/watch?v=b2SkC4dYV-A) (Youtube).
## Massive stability improvements for supported SDKs
Testground has an issue with Flakiness. Our second focus is to improve the project's stability.
**Milestones:**
- **A refreshed Docker Runner**: to support new languages better and fix concurrency issues, we [rewrote the Docker Runner](https://github.com/testground/testground/pull/1407#issuecomment-1203853804). In our tests, **false negatives went from 40% to <1%.**
- **Benchmarking and stability improvements:** we've implemented tooling and [fixes](https://github.com/testground/testground/pull/1421) that help with CI [testing](https://github.com/libp2p/test-plans/pulls?q=is%3Apr+is%3Amerged+merged%3A%3E%3D2022-01-01). Some of this work will soon become part of the Testground Stability Dashboard and custom CI actions.
## EKS Support
Testground is also designed to run on large Kubernetes clusters. With EKS, we hope to support large-scale tests (10k+ nodes) with low operational costs ([EKS](https://aws.amazon.com/eks/) is a managed service from AWS).
**Milestones:**
- **Preview Support for EKS:** The Bloxico Team has been working hard on [Testground EKS Support](https://github.com/testground/testground/pull/1350) and [Deployments](https://github.com/testground/infra/pull/78). They picked new CNI configurations and made sure the infrastructure was now deployable. This work was merged, and other teams, such as Celestia, have been building on top of it.
<aside>
<div class="block w-full p-6 bg-white border border-gray-200 rounded-lg shadow-md dark:bg-gray-800 dark:border-gray-700">
<h5 class="mb-2 text-2xl font-bold tracking-tight text-gray-900 dark:text-white">This is just an excerpt!</h5>
<p class="font-normal text-gray-700 dark:text-gray-400">
✨ The team also dusted off [SDKs](https://github.com/testground/sdk-js/pull/22) and [examples](https://github.com/testground/testground/pull/1306), helped [improve ARM support](https://github.com/testground/testground/pull/1372). We introduced new [features](https://github.com/testground/testground/pull/1481), [bug fixes](https://github.com/testground/testground/pull/1321), and [brought many more improvements](https://github.com/testground/testground/pulls?q=is%3Apr+is%3Aclosed+merged%3A%3E2022-01-01+).
</p>
</div>
</aside>
## New Users
New users and contributors are joining the project; They are using Testground and contributing to the project.
- **Celestia** is using Testground to [test their network](https://github.com/celestiaorg/test-infra). Building on top of our "EKS Preview", they simulate between 4 and 6 thousand nodes on a large Kubernetes Cluster.
- **Magmo** is using Testground to test and benchmark their payment channel. They had success with stability and performance measurements. They shared a (great) presentation during [Retrieval Markets Summit](https://www.youtube.com/watch?v=xYn8Evkrs30) (Youtube).
- **status.im** is [working](https://github.com/libp2p/test-plans/pull/70) on adding their nim implementation to the libp2p interoperability repository.
- **Sigma Prime** is using Testground to [test their implementation](https://github.com/ackintosh/discv5-testground) of Ethereum's Peer Discovery Protocol.
- **The number0 team** uses Testground to benchmark Iroh, an IPFS implementation written in Rust focused on efficiency. They share numbers on [their website](https://iroh.computer/).
- **The Moving the Bytes Working Group** uses Testground to benchmark and test bitswap and new protocols for data exchange. You can follow along in [Notion](https://www.notion.so/MTB-WG-Meeting-1-cfeed84309894936bd652f1b47f3221a) and join the `#move-the-bytes-wg` channel on FIL Slack.
## What's Next
We shared a [Roadmap](https://github.com/testground/testground/blob/master/ROADMAP.md) for what is coming to Testground in 2023. Here is an excerpt
- **Better Network Simulation & Many More features:** We plan on improving [network simulations](https://github.com/testground/testground/issues/1488) for libp2p and the Move The Bytes WG. We are also adding the ability to run [more complex test plans](https://github.com/testground/testground/issues/1493) and [browser support](https://github.com/testground/testground/issues/1386). Testground improves the fastest when its “customer-driven”.
- **Testing, Stability, and Workflows improvement:** the team [will invest](https://github.com/testground/testground/issues/1512) in bringing Testground building and testing tools to a state where it's easy & efficient to contribute. We want to improve the scale and stability of changes we can make, encourage external contributions, and communicate clearly about stability & regressions.
<div class="blog type-rich block w-full p-6 bg-white border border-gray-200 rounded-lg shadow-md dark:bg-gray-800 dark:border-gray-700">
✨ Testground is like that kid in the back of the class, *"great potential, needs more attention.”* We believe it's brilliant, and we'd like to encourage you to *join us*!
Whether you already know Testground and can't wait for improvements, or you are discovering the project and thinking about using it, we'd like to hear more from you:
- [Join the Community](https://docs.testground.ai/v/master/table-of-contents/readme/community) and build the future of Testground with us!
- Take two minutes to fill out our [User Survey Form](https://docs.google.com/forms/d/e/1FAIpQLScnsIVq2c6nLqchStzX78LyaZxo5CiIJUviMcMuYBz2QdpdMw/viewform) and help us identify pain points.
</div>

Binary file not shown.

After

Width:  |  Height:  |  Size: 112 KiB