# Fabric

**Grey Matter Fabric** powers the zero-trust hybrid service mesh, and consists of the [**Edge**](#edge), [**Control**](#control), [**Security**](#security), and [**Sidecar**](#sidecar). Use Fabric to connect services built with any language, framework, or runtime environment.

![](https://1676458320-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LsNFVozLgvw3NDMzxBg%2F-Lvf59VQrjr1aZoDOx7N%2F-LvfAy0txi0IRrIX4bmM%2FGrey%20Matter%20Layers-Fabric%408x-squashed.png?alt=media\&token=147caa16-94a5-4138-881b-4e72ab31cd84)

Get a refresher on how Fabric fits into Grey Matter's architecture.

{% content-ref url="../../internals/core-components" %}
[core-components](https://greymatter.gitbook.io/grey-matter-documentation/1.3/internals/core-components)
{% endcontent-ref %}

## Edge

{% hint style="info" %}
**Note:** the **Grey Matter Edge** and **Grey Matter Sidecar** are ***the same binary*** configured differently based on north/south and east/west access patterns.
{% endhint %}

The **Grey Matter Edge** handles [north/south traffic](https://greymatter.gitbook.io/grey-matter-documentation/1.3/internals/hybrid-and-multi-mesh-deployments) flowing through the mesh. You can configure multiple edge nodes based on throughput or regulatory requirements, requiring segmented routing or security policy rules. These include:

* Traffic flow management in and out of the hybrid mesh
* Hybrid cloud jump points
* Load balancing and protocol control
* Edge OAuth security

## Control

**Grey Matter Control** is a microservice that performs the following functions within Fabric:

* Automatic discovery throughout your hybrid mesh
* Templated static or dynamic sidecar configuration
* Telemetry and observable collection and aggregation
* Neural net brain
* API for advanced control

![Simple deployment architecture.](https://1676458320-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LsNFVozLgvw3NDMzxBg%2F-Lvf59VQrjr1aZoDOx7N%2F-LvfBd2evPHlXA2TzrpP%2FSimple%20Deployment%20Architecture%408x-squashed.png?alt=media\&token=ce74493c-ddf7-4b2e-9d07-6f7aba1cf17c)

Learn more about [Grey Matter Control](https://greymatter.gitbook.io/grey-matter-documentation/1.3/reference/setup/fabric-1/gm-control) here.

## Security

Fabric offers the following security features:

* Verifies that tokens presented by the invoking service are trusted for such operations
* Performs operations on behalf of a trusted third party within the Hybrid Mesh

## Sidecar

The Grey Matter Sidecar is a [proxy](https://greymatter.gitbook.io/grey-matter-documentation/1.3/reference/api/fabric-api/proxy) that can sit in front of your service or at the edge of your mesh. Add Grey Matter to your microservices by deploying a sidecar proxy throughout your environment. This sidecar intercepts all network communication between microservices.

{% hint style="info" %}
**Reminder:** the **Grey Matter Edge** and **Grey Matter Sidecar** are ***the same binary*** configured differently based on north/south and east/west access patterns.
{% endhint %}

The Grey Matter Sidecar offers the following capabilities:

* Multiple protocol support
* Observable events for all traffic and content streams
* Filter SDK
* Certified, Tested, Production-Ready Sidecars
* Native support for gRPC, HTTP/1, HTTP/2, and TCP

### Sidecar's Control Plane Functionality

Once you've deployed the Grey Matter Sidecar, you can configure and manage Grey Matter with its control plane functionality:

* Automatic load balancing for HTTP, gRPC, WebSocket, and TCP traffic
* Fine-grained control of traffic behavior with rich routing rules, retries, failover, and fault injection
* A policy layer and configuration API supporting access controls, rate limits and quotas
* Automatic metrics, logs, and traces for all traffic within a cluster, including cluster ingress and egress
* Secure service-to-service communication in a cluster with strong identity-based authentication and authorization

{% hint style="success" %}
**Need a refresher on gRPC Protocol?**

* gRPC is an RPC protocol implemented on top of HTTP/2
* HTTP/2 is a Layer 7 (Application layer) protocol that runs on top of a TCP (Layer 4 - Transport layer) protocol
* TCP runs on top of IP (Layer 3 - Network layer) protocol
  {% endhint %}

## Questions

{% hint style="success" %}
**Want to learn more about Grey Matter Fabric?** Contact us at [info@info@greymatter.io](mailto:info@greymatter.io) to discuss your use case.
{% endhint %}
