diff --git a/src/_blog/2022-12-07-testground-in-2022.md b/src/_blog/2022-12-07-testground-in-2022.md index bc4a8975..4ba96ec2 100644 --- a/src/_blog/2022-12-07-testground-in-2022.md +++ b/src/_blog/2022-12-07-testground-in-2022.md @@ -12,28 +12,28 @@ 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. +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](https://pl-strflt.notion.site/IPDX-122073392dce454e9ca4b87231034483) 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 +## A new use case: interoperability testing for [libp2p](https://libp2p.io/) -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. +Using Testground, the libp2p team is now testing interoperability between many implementations and versions. The newly introduced tests cover go-libp2p and rust-libp2p versions already, and js and nim support is 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). +- **Interoperability Support Improvements in Go**: Testground can [rewrite mod files](https://github.com/testground/testground/pull/1338), and [overwrite dependencies](https://github.com/testground/testground/pull/1338). This enables users to test many different versions of a library using a single test source. +- [**sdk-rust**](https://github.com/testground/sdk-rust): We introduced the [sdk-rust](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). +- [**sdk-js**](https://github.com/testground/sdk-js): Thanks to [Little Bear Labs’](https://littlebearlabs.io/) support, the Testground SDK for JavaScript [now works in the browser](https://github.com/testground/sdk-js/pull/26) too. -We also [presented this project during IPFS camp](https://www.youtube.com/watch?v=b2SkC4dYV-A) (Youtube). +We also [presented _how Testground powers libp2p interoperability testing_ at 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. +Testground has an issue with flakiness. The project's stability has been on our minds throughout the year, and we have made significant strides in this area. **Milestones:** @@ -42,47 +42,38 @@ Testground has an issue with Flakiness. Our second focus is to improve the proje ## 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). +Testground is also designed to run large network tests spanning far beyond what a single machine can handle. With Testground on [EKS](https://aws.amazon.com/eks/) (managed Kubernetes service from AWS), we can support tests with more than 10k nodes. **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. +- **Preview Support for EKS:** The [Bloxico team](https://bloxico.com/) has been working hard on [Testground EKS support](https://github.com/testground/testground/pull/1350) and [EKS infrastructure setup for Testground](https://github.com/testground/infra/pull/78). A working alpha setup is now available. Other teams, such as [Celestia](https://celestia.org/), are already building on top of it. - ## New Users -New users and contributors are joining the project; They are using Testground and contributing to the project. +New users and contributors are joining 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. +- [**Celestia**](https://celestia.org/) is using Testground to [test their network](https://github.com/celestiaorg/test-infra). Building on top of our [EKS Preview](#eks-preview), they simulate between 4 and 6 thousand nodes. +- [**Magmo**](https://magmo.com/) is using Testground to test and benchmark their payment channel. They had success with stability and performance measurements. They shared an excellent presentation during [Retrieval Markets Summit](https://www.youtube.com/watch?v=xYn8Evkrs30) (Youtube). +- [**status.im**](https://status.im/) is [working](https://github.com/libp2p/test-plans/pull/70) on adding their nim implementation to the libp2p interoperability repository. +- [**Sigma Prime**](https://sigmaprime.io/) is using Testground to [test their implementation](https://github.com/ackintosh/discv5-testground) of Ethereum's Peer Discovery Protocol. +- [**number0**](https://n0.computer/) uses Testground to benchmark [iroh](https://iroh.computer/), an IPFS implementation written in Rust focused on efficiency. They share numbers on [their website](https://iroh.computer/). +- **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](https://filecoinproject.slack.com/archives/C04A22DCQCF) 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 +We shared a [Roadmap](https://github.com/testground/testground/blob/master/ROADMAP.md) for what is coming to Testground in 2023. Here are the highlights. -- **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 it’s “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. +- **Better Network Simulation & New Features:** We plan on improving [network simulation](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 it’s “customer-driven”. +- **Testing, Stability, and Workflows Improvements:** 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.
-✨ 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*! +✨ 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**](https://docs.testground.ai/v/master/table-of-contents/readme/community)! 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: