Skip to content

Commit

Permalink
Merging to release-5.4: [DX-1463] add signup and feedback links (#5064)
Browse files Browse the repository at this point in the history
[DX-1463] add signup and feedback links (#5064)

* add signu and feedback

* rephrase and added signup

* rephrase message

* rephrase based on PR Agent ai

* rephrase based on PR Agent ai and shorten lines

* Revert "rephrase based on PR Agent ai and shorten lines"

This reverts commit 5826395.

* fix sentence

* Update tyk-docs/content/product-stack/tyk-streaming/overview.md

* Update key-concepts.md
  • Loading branch information
buger authored Jul 12, 2024
1 parent 860b746 commit b520634
Show file tree
Hide file tree
Showing 3 changed files with 103 additions and 41 deletions.
31 changes: 25 additions & 6 deletions tyk-docs/content/product-stack/tyk-streaming/getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,24 @@ description: Guide for how to quickly get started using Tyk Streaming
tags: [ "streaming", "getting started" ]
---

In this guide, you'll learn how to set up Tyk Streams and configure your first asynchronous API. By the end of this guide, you will have a fully functional API that allows you to subscribe to a WebSocket and see the messages you post to Tyk (REST) in real-time.

Let's get started and unlock the power of Tyk for your asynchronous API needs!

In this guide, you'll learn how to set up Tyk Streams and configure your first asynchronous API. By the end of this
guide, you will have a fully functional API that allows you to subscribe to a WebSocket and see the messages you post to
Tyk (REST) in real-time.

## Your feedback
Before you start we have a small request -
</br>
Tyk Streams is currently in the
[Lab Release]({{< ref "developer-support/special-releases-and-features/lab-releases">}}) phase. Your feedback is crucial
in helping us improve and shape this capability while it’s still in the making. We'd love your input on your experience
using Tyk Streams, the documentation, learning about your use case, areas for improvement and any other relevant
information you can share with us.
{{< button_left href="https://survey.hsforms.com/1lb_eMrtRR5W3WoEEuACQ2Q3ifmg" color="green" content="Feedback" >}}

---

Let's get started and unlock the power of Tyk for your asynchronous API needs!

## Prerequisites

To get started with Tyk Streams, you will need:
Expand Down Expand Up @@ -153,9 +164,17 @@ docker compose restart tyk-gateway
docker compose logs tyk-gateway -f
```

---
</br>
{{< note success>}}
**You did it!!!**

**You have successfully set up Tyk Streams and created your first async API!**
{{< /note >}}

## Next Steps

With this getting started guide, you have successfully set up Tyk Streams and created your first async API! You can now start exploring more [advanced configurations]({{< ref "api-management/async-apis/advanced-use-cases" >}}) and [use cases]({{< ref "api-management/async-apis/use-cases" >}}).
- Thanks for getting started with Tyk Streams! Please take a moment to share your thoughts and experiences with us
{{< button_left href="https://survey.hsforms.com/1lb_eMrtRR5W3WoEEuACQ2Q3ifmg" color="green" content="Feedback" >}}

- You can now start exploring [Tyk Stream capabilities]({{< ref "api-management/async-apis/use-cases" >}}) and
[use cases]({{< ref "api-management/async-apis/advanced-use-cases" >}})
71 changes: 45 additions & 26 deletions tyk-docs/content/product-stack/tyk-streaming/key-concepts.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,18 @@ description: Explains key concepts of streaming
tags: [ "streaming", "events", "event driven architecture", "event driven architectures", "kafka" ]
---

{{< note success>}}

Tyk Streams is currently in the [Lab Release]({{<ref "developer-support/special-releases-and-features/lab-releases">}})
phase, and we'd love for you to try it out. Click the button to sign up and take it for a spin:
{{< button_left href="https://survey.hsforms.com/1ItPCBg-_Tre8WFJZL4pp6Q3ifmg" color="green" content="Get started with Tyk Streams" >}}

{{< /note >}}

<!-- Architectural overview
- Tyk is now a intermediate broker between broker and subscribers, This is sometimes known as broker proxy
- Tyk is now an intermediate broker between broker and subscribers, This is sometimes known as broker proxy
- Integrate with multiple brokers
- API Management hooks between publisher, gateway and subscriber (Events are availble as APIs)
- API Management hooks between publisher, gateway, and subscriber (Events are available as APIs)
Explain example roles of publisher and subscriber
Expand All @@ -27,43 +35,54 @@ Terms
- Example application scenarios
- IoT
- Infrastructure for domain driven design, e.g. event bus to notify state changes between micro-services -->
- Infrastructure for domain-driven design, e.g. event bus to notify state changes between micro-services -->

Tyk Streams seamlessly integrates with the Tyk API Gateway to provide a unified platform for managing both synchronous and asynchronous APIs. This section will provide an overview of the architecture, integration points, and key capabilities. Please consult the [glossary]({{< ref "product-stack/tyk-streaming/glossary" >}}) for explanations of key terminology.
Tyk Streams seamlessly integrates with the Tyk API Gateway to provide a unified platform for managing both synchronous
and asynchronous APIs. This section will provide an overview of the architecture, integration points, and key
capabilities. Please consult the [glossary]({{< ref "product-stack/tyk-streaming/glossary" >}}) for explanations of key
terminology.

Tyk Streams natively integrated as part of Tyk API Gateway and does not have any third party dependencies.
Tyk Streams is natively integrated as part of Tyk API Gateway and has no third-party dependencies.

<!-- <!TODO: Add architectural image> -->

The above diagram illustrates the high-level architecture of Tyk Streams and its integration with the Tyk API Gateway. Key components include:
- **Tyk API Gateway**: The core API management platform that handles API requests, applies policies and routes requests to the appropriate backend services.
- **Tyk Streams**: An extension to the Tyk API Gateway that enables support for asynchronous APIs and event-driven architectures.
- **Event Brokers**: External systems such as Apache Kafka, MQTT brokers, or WebSocket servers that produce and consume events.
<!-- The above diagram illustrates the high-level architecture of Tyk Streams and its integration with the Tyk API Gateway. -->
Key components in the architecture of Tyk Streams:
- **Tyk API Gateway**: The core API management platform that handles API requests, applies policies, and routes requests
to the appropriate backend services.
- **Tyk Streams**: An extension to the Tyk API Gateway that enables support for asynchronous APIs and event-driven
architectures.
- **Event Brokers**: External systems such as Apache Kafka, MQTT brokers, or WebSocket servers that produce and consume
events.
- **Backend Services**: The underlying services and systems that expose APIs or consume events.

## Integration with Tyk API Gateway
## Tyk Streams as middleware in Tyk API Gateway

Tyk Streams integrates with the Tyk API Gateway through the following mechanisms:
Tyk Streams operates as middleware within the Tyk API Gateway, providing the following functionalities:

- **API Definitions**: Tyk Streams are defined using the standard Tyk OpenAPI API definition format, with additional fields specific to async protocols and event configurations.
- **Middleware**: Tyk Streams introduces new middleware components that handle async-specific functionality such as protocol mediation, event transformations and pub/sub messaging.
- **Analytics**: Async API traffic is captured and reported via Prometheus, OpenTelementry or StatsD, providing visibility into usage, performance, and errors.
- **Middleware**: Tyk Streams introduces new middleware components that handle async-specific functionality such as
protocol mediation, event transformations, and pub/sub messaging.
- **API Definitions**: Tyk Streams is configured using the standard Tyk OAS format, including additional fields tailored
for async protocols and event configurations.
- **Analytics**: Async API traffic is captured and reported via *Prometheus*, *OpenTelemetry* or *StatsD*, providing
visibility into usage, performance, and errors.

## Connectors and Protocol Mediation

Tyk Streams provides out-of-the-box connectors for popular event brokers and async protocols, including:

- Apache Kafka
- MQTT
- RabbitMQ
- Solate
- RedPanda
- AMQP
- WebSocket
- Server-Sent Events (SSE)
- Webhooks

In addition to the native protocol support, Tyk Streams offers powerful protocol mediation capabilities. This allows you to expose async APIs using different protocols than the backend event broker, making it easier to support diverse client requirements.
- [Apache Kafka](https://kafka.apache.org/documentation/)
- [MQTT](https://mqtt.org/)
- [RabbitMQ](https://www.rabbitmq.com/docs)
- [Solace](https://docs.solace.com/Get-Started/Solace-PubSub-Platform.htm)
- [RedPanda](https://docs.redpanda.com/current/home/)
- [AMQP](https://www.amqp.org/)
- [WebSocket](https://websocket.org/guides/websocket-protocol/)
- [Server-Sent Events](https://en.wikipedia.org/wiki/Server-sent_events) (SSE)
- [Webhooks](https://en.wikipedia.org/wiki/Webhook)

In addition to the native protocol support, Tyk Streams offers powerful protocol mediation capabilities. This allows you
to expose async APIs using different protocols than the backend event broker, making it easier to support a diverse client
requirements.

For example, you can:
- Expose a Kafka topic as a WebSocket API
Expand Down
42 changes: 33 additions & 9 deletions tyk-docs/content/product-stack/tyk-streaming/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,21 +4,39 @@ description: Explains the purpose of Tyk Streaming and use cases
tags: [ "streaming", "events", "event-driven architecture", "event-driven architectures", "kafka" ]
---
We are excited to introduce our new product, *Tyk Streams*!
*Tyk Streams* is a powerful new feature in the Tyk API management platform that enables organisations to securely expose, manage and monetize real-time event streams and asynchronous APIs. With *Tyk Streams*, you can easily connect to various event brokers and streaming platforms, such as [Apache Kafka](https://github.com/TykTechnologies/tyk-pro-docker-demo/tree/kafka), MQTT, AMQP etc. and expose them as managed API endpoints to internal and external consumers.
*Tyk Streams* is a powerful new feature in the Tyk API management platform that enables organisations to securely expose,
manage and monetize real-time event streams and asynchronous APIs.

## Getting started

Tyk Streams is currently in the [Lab Release]({{<ref "developer-support/special-releases-and-features/lab-releases">}})
phase, and we'd love for you to try it out. Click the button to sign up and take it for a spin:
{{< button_left href="https://survey.hsforms.com/1ItPCBg-_Tre8WFJZL4pp6Q3ifmg" color="green" content="Get started with Tyk Streams" >}}

---
## Overview
With *Tyk Streams*, you can easily connect to various event brokers and streaming platforms, such as
[Apache Kafka](https://github.com/TykTechnologies/tyk-pro-docker-demo/tree/kafka), MQTT, AMQP etc. and expose them as
managed API endpoints to internal and external consumers.

<div style="display: flex; justify-content: center;">
{{< img src="/img/streams/tyk-streams-overview.png" alt="Tyk Streams Overview" width="670px" height="500px" >}}
</div>

The purpose of Tyk Streams is to provide a unified platform for managing both synchronous APIs (such as REST and GraphQL) and asynchronous APIs, in addition to event-driven architectures. This allows organisations to leverage the full potential of their event-driven systems while maintaining the same level of security, control and visibility they expect from their API management solution.
The purpose of Tyk Streams is to provide a unified platform for managing both synchronous APIs (such as REST and
GraphQL) and asynchronous APIs, in addition to event-driven architectures. This allows organisations to leverage the
full potential of their event-driven systems while maintaining the same level of security, control and visibility they
expect from their API management solution.

</br>

{{< warning success>}}

**Important notice: Tyk Stream in Lab Release**

*Tyk Streams* is currently in the *Lab Release* phase. It is under active development and testing, and is not intended for production use. For more details and to provide your feedback, please visit our [Lab Release Information Page]({{< ref "developer-support/special-releases-and-features/lab-releases" >}}).
*Tyk Streams* is currently in the *Lab Release* phase. It is under active development and testing, and is not intended
for production use. For more details and to provide your feedback, please visit our
[Lab Release Information Page]({{< ref "developer-support/special-releases-and-features/lab-releases" >}}).

</br>

Expand All @@ -28,7 +46,8 @@ The purpose of Tyk Streams is to provide a unified platform for managing both sy

## How Tyk Streams Enables Async API Support?

Tyk Streams seamlessly integrates with the Tyk API Gateway, allowing you to manage asynchronous APIs and event streams alongside your existing synchronous APIs. It provides a range of capabilities to support async API management, including:
Tyk Streams seamlessly integrates with the Tyk API Gateway, allowing you to manage asynchronous APIs and event streams
alongside your existing synchronous APIs. It provides a range of capabilities to support async API management, including:

- **Protocol Mediation**: Tyk Streams can mediate between different asynchronous protocols and API styles, such as WebSocket, Server-Sent Events (SSE) and Webhooks. This allows you to expose your event streams in a format that is compatible with your consumers' requirements.
- **Security**: Apply the same security policies and controls to your async APIs as you do to your synchronous APIs. This includes features like authentication and authorization.
Expand All @@ -39,7 +58,8 @@ Tyk Streams seamlessly integrates with the Tyk API Gateway, allowing you to mana

#### Configuration as Code

Tyk Streams configuration natively integrates with our OpenAPI format. This enables a *configuration-as-code* approach, where async API definitions can be version-controlled, collaborated on and deployed using GitOps workflows.
Tyk Streams configuration natively integrates with Tyk OAS (our OpenAPI format for APIs), enabling *configuration-as-code*
approach. This allows async API definitions to be version-controlled, collaborated on and deployed using GitOps workflows.

```yaml
{
Expand Down Expand Up @@ -76,20 +96,24 @@ Tyk Streams configuration natively integrates with our OpenAPI format. This enab

## Configuring Async APIs via Dashboard UI

The Tyk Dashboard provides a user-friendly interface for defining and managing async APIs. You can easily specify event broker details, subscribe to specific topics or channels, configure security policies, transformations and other API management capabilities.
The Tyk Dashboard provides a user-friendly interface for defining and managing async APIs. You can easily specify event
broker details, subscribe to specific topics or channels, configure security policies, transformations and other API
management capabilities.

{{< img src="/img/streams/configure-streams.png" alt="Tyk Dashboard API Streams" width="1000px" >}}
{{< img src="/img/streams/configure-streams.png" alt="Screenshot of Tyk Dashboard configuring API Streams" width="1000px" >}}

---

## Comparison to Other Products

While some API management platforms offer basic support for async APIs and event-driven architectures, Tyk Streams stands out by providing a comprehensive and flexible solution:
While some API management platforms offer basic support for async APIs and event-driven architectures, Tyk Streams
stands out by providing a comprehensive and flexible solution:

- **Extensive protocol support**: Tyk Streams supports a wide range of event brokers and protocols out of the box, including Kafka, MQTT, WebSocket, and more.
- **Powerful mediation capabilities**: Tyk Streams allows you to transform and enrich event data, enabling protocol mediation and compatibility with diverse client requirements.
- **Seamless integration**: Async APIs are managed alongside synchronous APIs within the Tyk platform, providing a unified developer portal, consistent security policies and centralised analytics.
- **Flexibility and scalability**: Tyk Streams can be deployed in various architectures, from simple single-node setups to large-scale distributed deployments and can handle high-throughput event processing scenarios.

By leveraging Tyk Streams, organisations can unlock the full potential of their event-driven architectures while benefiting from the robust API management capabilities of the Tyk platform.
By leveraging Tyk Streams, organisations can unlock the full potential of their event-driven architectures while
benefiting from the robust API management capabilities of the Tyk platform.

0 comments on commit b520634

Please sign in to comment.