Thanks.

> Is this the repo for the project: github.com/api7/apisix-mesh-agent
<https://github.com/api7/apisix-mesh-agent> ?

No, that project can be understood as directly putting APISIX into sidecar.
But in fact, no changes have been made in APISIX.

This is what I want to differentiate in this Proposal as well. I used
`native ability` to differentiate.

Navendu Pottekkat <navendupottek...@gmail.com> 于2022年3月11日周五 21:05写道:

> This is great to see. It makes a lot of sense to not build a separate
> service mesh but instead be a replacement to Envoy in Istio.
>
> I think this will make Istio much more extensible and will provide a lot
> of value to the user if we could build and use custom APISIX Plugins in
> the data plane.
>
> Is this the repo for the project: github.com/api7/apisix-mesh-agent
> <https://github.com/api7/apisix-mesh-agent> ?
>
> Looking forward to see this in action.
>
> - Navendu
>
> On 11/03/22 5:47 pm, Jintao Zhang wrote:
> > Background introduction
> >
> > Service mesh is currently the most popular architectural pattern.
> > Especially for the microservice architecture, it is very effective. It
> can
> > be used to manage east-west traffic, improve security, etc.
> >
> > Apache APISIX is a cloud-native high-performance API Gateway that can
> also
> > be used to manage north-south and east-west traffic.
> >
> > However, if the deployment scenario is limited to the Kubernetes cluster,
> > we will find that the service mesh solution is more natural and flexible.
> >
> > So I want to *bring Apache APISIX to the service mesh world*.
> >
> > There are already multiple solutions for service meshes, and there is not
> > much value in implementing a completely new solution.
> >
> > I would like to choose Istio[1], the most popular service mesh solution,
> as
> > the control plane.
> >
> > Uses Apache APISIX as its data plane[2].
> > *Value*
> >
> > This will generate a lot of value.
> > For APISIX *Community*
> >
> > Introducing Apache APISIX to the service mesh world allows it to have
> more
> > use cases, especially in east-west traffic management, security, and
> > observability.
> >
> > Integrating with Istio is also easier to adopt.
> > For Istio *Community*
> >
> > It can enrich the ecology of Istio. Currently, the default data plane of
> > Istio is Envoy[3], but the learning cost of Envoy is high, and it is more
> > complicated to expand and maintain it.
> >
> > In addition, we have done a comparison, APISIX's performance is better
> than
> > Envoy.
> >
> > APISIX and Istio integration, allowing users to have more choices.
> > For end-user
> >
> > We choose Istio as the control plane and only replace the data plane, so
> it
> > is insensitive to user migration. Of course, we will also conduct
> > compatibility testing to make this process more secure and reliable.
> > Architecture design
> >
> > ```
> >                                       |Control-plane--------------------+
> >                                       |                                 |
> >                                       |                                 |
> >                                       |             Istio               |
> >                                       |                                 |
> >                                       +----------------+----------------+
> >                                                        |
> >                                                        |
> >
> +-------------------------+-----------------------+
> >                              |                   Discovery
>        |
> >                              |                   Configuration
>        |
> >                              |                   Certificates
>       |
> >                              |
>        |
> >                              |
>        |
> >                +-------------v------------------+
> > +------------------v-------------+
> >                |                                |           |
> >                       |
> >                | +----------------------------+ |           |
> > +----------------------------+ |
> >                | |                            | |           | |
> >                     | |
> >                | | +--------------+---------+ | |           | |
> > +--------------+---------+ | |
> > Ingress       | | |              |         | | |           | | |
> >         |         | | |        Egress
> > --------------+-> |              | Amesh   | +-+-----------+-> |
> >         | Amesh   | +-+-------------->
> > Traffic       | | |              +---------+ | |           | | |
> >         +---------+ | |        Traffic
> >                | | |APISIX                  | | |           | | |APISIX
> >                   | | |
> >                | | +------------------------+ | |           | |
> > +------------------------+ | |
> >                | |                            | |           | |
> >                     | |
> >                | +-----+--------------^-------+ |           |
> > +-----+---------------^------+ |
> >                |       |              |         |           |       |
> >              |        |
> >                | +-----v--------------+-------+ |           |
> > +-----v---------------+------+ |
> >                | |       Service A            | |           | |
> > Service B            | |
> >                | |                            | |           | |
> >                     | |
> >                | +----------------------------+ |           |
> > +----------------------------+ |
> >                |                                |           |
> >                       |
> >                +--------------------------------+
> > +--------------------------------+
> > ```
> >
> >
> >
> > concept:
> >
> >     - Amesh: It is a Go program that interacts with Istio for the xDS
> >     protocol. Will be compiled into a .so file and embedded in APISIX.
> And the
> >     configuration will be written directly to the shdict of APISIX.
> >     - APISIX: It will read configuration from shdict and no longer need
> to
> >     rely on storage like etcd.
> >
> > *Deliverables*
> >
> > When this goal is achieved, we can deliver the following two parts
> > Amesh
> >
> > As mentioned above, this is a Go program that will do the mapping of
> Istio
> > functionality and APISIX configuration
> > APISIX
> >
> > APISIX will modify how the configuration is read. Allows getting
> > configuration information from shdict.
> > *Development Roadmap*
> >
> > TBD
> >

Reply via email to