Blog

Optimieren Sie die Anwendungsbereitstellung mit AWS AppStream 2.0: Elastische Flotten mit Terraform und CloudFormation

Bild von Ivan Stanchev
Iwan Stantschew
DevOps- und Cloud-Ingenieur
09.10.2024
Lesezeit: 10 Minuten.
Zuletzt aktualisiert am: 10.10.2025

Inhaltsübersicht

AWS AppStream 2.0 ist ein Service, mit dem Sie Desktop-Anwendungen in der Cloud ausführen können, sodass Benutzer von überall darauf zugreifen können, ohne die Software auf ihren eigenen Computern installieren zu müssen. Dies ist vorteilhaft für Unternehmen, die sicherstellen möchten, dass alle Mitarbeiter Zugang zu denselben Tools haben, unabhängig davon, ob sie im Büro oder per Fernzugriff arbeiten. Mit AppStream 2.0 wird alles zentral verwaltet, so dass Software-Updates und Sicherheit einfacher zu handhaben sind.

1. Anwendungen

  • Was sie sind: Dies sind die Desktop- oder Webanwendungen, auf die die Benutzer zugreifen müssen, wie Microsoft Office, AutoCAD oder benutzerdefinierte Geschäftstools.
  • So funktioniert es: Sie installieren diese Anwendungen auf virtuellen Computern (Instanzen) in der Cloud. Wenn sich die Benutzer anmelden, können sie die Anwendungen direkt über ihren Webbrowser ausführen, ohne etwas auf ihrem Gerät zu installieren

2. Bilder

  • Was sie sind: Ein Image ist eine Art Schnappschuss eines virtuellen Computers, einschließlich des Betriebssystems und der installierten Anwendungen. Sobald Sie die Anwendungen auf einer Instanz installiert haben, erstellen Sie ein Image, damit Sie mehrere Instanzen mit der gleichen Einrichtung starten können
  • Wie es funktioniert: Sie erstellen das Image, indem Sie eine Instanz mit der gesamten Software konfigurieren, die Ihre Benutzer benötigen. Dann erfassen Sie diese Konfiguration als Image, das zum Starten mehrerer Instanzen für verschiedene Benutzer verwendet werden kann

3. Flotten

  • Was sie sind: Flotten sind Gruppen von virtuellen Computern, auf denen Ihre Anwendungen laufen. Jede Flotte wird auf der Grundlage des von Ihnen erstellten Images erstellt. Die Flotte stellt automatisch die Rechenleistung bereit, die Ihre Nutzer für den Zugriff auf ihre Anwendungen benötigen
  • Wie es funktioniert: Sobald eine Flotte erstellt ist, verbinden sich die Nutzer mit einer Instanz innerhalb der Flotte, wenn sie sich anmelden. Sie wählen die Art der Flotte, je nachdem, wie sie funktionieren soll und wie viel Sie ausgeben möchten (wie Always-On, On-Demand oder Elastic Fleets).

4. Stapel

  • Was sie sind: Ein Stack ist eine Art Container für alle Einstellungen und Ressourcen, die festlegen, wie Benutzer auf ihre Anwendungen zugreifen. Er verbindet die Flotte, die Bilder und das Benutzererlebnis
  • Wie es funktioniert: Sie erstellen einen Stack, um Dinge wie Benutzerzugriffsrichtlinien, Anwendungseinstellungen und den Ort, von dem aus die Benutzer eine Verbindung herstellen, zu verwalten. Er legt auch fest, wie die gestreamten Anwendungen für den Endbenutzer aussehen und sich verhalten

5. Benutzerzugang

  • Was es ist: So kontrollieren Sie, wer Ihre AppStream-Anwendungen nutzen kann. Sie erstellen Benutzer und ordnen sie bestimmten Stapeln zu, damit sie auf die benötigten Anwendungen zugreifen können
  • Wie es funktioniert: Sie können Benutzer auf verschiedene Weise verwalten, entweder durch die Integration mit bestehenden Identitätsdiensten wie Active Directory oder durch die Verwaltung des Benutzerzugangs direkt in AppStream. Sobald ein Benutzer eingerichtet ist, erhält er einen Link für den Zugriff auf die AppStream-Anwendungen über seinen Webbrowser

Wenn Sie AWS AppStream 2.0 einrichten, erstellen Sie im Wesentlichen ein Cloud-basiertes System, das Anwendungen an Benutzer streamt. Zu diesem Zweck erstellen und verwalten Sie Anwendungen, Images, Flotten, Stacks und den Benutzerzugriff, um sicherzustellen, dass alles reibungslos und effizient abläuft. Dieses Setup ermöglicht den Benutzern einen einfachen Zugriff auf ihre Anwendungen, ohne dass sie sich um die Installation oder Aktualisierung kümmern müssen, und bietet gleichzeitig Flexibilität und Skalierbarkeit für Unternehmen.

In AppStream 2.0 sind Flotten Gruppen von virtuellen Computern (Instanzen), auf denen die von den Benutzern benötigten Anwendungen ausgeführt werden. Es gibt verschiedene Arten von Flotten, die Sie auswählen können, je nachdem, wie Sie Ressourcen und Kosten verwalten möchten.

1. Ständig aktive Flotten

  • Was sie tun: Diese Flotten sind immer einsatzbereit, so dass die Nutzer, wenn sie sich anmelden, sofort mit der Nutzung der Anwendungen beginnen können, ohne warten zu müssen.
  • Am besten geeignet für: Unternehmen, die schnell und jederzeit Zugriff auf ihre Anwendungen benötigen
  • Kosten: Teurer, da diese virtuellen Computer ständig in Betrieb sind, auch wenn niemand sie benutzt

2. On-Demand-Flotten

  • Was sie tun: Diese Flotten laufen nur an, wenn sich jemand anmeldet. Das spart Geld, weil die virtuellen Computer nicht die ganze Zeit laufen, aber es gibt eine kleine Verzögerung, wenn sich die Benutzer verbinden, während die Instanzen hochfahren
  • Am besten geeignet für: Unternehmen, die keinen ständigen Zugang benötigen und Kosten sparen wollen
  • Kosten: Günstiger als Always-On-Flotten, aber die Nutzer müssen möglicherweise ein paar Minuten warten, bis die Apps geladen sind

3. Elastische Flotten (neu)

  • Was sie tun: Elastische Flotten passen sich automatisch an die Anzahl der Nutzer an. Sie schalten neue virtuelle Computer frei, wenn mehr Menschen die Anwendungen nutzen müssen, und schalten sie ab, wenn sie nicht mehr benötigt werden. Sie müssen sich nicht selbst um die Verwaltung der Flotte kümmern
  • Am besten geeignet für: Unternehmen mit unvorhersehbarer oder wechselnder Nachfrage, bei denen sich die Anzahl der Nutzer stark ändern kann
  • Besonderheiten:
    • Keine manuelle Erstellung von Images oder Verwaltung der Flottenskalierung erforderlich
    • Sie zahlen nur für die genutzten Ressourcen, was es für dynamische Umgebungen sehr kosteneffizient macht.

Elastische Flotten eignen sich hervorragend für Unternehmen, die Flexibilität benötigen, ohne sich um die Verwaltung der Infrastruktur kümmern zu müssen, insbesondere wenn die Zahl der Nutzer unerwartet steigen und fallen kann.

1. Elastische Flotte

  • Verwendung: Elastic Fleets sind für dynamisches, bedarfsgesteuertes Anwendungsstreaming konzipiert. Dies ist besonders nützlich, wenn Sie die Anzahl der Streaming-Sitzungen je nach Nutzerbedarf skalieren möchten, ohne eine komplexe Infrastruktur zu verwalten
  • Bereitstellung von Anwendungen: Anwendungen werden über App-Blöcke bereitgestellt. Sie erstellen einen App-Block, der die Dateien und Abhängigkeiten der Anwendung enthält. Dann erstellen Sie eine Anwendung, die auf die ausführbare Datei im App-Block verweist
  • Kein benutzerdefiniertes AMI erforderlich: Da die Anwendungen bei Bedarf über App Blocks gestreamt werden, müssen Sie kein eigenes Amazon Machine Image (AMI) erstellen. Die Flotte verwendet ein Standard-Basisbetriebssystem, und die Anwendungen werden von Ihren App Blocks gestreamt

2. Bildgestützte Flotte (On-Demand oder Always-On)

  • Verwendung: Diese Flotten basieren auf einem benutzerdefinierten AMI, das Sie erstellen. Dieses AMI enthält das Betriebssystem und alle Anwendungen, die vorinstalliert sind. On-Demand-Fleets starten Instanzen nach Bedarf, während Always-On-Fleets Instanzen kontinuierlich laufen lassen
  • Anwendungsbereitstellung: Bei dieser Konfiguration verwenden Sie keine App-Blöcke. Stattdessen müssen die Anwendungen direkt im AMI installiert werden. Der ImageName, den Sie für die Flotte angeben, muss auf ein AMI verweisen, in dem die Anwendungen bereits installiert und konfiguriert sind
  • Benutzerdefiniertes AMI erforderlich: Sie müssen ein benutzerdefiniertes AMI erstellen und verwalten, das das Betriebssystem und die erforderlichen Anwendungen enthält


Wesentliche Unterschiede:

Optimieren Sie die Anwendungsbereitstellung mit AWS AppStream 2.0: Ein vollständiger Leitfaden für elastische Flotten mit Terraform und CloudFormation

In diesem Szenario konzentrieren wir uns auf das Einrichten einer Elastic Fleet innerhalb von AWS AppStream 2.0, um eine Anwendung mithilfe eines AppBlocks bereitzustellen. Dieser Anwendungsfall zielt speziell auf Anwendungen ab, die für die Ausführung auf einem Microsoft Windows-Betriebssystem konzipiert sind und Windows-spezifische Komponenten nutzen.
Der AppBlock dient als Container, der die für unseren Anwendungsfall wichtigen Ressourcen enthält, die für die Ausführung der Anwendung erforderlich sind, darunter:

  • Eine .vhdx-Datei (virtuelle Festplatte), die alle Anwendungs-Binärdateien und die erforderlichen Ressourcen enthält und auf eine Windows-Umgebung zugeschnitten ist
  • Eine .ps1-Datei (PowerShell-Skript), die zur Automatisierung bestimmter Aktionen im Zusammenhang mit der Anwendung verwendet wird, z. B. zum Initialisieren von Diensten oder zum Starten der ausführbaren Datei, die wiederum für die Kompatibilität mit dem Windows-Betriebssystem entwickelt wurde
  • Eine .png-Datei, die das Symbol der Anwendung darstellt, das in der AppStream-Oberfläche für die Endbenutzer angezeigt wird

*Zum besseren Verständnis werden wir die Ressourcenerstellung in "Schritten" zusammenfassen.
**Jeder "Schritt" wird nacheinander umgesetzt.

Schritt 1.
Zu Beginn dieses Prozesses stellen wir einen S3-Bucket bereit, der diese Dateien aufnehmen wird. Dieser Bucket dient als Speicherort für die Komponenten des AppBlocks. Der S3-Bucket wird mit Terraform erstellt und verwaltet und bietet einen zuverlässigen, deklarativen Ansatz für die Einrichtung der Infrastruktur, die zum Speichern und Referenzieren dieser Dateien benötigt wird.

resource "aws_s3_bucket" "example-cs-client-prod" {
 bucket = "appstream_bucket"
 tags   = {
   owner     = "test"
   managedby = "Terraform"
 }
}

Außerdem werden wir den Bucket "privat" machen und eine Bucket-Policy für mehr Sicherheit einrichten.

resource "aws_s3_bucket_acl" "example-cs-client-acl" {
 bucket = aws_s3_bucket.example-cs-client-prod.id
 acl    = "private"
}



resource "aws_s3_bucket_policy" "example-cs-client-access" {
 bucket = aws_s3_bucket.example-cs-client-prod.id
 policy = <<EOF
{
   "Version": "2012-10-17",
   "Statement": [
       {
           "Sid": "AllowAppStream2.0ToRetrieveObjects",
           "Effect": "Allow",
           "Principal": {
               "Service": [
                   "cloudformation.amazonaws.com",
                   "appstream.amazonaws.com"
               ]
           },
           "Action": "s3:*",
           "Resource": [
                     "arn:aws:s3:::example-cs-client-prod/example-cs-client.vhdx",
               "arn:aws:s3:::example-cs-client-prod/mount-vhd.ps1"
           ]
       },
       {
           "Sid": "allowReadOnlyPlusAppStreamAllAccessEdit",
           "Effect": "Allow",
           "Principal": {
               "AWS": "arn:aws:iam::123456789012:role/readOnlyPlusAppStreamAllAccess"
           },
           "Action": "s3:*",
           "Resource": [
               "arn:aws:s3:::example-cs-client-prod/example-cs-client.vhdx",
               "arn:aws:s3:::example-cs-client-prod/mount-vhd.ps1"
           ]
       }
   ]
}
EOF
}

Anschließend laden wir die .vhdx-, .ps1- und .png-Dateien in den Bucket hoch.

Als Nächstes werden wir zur Bereitstellung des AppBlocks, der AppStream-Anwendung und der Elastic Fleet übergehen. Zum Zeitpunkt der Erstellung dieses Dokuments unterstützt Terraform noch keine direkte Bereitstellung von Elastic Fleets in AWS AppStream 2.0. Daher werden wir AWS CloudFormation nutzen, um diesen Teil der Bereitstellung zu übernehmen. CloudFormation wird verwendet für:

Schritt 2.
Stellen Sie den AppBlock bereit: Dabei werden die Dateien aus dem von uns erstellten S3-Bucket referenziert, die im AppBlock verpackt sind. Der AppBlock definiert, wie die Anwendung an die Benutzer in einer Windows-Umgebung gestreamt wird.

resource "aws_cloudformation_stack" "appstream_appblock" {
 name          = "Appstream-AppBlock-example"
 template_body = <<STACK
 "Resources" : {
    "FQP23TI6": {
   "Type": "AWS::AppStream::AppBlock",
   "Properties": {
        "Description" : "example description",
        "DisplayName" : "example_display_name",
        "Name" : "example_client",
        "SourceS3Location" : {
           "S3Bucket" : "appstream_bucket",
           "S3Key" : "appstream_client.vhdx"
         },
        "SetupScriptDetails" : {
           "ExecutableParameters" : "-File mount-vhdx.ps1",
           "ExecutablePath" : "c:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe",
           "ScriptS3Location" : {
              "S3Bucket" : "appstream_bucket",
              "S3Key" : "mount-vhdx.ps1"
             },
           "TimeoutInSeconds" : 60
         }
       }
     }
   }
STACK
}


Wichtige Hinweise: Da wir Cloudformation über Terraform bereitstellen werden, müssen wir manuell eine eindeutige "Local ID" für die Cloudformation-Ressource eingeben. In diesem Beispiel ist es "ADC55MI8"
. Auch in diesem Anwendungsfall verwenden wir eine virtuelle Festplatte (.vhdx) und ein PowerShell-Skript (.ps1), um unseren AppBlock zu erstellen, wie in der Ressourcenkonfiguration zu sehen.

Schritt 3.
Erstellen Sie die Anwendung: Die Anwendung definiert die benutzerseitigen Elemente, wie z. B. die ausführbare Datei, das PowerShell-Skript (zur Konfiguration des Laufzeitverhaltens) und die Symboldatei.



resource "aws_cloudformation_stack" "appstream_application" {
 name = "Appstream-Application-example"
 depends_on = [
   aws_cloudformation_stack.appstream_appblock
 ]
 template_body = <<STACK
 "Resources" : {
    "BDF37HI7": {
   "Type" : "AWS::AppStream::Application",
   "Properties" : {
        "AppBlockArn" : "arn:aws:appstream:eu-central-1:123456789012:app-block/example_client_appbl",
        "Description" : "example description",
        "DisplayName" : "example_display_name",
        "IconS3Location" : {
              "S3Bucket" : "appstream_bucket",
              "S3Key" : "client.png"
             },
        "InstanceFamilies" : ["GENERAL_PURPOSE"],
        "LaunchParameters" : "/c f:\\suiteClientShell.bat",
        "LaunchPath" : "c:\\Windows\\system32\\cmd.exe",
        "Name" : "example_client_app",
        "Platforms" : ["WINDOWS_SERVER_2019"],
        "WorkingDirectory" : "f:\\"
         }
       }
     }
STACK
}

Wichtige Hinweise: Die Anwendung unterstützt nur Amazon Linux 2 und Microsoft Windows 2019.
Die "AppBlockArn" erhalten Sie, wenn die Ressourcen AppBlock über Cloudformation erstellt werden.

Schritt 4.
Bereitstellung der Elastic Fleet: Die Elastic Fleet skaliert dynamisch auf der Grundlage der Benutzernachfrage. Im Gegensatz zu anderen Flottentypen sind für Elastic Fleets keine manuell verwalteten Images oder die Bereitstellung von Instanzen mit fester Kapazität erforderlich. Diese Flotte weist Ressourcen automatisch nach Bedarf zu und beendet sie, wenn sie nicht mehr benötigt werden, um Kosteneffizienz zu gewährleisten.

resource "aws_cloudformation_stack" "appstream_elasticfleet" {
 name          = "Appstream-ElasticFleet"
 template_body = <<STACK
 "Resources" : {
    "DSF28RN8": {
   "Type": "AWS::AppStream::Fleet",
   "Properties": {
       "Description": "Appstream-Elastic-Fleet-Terraform",
       "DisconnectTimeoutInSeconds": 900,
       "DisplayName": "Display example client description",
       "EnableDefaultInternetAccess": false,
       "FleetType": "ELASTIC",
       "IdleDisconnectTimeoutInSeconds": 900,
       "InstanceType": "stream.standard.medium",
       "MaxConcurrentSessions": 10,
       "MaxUserDurationInSeconds": 32400,
       "Name": "example_elasticfleet_name",
       "Platform": "WINDOWS_SERVER_2019",
       "StreamView": "APP",
       "VpcConfig": {
           "SecurityGroupIds": [
               "sg-a1b2c3d4e5f6g7"
           ],
           "SubnetIds": [
               "subnet-xxxxxxxxxxxx1234",
               "subnet-abcdefghi1234566"
           ]
       }
   }
 }
}
STACK
}

Wichtige Hinweise: Da Elastic Fleet das verwendet, was wir in Application erstellt haben, ist zu beachten, dass "Platform" nur Amazon Linux 2 oder Microsoft Windows sein kann.
Stream View wird "APP" sein. Die Sicherheitsgruppe ist die "Firewall" für die Konnektivität von Appstream.

Nachdem der AppBlock, die Anwendung und die elastische Flotte über CloudFormation bereitgestellt wurden, kehren wir für die nächsten Schritte zu Terraform zurück. Terraform wird verwendet, um:

Schritt 5.
Erstellen Sie einen AppStream Stack: Der Stack ist eine wichtige Komponente, die definiert, wie Benutzer mit der Flotte interagieren. Er enthält Einstellungen für die Umgebung, in der die Anwendung ausgeführt wird, z. B. Sitzungsdauer, Zwischenablageeinstellungen und ob Benutzer Dateien hoch- oder herunterladen können.

resource "aws_appstream_stack" "example_stack" {
 name         = "example_stack_name"
 display_name = "Example client display"


 user_settings {
   action     = "CLIPBOARD_COPY_FROM_LOCAL_DEVICE"
   permission = "ENABLED"
 }
 user_settings {
   action     = "CLIPBOARD_COPY_TO_LOCAL_DEVICE"
   permission = "ENABLED"
 }
 user_settings {
   action     = "FILE_UPLOAD"
   permission = "DISABLED"
 }
 user_settings {
   action     = "FILE_DOWNLOAD"
   permission = "ENABLED"
 }


 application_settings {
   enabled        = true
   settings_group = "example_client_appbl"   #name of the app_block in the cloudformation stack
 }


 access_endpoints {
   endpoint_type = "STREAMING"               #for streaming through internet only
 }


 storage_connectors {                             #The default destination for the client's log files is the user's home directory, this is
   connector_type = "HOMEFOLDERS"                 #configured in the logging.properties file in the client's conf directory.There is no other data stored on it.
 }
}

Wichtige Hinweise: endpoint_type" erlaubt auch Virtual Private Cloud (VPC)-Endpunkte, die es Ihren Benutzern ermöglichen, von AppStream 2.0 über Ihre VPC zu streamen.

Schritt 6.
Assoziieren Sie die Flotte mit dem Stack: Durch diese Fleet-Stack-Assoziation stellen wir sicher, dass die Elastic Fleet mit dem AppStream Stack verknüpft ist, so dass die Benutzer auf die von der Elastic Fleet gestreamte Anwendung zugreifen können.

resource "aws_appstream_fleet_stack_association" "example-fleet-stack-association" {
 fleet_name = "example_elasticfleet_name"
 stack_name = aws_appstream_stack.example_stack.name
}

Schritt 7.
Erstellen eines AppStream-Benutzers: Schließlich erstellen wir mit Terraform einen Benutzer in AppStream, der Zugriff auf die Anwendung erhält. Dieser Benutzer wird mit dem zuvor erstellten Stack verknüpft, um sicherzustellen, dass er sich anmelden und die von der Elastic Fleet bereitgestellten Anwendungen nutzen kann.

resource "aws_appstream_user" "example" {
 authentication_type = "USERPOOL"
 user_name           = "john.smith@example.com"
 first_name          = "John"
 last_name           = "Smith"
}


resource "aws_appstream_user_stack_association" "example" {
 authentication_type = aws_appstream_user.example.authentication_type
 stack_name          = aws_appstream_stack.example_stack.name
 user_name           = aws_appstream_user.example.user_name
}

Wichtige Hinweise: Nach der Erstellung des Benutzers erhalten Sie eine E-Mail von Amazon, in der Sie einen "Login page: Link' und ein temporäres Passwort, mit dem Sie auf die zugehörigen Apps für Ihren Benutzer zugreifen können, nachdem Sie das temporäre Passwort geändert haben.

Schritt 8.
Anmeldeverfahren.

Verwenden Sie den "Login page: Link', den Sie in der AWS-E-Mail erhalten haben, werden Sie auf eine Anmeldeseite wie diese weitergeleitet:

sicheres-zuverlässiges-anwendung-streaming

Nach dem Einloggen erhalten Sie eine Seite mit allen Anwendungen, mit denen Ihr Benutzer in unserem Fall verbunden ist:

Wählen Sie Ihre Anwendung - App Stream2.0

Wenn Sie Ihre Anwendung auswählen, wechselt Ihre Seite zum AppStream2.0-App-Menü und beginnt mit dem Laden Ihrer Anwendung:

Wenn Sie Ihre Anwendung auswählen, wechselt Ihre Seite zum AppStream2.0-App-Menü und beginnt mit dem Laden Ihrer Anwendung:

In diesem Beitrag haben wir die Bereitstellung einer Anwendung in AWS AppStream 2.0 mithilfe von Elastic Fleets behandelt, die AppBlocks mit Windows-spezifischen Komponenten wie .vhdx und .ps1 nutzen. Wir haben Terraform verwendet, um den S3-Bucket, den Stack und die Benutzerzuordnungen zu verwalten, und CloudFormation, um das Elastic Fleet und den AppBlock bereitzustellen, um eine skalierbare, kosteneffiziente Lösung bereitzustellen und zu gewährleisten, dass Ihre Anwendungen zum Streaming bereit sind, wenn die Benutzer sie benötigen, und zwar mit minimalem Infrastruktur-Overhead.

Eine Antwort hinterlassen

Newsletter für Tech-Experten

Signal, kein Rauschen –

direkt in Ihren Posteingang.

Schließen Sie sich mehr als 12.000 Ingenieuren und Führungskräften aus der Wirtschaft an, die Praxisberichte zu SRE, DevOps und Cloud-nativer Zuverlässigkeit erhalten.

Tech-Blogs mit tiefgehenden Einblicken und Fallstudien
Neue Technologien, sorgfältig ausgewählt

Ihre geschäftliche E-Mail-Adresse

Wir gehen respektvoll mit Ihrem Posteingang um. Lesen Sie unsere Datenschutzerklärung.

Mehr Beiträge

Von Warnmeldungen zu Vorfällen: Ein Knoten in einem Kubernetes-Cluster fällt aus! Innerhalb von 90 Sekunden hat der Alert Manager eine Knotenwarnung, ein Dutzend Pod-Warnungen und eine Handvoll …
Lesen
Jeder Anbieter von Observability-Lösungen hat mittlerweile etwas im Angebot, das als „AI SRE“ bezeichnet wird. Cloud-Anbieter haben eines. Plattformen für das Incident-Management haben eines. Ihr Monitoring-Tool hat wahrscheinlich im letzten Quartal eines hinzugefügt. Die Frage für die meisten...
Lesen
Kontakt aufnehmen
ITGix bietet Ihnen fachkundige Beratung und maßgeschneiderte DevOps-Services, um Ihr Unternehmenswachstum zu beschleunigen.
Newsletter für
Technik-Experten
Schließen Sie sich 12.000+ Geschäftsführern und Ingenieuren an, die Blogs, e-Books und Fallstudien Fallstudien über neue Technologie erhalten.