From b5206349855efb4f39e16e24a19e78f88d3462f3 Mon Sep 17 00:00:00 2001 From: Leonid Bugaev Date: Fri, 12 Jul 2024 09:04:00 +0300 Subject: [PATCH] Merging to release-5.4: [DX-1463] add signup and feedback links (#5064) [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 58263950fe2b4b8c34ad169d2abf77b9d8405f34. * fix sentence * Update tyk-docs/content/product-stack/tyk-streaming/overview.md * Update key-concepts.md --- .../tyk-streaming/getting-started.md | 31 ++++++-- .../tyk-streaming/key-concepts.md | 71 ++++++++++++------- .../product-stack/tyk-streaming/overview.md | 42 ++++++++--- 3 files changed, 103 insertions(+), 41 deletions(-) diff --git a/tyk-docs/content/product-stack/tyk-streaming/getting-started.md b/tyk-docs/content/product-stack/tyk-streaming/getting-started.md index 346264097d..7cc9441436 100644 --- a/tyk-docs/content/product-stack/tyk-streaming/getting-started.md +++ b/tyk-docs/content/product-stack/tyk-streaming/getting-started.md @@ -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 - +
+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: @@ -153,9 +164,17 @@ docker compose restart tyk-gateway docker compose logs tyk-gateway -f ``` ---- +
+{{< 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" >}}) diff --git a/tyk-docs/content/product-stack/tyk-streaming/key-concepts.md b/tyk-docs/content/product-stack/tyk-streaming/key-concepts.md index aa637daf83..bf80a096db 100644 --- a/tyk-docs/content/product-stack/tyk-streaming/key-concepts.md +++ b/tyk-docs/content/product-stack/tyk-streaming/key-concepts.md @@ -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]({{}}) +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 >}} + + - 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. - -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. + +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 diff --git a/tyk-docs/content/product-stack/tyk-streaming/overview.md b/tyk-docs/content/product-stack/tyk-streaming/overview.md index acc91f6d09..7e38a9161f 100644 --- a/tyk-docs/content/product-stack/tyk-streaming/overview.md +++ b/tyk-docs/content/product-stack/tyk-streaming/overview.md @@ -4,13 +4,29 @@ 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]({{}}) +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.
{{< img src="/img/streams/tyk-streams-overview.png" alt="Tyk Streams Overview" width="670px" height="500px" >}}
-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.
@@ -18,7 +34,9 @@ The purpose of Tyk Streams is to provide a unified platform for managing both sy **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" >}}).
@@ -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. @@ -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 { @@ -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.