Technology Stack

Introduction

This page describes the stack of technologies used by VSETH IT. The ITA has decided to limit the different technologies used, which enables the long-term support of applications.

Why should I adhere to the stack?

VSETH can only support a very narrow set of technologies. A less narrow stack would result in a nearly unmaintainable zoo of applications that a small group of people can not maintain. So if you think that your application shall be running over a long period of time or maybe even of use to other organizations, it would be wise to use technologies from the tech stack.

Can I still use technology X?

Yes, you can. However, there is and will be no support for your technology by the ISG VSETH. In cases of questions, it's less likely that somebody can help you, and your application can maybe not be used in the future.

Classification



Labels

These are the technologies that you should use for VSETH applications. There is widespread knowledge of these technologies; therefore, the ISG and SEK can ensure support over a long period since they're also used in VSETH Core Applications.

Supported

These are technologies developers can use for less important projects or if the project significantly benefits from using this technology (e.g., because the programmer does not know any other technologies).

In exceptional cases

These technologies developers can use for very narrow use cases with a clear reason (e.g., legacy). New projects should not be initiated using these technologies if it is not a significant problem to use any other technology.

Not supported

VSETH will never take over the responsibility for projects and not make any efforts to build support for these technologies. The technologies in the graphic above are just for illustration purposes. In general, all technologies not explicitly named in Recommended, Supported, or In exceptional cases are not supported.

Categories

Backend

The main languages for Backend development are Go and Java.

You may find more information about how you should use these programming languages here:

Frontend

For frontend programming, we use Typescript with the React Framework.

Databases

The SIP provides several popular database options for your application. This section gives a short overview of the available database options.

PostgreSQL

PostgreSQL is an open-source relational database, which is the preferred database option on SIP.

MySQL

MySQL is another popular open-source relational database. The SIP offers this database service.

MongoDB

MongoDB is a popular open-source document database. Currently, the VSETH SIP does not offer MongoDB services but might be added in the future.

Support

Under support, we collect several other systems that don't fit into the categories mentioned before.

Storage

Since storing binary objects (images, music, videos, etc.) inside databases is a bad idea. However, many applications still need to store binary objects: SIP offers two different solutions, S3 and volume storage. S3 is the preferred solution.

S3 Storage

The S3 interface developed by AWS has become the de-facto standard for object-storage accessible over HTTP. SIP offers a S3 compatible interface using Minio.

Volume Storage

In some cases, however, it is not possible to use S3, e.g., if you want to deploy a third-party application that does not support S3 but wants to write to the file system directly. As described in the container section of the documentation, the filesystem of a docker container is not persistent and can't be used to persist data. It is, however, possible to mount storage volumes directly into the container, which makes it persistent.