Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

merged introduction from concepts section into microservices SDK section #2634

Open
wants to merge 3 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 0 additions & 22 deletions content/concepts/applications-bundle/microservices.md

This file was deleted.

2 changes: 1 addition & 1 deletion content/concepts/applications.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ sector:
{{< product-c8y-iot >}} includes the following application types:

* [Web applications or extensions](#web-applications) - web-based user interface applications
* [Microservices](#microservices) - server-side business logic
* [Microservices](/microservice-sdk/general-aspects/) - server-side business logic
BeateRixen marked this conversation as resolved.
Show resolved Hide resolved

Web applications are HTML5 single page applications, that appear in the {{< product-c8y-iot >}} application switcher and that are hosted in the {{< product-c8y-iot >}} platform. You can either develop your own web application or extend existing applications with plugins.

Expand Down
15 changes: 11 additions & 4 deletions content/microservice-sdk/general-aspects-bundle/introduction.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,11 @@ title: Introduction
layout: redirect
---

Microservices are server-side applications. You can extend the {{< product-c8y-iot >}} platform with customer-specific functionality by deploying microservices. For instance, you can develop integrations to third-party software or provide server-side business logic. A microservice-based architecture introduces change that is often well received by those developing modern applications, and solutions can be delivered much more quickly to those requesting flexible and scalable applications. Microservices bring significant benefits such as deployability, reliability, availability, scalability, modifiability and management.
BeateRixen marked this conversation as resolved.
Show resolved Hide resolved

Microservices use standard REST APIs with full authentication and authorization to communicate with {{< product-c8y-iot >}}. They are, in most cases, multi-tenant, meaning they must be able to strictly separate tenants and connect to multiple tenants at the same time.
Microservices may offer their own endpoints that can be used by {{< product-c8y-iot >}} and {{< product-c8y-iot >}}-based applications, for example, for system integration purposes. Examples of such microservices are the Jasper Control Center integration and the SMS integration for sending SMS notifications to end users.

You can extend the {{< product-c8y-iot >}} platform with customer-specific functionality by deploying microservices. For instance, you can develop integrations to third-party software or provide server-side business logic. A microservice-based architecture introduces change that is often well received by those developing modern applications, and solutions can be delivered much more quickly to those requesting flexible and scalable applications. Microservices bring significant benefits such as deployability, reliability, availability, scalability, modifiability and management.
Microservices may offer their own endpoints that can be used by {{< product-c8y-iot >}} and {{< product-c8y-iot >}}-based applications, for example, for system integration purposes. Examples of such microservices are the Jasper Control Center integration and the SMS integration for sending SMS notifications to end users.

{{< product-c8y-iot >}} microservices have the following properties:

Expand All @@ -21,6 +22,12 @@ The following management features are supported:
- Microservices can be registered to individual tenants and super-tenants (that is, tenants with subtenants).
- Multi-tenant microservices can be subscribed to other tenants.

Technically, microservices are Docker containers hosted by {{< product-c8y-iot >}} and they follow specific conventions. They are typically accessed using {{< product-c8y-iot >}} REST API available under <kbd>/service/&lt;microservice-name&gt;</kbd>.
Technically, microservices are Docker containers hosted by {{< product-c8y-iot >}} and they follow specific conventions. They are typically accessed using {{< product-c8y-iot >}} REST API available under <kbd>/service/&lt;microservice-name&gt;</kbd>. They typically access {{< product-c8y-iot >}} using the documented REST API.

Developers are not restricted to any programming language when developing a microservice for {{< product-c8y-iot >}}. However, a microservice must serve as an HTTP server working on port 80 and must be encapsulated in a Docker image.

The hosting of the microservice is provided by {{< product-c8y-iot >}}. This way developers can focus on business logic and leave scaling, security, high availability and monitoring to {{< product-c8y-iot >}}. Microservices can be built on top of the API exposed by the {{< product-c8y-iot >}}. This way, {{< product-c8y-iot >}} microservices are a comfortable means to provide new functionality and extend existing ones.

![Microservice infrastructure](/images/concepts-guide/microservice_infrastructure.png)

Developers are not restricted to any programming language when developing a microservice for {{< product-c8y-iot >}}. However, a microservice must serve as an HTTP server working on port 80 and must be encapsulated in a Docker image. Refer to the relevant chapters in this guide for further information for the development of microservices.
For detailed information on developing and deploying microservices on top of {{< product-c8y-iot >}} refer to the following chapters in this section, which provide information on the general concept of microservices in {{< product-c8y-iot >}} as well as specific guidance and examples for various programming languages.