skywalking
envoy
Our great sponsors
skywalking | envoy | |
---|---|---|
22 | 66 | |
23,106 | 23,743 | |
0.7% | 1.4% | |
9.5 | 10.0 | |
7 days ago | 3 days ago | |
Java | C++ | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
skywalking
-
Enhancing API Observability Series (Part 3): Tracing
When choosing distributed tracing tools, considerations include your technology stack, business requirements, and monitoring complexity. Zipkin, SkyWalking, and OpenTelemetry are popular distributed tracing solutions, each with its unique features.
-
Five Apache projects you probably didn't know about
Apache SkyWalking is an APM tool, focusing on microservices, Cloud Native apps, and Kuernetes architectures. It builds its architecture on four kinds of components:
- Show HN: Monitor your webapp with minimal setup
-
It's time to let go, Apache Software Foundation
Trying to play devil's advocate here.
> It needs at least a stable set of users, but maintaining a set of users is essentially managing the set of people onboarding and the set of people migrating off.
I could say that I don't care very much about how much users a piece of software has, only that it has enough information on how to use it and enough maintainers to patch any security vulnerabilities and do occasional releases with updated dependencies, as well as address any serious issues or bugs.
For example, Apache Skywalking is an APM solution that most people haven't even heard of (in contrast to something like Sentry), yet it fits those qualities and I see few to no issues with it: https://skywalking.apache.org/
> If you're shrinking then a competitor is providing better options, or your problem space has shifted.
Again, as a user, I might not care that Sentry or another piece of software is better in any number of ways than Apache Skywalking. Similarly, I might not care that something like PostgreSQL is more correct or has a large market share (at least on HN) in comparison to something like MariaDB/MySQL.
If a piece of software meets the needs of my project and won't effectively rot with time, then it's quite possibly good enough as it is, even if it's not the market leader. For my small project's APM needs Apache Skywalking is enough. For my CRUD database needs, something like MariaDB/MySQL will be okay until the time Sun burns out (or PostgreSQL if I'm feeling fancy, but even that's not one of the modern and hip solutions).
Ergo, those better options only become relevant once they're closer to being must haves than nice to haves. Same as how Docker Swarm might be enough for many, even if Kubernetes basically won in the "container wars" and has a way more active community. Swarm will only stop being an option for me once it hits EOL, at least for certain projects where simplicity is appreciated.
Then again, a counterpoint to my own argument here could be the story of LibreOffice and OpenOffice, where the latter was basically donated (instead of the rights to the name being given to the folks behind LibreOffice) and is now in decline while LibreOffice is flourishing - but at the same time they were so close to one another feature wise, that maybe it's not a good point, same as with Gogs and Gitea.
-
JDK 21 Release Notes
> Where's Java primarily used these days?
I've seen a lot of enterprise-y webdev projects use it for back end stuff (Dropwizard, Spring Boot, Vert.X, Quarkus) and in rare cases even front end (like Vaadin or JSF/PrimeFaces). The IDEs are pretty great, especially the ones by JetBrains, the tooling is pretty mature and boring, the performance is really good (memory usage aside) and the language itself is... okay.
Curiously, I wanted to run my own server for OIDC/OAuth2 authn/authz and to have common features like registration, password resets and social login available to me out of the box, for which I chose Keycloak: https://www.keycloak.org/
Surprise surprise, it's running Java under the hood. I wanted to integrate some of my services with their admin API, seems like the Java library is also updated pretty frequently: https://mvnrepository.com/artifact/org.keycloak/keycloak-adm... whereas ones I found for .NET feel like they're stagnating more: https://www.nuget.org/packages?q=keycloak (probably not a dealbreaker, though)
Then, I wanted to run an APM stack with Apache Skywalking (simpler to self-host than Sentry), which also turns out to be a Java app under the hood: https://skywalking.apache.org/
Also you occasionally see like bank auth libraries or e-signing libraries be offered in Java as well first and foremost, at least in my country (maybe PHP sometimes): https://www.eparaksts.lv/en/for_developers/Java_libraries and their app for getting certificates from the government issued eID cards also runs off of Java.
So while Java isn't exactly "hot" tech, it's used all over the place: even in some game engines, like jMonkeyEngine, or in infrastructure code where something like Go might actually be more comfortable to use.
-
OpenTelemetry in 2023
> What should people use?
I recall Apache Skywalking being pretty good, especially for smaller/medium scale projects: https://skywalking.apache.org/
The architecture is simple, the performance is adequate, it doesn't make you spend days configuring it and it even supports various different data stores: https://skywalking.apache.org/docs/main/v9.0.0/en/setup/back...
The problems with it are that it isn't super popular (although has agents for most popular stacks), the docs could be slightly better and I recall them also working on a new UI so there is a little bit of churn: https://skywalking.apache.org/downloads/
Still better versus some of the other options when you need something that just works instead of spending a lot of time configuring something (even when that something might be superior in regards to the features): https://github.com/getsentry/self-hosted/blob/master/docker-...
Sentry is just the first thing that comes to mind (OpenTelemetry also isn't simpler due to how much it tries to do), but compare its complexity to Skywalking: https://github.com/apache/skywalking/blob/master/docker/dock...
I wish there was more self-hosted software like that out there, enough to address certain concerns in a simple way on day 1 and leave branching out to more complex options like OpenTelemetry once you have a separate team for that and the cash is rolling in.
- Improving Observability of Go Services
-
Monitoring Microservices with Prometheus and Grafana
Personally I've also used Apache Skywalking for a decent out of the box experience: https://skywalking.apache.org/
I've also heard good things about Sentry, though if you need to self-host it, then there's a bit of complexity to deal with: https://sentry.io/welcome/
-
How to choose the right API Gateway
Next characteristic of a good API Gateway is effortless integration with more ecosystems. You need to check if it is integrated with other products, tools, platforms, and services. For example, you can investigate if supports several application protocols, and compatibility with third-party identity providers for authentication, and if it provides pre-built connectors that you can easily integrate with Most observability platforms like (Prometheus, Skywalking, ElasticSearch, Opentelemetry, and so on).
-
The Modern Observability Problem
For me, Apache Skywalking feels "good enough", although definitely not perfect: https://skywalking.apache.org/
The Docker Compose stack for it doesn't look as complicated as that of Sentry, it's basically an almost monolithic piece of software like Zabbix is and it works okay. The UI is reasonably sane to navigate and you have agents that you can connect with most popular languages out there.
That said, the UI sometimes feels a bit janky, the documentation isn't exactly ideal and the community could definitely be bigger (niche language support). Also, ElasticSearch as the data store feels too resource intensive, I wonder if I could move to MySQL/MariaDB/PostgreSQL for smaller amounts of data.
Then again, if I could make monitoring and observability someone else's problem, I'd prosper more, so it depends on your circumstances.
envoy
- Google Chrome's new "IP Protection" will hide users' IP addresses
-
Show HN: WebAssembly dev environment for Envoy Proxy
Hi HN!
For the past few weeks we've been working on Proximal - a workflow engine that lets you quickly iterate on WebAssembly extensions for Envoy Proxy[0] (or other proxies) right on your local machine: https://github.com/apoxy-dev/proximal
This work is based on Proxy-WASM[1] extension ABI for Envoy (and other proxies like APISIX and Mosn[2]) which allows you to execute WebAssembly code on every API request a la Cloudflare Workers. As part of our wider effort at https://apoxy.dev to improve API glue code we built an experimentation / development platform and hope you will find it useful!
On the technical side this project packs Envoy itself, Envoy controller, REST API (for controlling the controller =)), React SPA, and Temporal server/worker (for orchestration) - all baked into a single Go binary. You can find more on architecture and limitations in the repository README[4].
This project is pretty early stage and we would appreciate community feedback!
Previous HN discussions on this topic:
* https://news.ycombinator.com/item?id=36113542
* https://news.ycombinator.com/item?id=22582276
---
[0] https://www.envoyproxy.io/
[1] https://github.com/proxy-wasm/spec/blob/master/docs/WebAssem...
[2] https://apisix.apache.org/ https://mosn.io/
[3] https://github.com/apoxy-dev/proximal/blob/main/README.md#ar...
-
Show HN: Envoy Playground in the Browser
Hey HN,
We made an Envoy Proxy[0] playground so we could test out our Envoy configs directly in the browser. This is based on Julia's work with Nginx Playround[1] (we forked[2] that repo and added more Envoy to it). Check it out!
[0] - Envoy is a popular programmable proxy similar to Nginx or HAProxy that is popular with cloud-native setups: https://www.envoyproxy.io
-
Istio moved to CNCF Graduation stage
Envoy is the proxy that does the heavy lifting. Istio is just a glorified configuration system. Even if you choose to use Istio you're still using Envoy.
You're spot-on about using iptables rules. There is an example here with a yaml configuration and some iptables commands: https://github.com/envoyproxy/envoy/blob/main/configs/origin...
You might be able to re-use some of that. It should be pretty easy to get metrics for outbound/inbound http requests, but I don't remember the exact yaml incantation.
-
Need advice on K3s cluster setup
I'm using the default RaspiOS Lite 64bits and as highlighted in this issue, the RaspiOS kernel does not support CONFIG_ARM64_VA_BITS_48, which makes cilium-envoy to fail building. As solution, I was told to use either Ubuntu as base OS or Traefik Ingress Controller, which is not configured in K3s.
-
I'm looking for an SSO server/reverse proxy with features I'm not sure exist
I know envoy (https://www.envoyproxy.io/, https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/security/jwt_authn_filter) can do this natively, I'm sure you could probably build something with nginx and its Lua scripting, not sure about traefik and caddy but I dont think they support that.
-
Envoy External Authorization with Golang GRPC service
Envoy is a cloud native opensource proxy server. The Envoy proxy offers a variety of http filters to handle incoming requests.
-
A Comprehensive Guide to API Gateways, Kubernetes Gateways, and Service Meshes
Istio: By far the most popular service mesh. It is built on top of Envoy proxy, which many service meshes use.
- Scaling Rust Builds with Bazel
-
Oxy is Cloudflare's Rust-based next generation proxy framework
Check out Envoy - An open source proxy
What are some alternatives?
YARP - A toolkit for developing high-performance HTTP reverse proxy applications.
prometheus - The Prometheus monitoring system and time series database.
Squid - Squid Web Proxy Cache
jaeger - CNCF Jaeger, a Distributed Tracing Platform
signoz - SigNoz is an open-source observability platform native to OpenTelemetry with logs, traces and metrics in a single application. An open-source alternative to DataDog, NewRelic, etc. 🔥 🖥. 👉 Open source Application Performance Monitoring (APM) & Observability tool
traefik - The Cloud Native Application Proxy
Caddy - Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS
Pinpoint - APM, (Application Performance Management) tool for large-scale distributed systems.
zipkin - Zipkin is a distributed tracing system
Grafana - The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.
Varnish - The project homepage
Nginx - An official read-only mirror of http://hg.nginx.org/nginx/ which is updated hourly. Pull requests on GitHub cannot be accepted and will be automatically closed. The proper way to submit changes to nginx is via the nginx development mailing list, see http://nginx.org/en/docs/contributing_changes.html