diff --git a/.forestry/front_matter/templates/blog-post.yml b/.forestry/front_matter/templates/blog-post.yml index a7b1b0e1..0b987362 100644 --- a/.forestry/front_matter/templates/blog-post.yml +++ b/.forestry/front_matter/templates/blog-post.yml @@ -152,6 +152,7 @@ fields: target="_blank">file an issue 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 diff --git a/src/_blog/2022-12-07-testground-in-2022.md b/src/_blog/2022-12-07-testground-in-2022.md new file mode 100644 index 00000000..bc4a8975 --- /dev/null +++ b/src/_blog/2022-12-07-testground-in-2022.md @@ -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. + + + +## 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 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. + +
+ +✨ 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. + +
\ No newline at end of file diff --git a/src/assets/2022-12-07-testground-logo.png b/src/assets/2022-12-07-testground-logo.png new file mode 100644 index 00000000..42e2a02d Binary files /dev/null and b/src/assets/2022-12-07-testground-logo.png differ