What is Meshery?
Meshery is the Service Mesh Management Tool
Meshery enables operators, developers, and service owners to realize the full potential of a service mesh...
But wait! What is a service mesh exactly?
Service meshes in the Cloud Native Space are tools for adding observability, reliability, security, and features to applications by inserting them at the platform layer rather than the application layer.
In a control plane service meshes provide the following:
Provides policy, configuration, and platform integration.
Takes a set of isolated stateless sidecar proxies and turns them into a service mesh.
Does not touch any packets/requests in the data path.
While in the data plane, service meshes provide the following as well :
Provides policy, configuration, and platform integration.
Takes a set of isolated stateless sidecar proxies and turns them into a service mesh.
Does not touch any packets/requests in the data path.
How does Meshery come into the picture?
Meshery provides federation, backend system integration, expanded policy and governance, continuous delivery integration, workflow, chaos engineering, and application performance tuning.
Benefits of using Meshery for service meshes :
- Configuration Best Practices Assess your service mesh configuration against deployment and operational best practices with Meshery's configuration analyzer.
- Service Mesh Interface (SMI) Conformance Operate and upgrade with confirmation of SMI compatibility. Defines compliant behavior. Produces compatibility matrix. Ensures provenance of results. Runs a set of conformance tests. Built into participating service mesh’s release pipeline.
- The service mesh management plane Supports the following : 1.Lifecycle 2.Workload 3.Performance 4.Configuration
- Performance Management Most importantly, you can do performance comparison between different service meshes by doing load tests.
type PerformanceProfile struct {
ID *uuid.UUID `json:"id,omitempty"`
Name string `json:"name,omitempty"`
LastRun string `json:"last_run,omitempty"`
Schedule *uuid.UUID `json:"schedule,omitempty"`
LoadGenerators pq.StringArray `json:"load_generators,omitempty" gorm:"type:text[]"`
Endpoints pq.StringArray `json:"endpoints,omitempty" gorm:"type:text[]"`
ServiceMesh string `json:"service_mesh,omitempty"`
ConcurrentRequest int `json:"concurrent_request,omitempty"`
QPS int `json:"qps,omitempty"`
Duration string `json:"duration,omitempty"`
TotalResults int `json:"total_results,omitempty"`
RequestHeaders string `json:"request_headers,omitempty"`
RequestCookies string `json:"request_cookies,omitempty"`
RequestBody string `json:"request_body,omitempty"`
ContentType string `json:"content_type,omitempty"`
UpdatedAt *time.Time `json:"updated_at,omitempty"`
CreatedAt *time.Time `json:"created_at,omitempty"`
}
The above code shows the performance criteria for different service meshes.
Top comments (0)