Replies: 8 comments 12 replies
-
The SkyWalking 9.0.0 looks to be a full-stack APM system, the design of |
Beta Was this translation helpful? Give feedback.
-
The general plans of tasks are as
|
Beta Was this translation helpful? Give feedback.
-
I'm glad to see this happen. @lujiajing1126 is on the integration between OAP and BanyanDB primitive version. Since 9.0 is a long-term plan, I select 8.9.x as the integrating target. FWIK, the new layer concept, has a limited impact on the storage module. We could upgrade the BanyanDB storage implementation once we have made most backend adjustments. Does it make sense? |
Beta Was this translation helpful? Give feedback.
-
The v9 core's query APIs are proposed here, apache/skywalking-query-protocol#63. Feedback is welcome. |
Beta Was this translation helpful? Give feedback.
-
The core update is raised by @wankai123 through #8367 |
Beta Was this translation helpful? Give feedback.
-
The backend and metadata query v2 are ready in the master branch. The final step is waiting for booster UI ready, which is led by @Fine0830 |
Beta Was this translation helpful? Give feedback.
-
Closing this update. The submodule has been replaced, booster UI is the main stream now. |
Beta Was this translation helpful? Give feedback.
-
SkyWalking v9 is going to release in the 2nd week, of April. https://lists.apache.org/thread/jgpssrld6dq1wxpn49rz00gjjzjm58jm |
Beta Was this translation helpful? Give feedback.
-
SkyWalking OAP server v9 Core
After the SkyWalking OAP 8.9.0 released, which is the last feature version of 8.x, I am glad to introduce the v9 core, including the new concept and plans.
Why v9 is being introduced?
SkyWalking core concepts have been designed back to 2018, which are service, instance, endpoint, with dependencies and topology amon them.
This is the key value of the whole SkyWalking ecosytem, and also why we are successful.
With 3 years, we have evoluted from an agent-based tracing minitoring system to a full-stack(VM to agent, covering logs/trace/metrics/events).
But meaningwhile, we noticed with more levels of infrastructure being added, such as vm-monitoring, k8s monitoring, service mesh observability, incoming serverless(FAAS),
our services get mixed, and unclear about the boundaries. Also, we have plans to adopt more ways to obserse, most importantly ebpf.
So, a new core with new concepts must be introduced
New concept
The most important concept in v9 core is LAYER. Layer represents an abstract framework in the computer science, such as operation system(VM layer), Kubernetes(k8s layer), Service Mesh(typical Isto+Envoy layer)
This kind of layer would be owners of different services detected from different technology.
In the older 8.x branch, we have a
group
concept added to resolve this kind of mixing issue temporarily, but clearly, a newlayer
concept is much better.Also,
group
concept is going to be kept, as it is important inside eachlayer
. At this time, group would be designed for end users to group their service internal. Withno group
, it would be in the default group.The name of layer is a string, but we would reserve some for visualization(UI)
(SkyWalking community holds all rights to add new reserved layer name without extra notification)
What We Should Change Accordingly?
Service
Service should still be treated as unique globally like today, even across
layer
. Layer is an attachment attribute, so it wouldn't be added in the name.The layer of a service registered in the first time, it would be saved, but never would be overrided in the future(unless the TTL passed, it goes the 2nd time registration).
Query Protocol
GraphQL metadata.graphqls would be expired, a new v2 would be designed by myself as the next step of this proposal.
Generally, all query(s) are according to service's layer, but would not do query to different kinds of service(Service, Browser, Database). All legacy query to Service, Browser, Database would be bridged into
layer
-based query.How to Determine Layer
All the engine(OAL, MAL, LAL) should provide core level mechanis to make receivers or analysis scripts could set
layer
. The default layer isgeneral
, which is like old-daysagent-installed
services.Agent analysis(traces) would add
general
layer through OAL engine.Linux monitoring would use
MAL
engine exposed(TODO) way in MAL script to setos-linux
as the layer.Visualization
With this new concept adding, the visualization clearly would face big evolution too. @Fine0830 and I are going to propose a new UI implementation, named
skywalking-booster
(repo name), to the whole community.In there, we have all monitoring type(layer) of objects as top level menu, tracing/metrics/logs would be a second level menu, and only be showing up if SkyWalking has upstream adopted features.
Of course, consider requirements of custom metrics, we are still providing custom setup mechanism like we did in RocketBot.
Meanwhile, I want to notify DaoCloud team, PMC member @TinyAllen and @JaredTan95, rocketbot UI(https://github.com/apache/skywalking-rocketbot-ui) is going to be expired too with the first v9 releasing.
skywalking-booster
could become the new recommended UI for the next generation. And I would like to express sincere thanks be behalf of the whole SkyWalking community.RocketBot UI helps the project to reach today's level. And from tech perspective, some key features, like topology map, is going to be moved into booster UI.
Timeline
In SkyWalking iteration, we don't provide the timeline about when this version is planned to release official. We are going to keep this tradition.
So, within the first 9.0.0 iteration, if some critical issues(serious bugs and/or CVEs) are reported/fixed, PMC could cherry-pick commits or accept patches on 8.9.x branch, and initialize 8.9.x release.
Notice, we should have no plan to keep features being added into 8.9.x.
FYI @apache/skywalking-committers
Beta Was this translation helpful? Give feedback.
All reactions