In 2015 hat AWS über 450 Ankündigungen zu neuen Features veröffentlicht. Als AWS Consultant muss man immer am Ball bleiben. Meine Erfahrungen mit den neuen Features und Services aus 2015 möchte ich im Folgenden zusammenfassen.
Ich habe die Ankündigungen in insgesamt neun Kategorien unterteilt (interessantesten Änderungen zuerst):
- Rechenleistung
- Speicher & Content Delivery
- Analytics
- Application Services
- Datenbanken
- Networking
- Internet der Dinge
- Entwickler & Management Tools
- Sicherheit & Identität
Ich wünsche allen ein frohes neues Jahr 2016!
Rechenleistung
Programmcode ausführen ohne Server
AWS Lambda wurde schon 2014 angekündigt, jedoch wurde es erst 2015 richtig nutzbar. Lambda kann Programmcode (Lambda Funktion) ausführen der für eine der folgenden Plattformen geschrieben ist:
- Node.js
- JVM (Java, Scala, …)
- Python
Eine Lambda Funktion kann durch folgende Ereignisse aufgerufen werden:
- S3 Bucket Notifications: z.B. beim hochladen einer neuen Datei
- Amazon DynamoDB Streams: bei einer Änderung in der Datenbank
- Amazon CloudWatch logs: bei neuen Logs
- Amazon Simple Email Service: beim Eintreffen einer E-Mail
- Amazon Kinesis streams: beim Eintreffen neuer Daten
- Amazon SNS: beim Eintreffen einer neuen Nachricht
- Amazon API Gateway: beim Aufruf eines HTTP REST Endpunkts
- Zeitgesteuert
- Manuell über die API
- …
Lambda wird als “serverless” bezeichnet, da Benutzer sich nicht mehr um die darunterliegende virtuelle Maschine kümmern müssen. Als Lambda Benutzer kümmert man sich “nur” um den Programmcode.
Docker Container
Der neue Amazon EC2 Container Service unterstützt beim Betreiben von Docker Containern auf EC2 Instanzen. Der Amazon EC2 Container Service funktioniert zusammen mit EBS, IAM und ELB. Das EC2 Container Registry vereinfacht das Speichern, Verwalten und Bereitstellen von Docker Container Images.
Spot Instanzen
Neben on-demand und reserved EC2 Instanzen kann man auch auf freie EC2 Kapazitäten in Verfügbarkeitszonen bieten. Der AWS Spot Markt wurde 2015 durch eine Reihe von Änderungen deutlich interessanter für AWS Kunden.
- Wenn der Marktpreis über das eigene Gebot steigt hat man jetzt 2 Minuten Zeit bevor die Instanz terminiert wird: EC2 Spot Instance Termination Notices.
- Der neue Spot Bid Advisor hilft beim auswählen des optimalen Gebots. Der Advisor errechnet aus der Historie wie Wahrscheinlich ein Gebot vom Marktpreis überstiegen wird.
- Mit den neuen Spot Instance Fleets kann direkt auf Rechenleistung (Cores, Speicher, …) geboten werden ohne auf einen einzigen Instanz Typ in einer Verfügbarkeitszone beschränkt zu sein. Die Spot Instance Fleet mischt mehrere Instanz Typen aus mehreren Verfügbarkeitszonen um die gewünschte Rechenleistung möglichst kostengünstig zur Verfügung zu stellen.
- Mit den neuen EC2 Spot Instances for Specific Duration Workloads können Spot Instanzen mit einer garantieren Laufzeit auf dem Sport Markt gekauft werden. Die Laufzeit ist entweder 1, 2, …, 5 oder 6 Stunden. Je länger die Laufzeit desto höher der Aufschlag auf den Stunden-Preis.
Neue Instanzen: C4, D2, M4, g2.8xlarge, t2.large, t2.nano
- C4 Instanzen sind die neueste Generation optimiert auf Rechenleistung
- D2 Instanzen sind die neueste Generation optimiert auf HDD Speicher
- M4 Instanzen sind die neueste Generation universal Instanzen
- Mit der t2.large wurde eine neue Oberklasse (8.0 GiB RAM) der “burstable performance” Instanzen hinzugefügt, während die neue t2.nano (0.5 GiB RAM) das untere Ende erweitert
Auto Recovery
Auto Recovery for Amazon EC2 kann eine EC2 Instanz ersetzen ohne das sich die Instanz ID, private IP Adresse, EIP Adresse oder angehängte EBS Volumen ändert. Auto Recovery kann automatisiert durch einen CloudWatch Alarm initiiert werden. Meine persönliche Meinung: Wenn möglich besser Auto Scaling Gruppen einsetzen mit Min/Max/Desired auf eins und keine fixen IP Adressen verwenden.
Load Balancers
- Elastic Load Balancers können jetzt dynamisch mit einer Auto Scaling Gruppe verbunden/getrennt werden.
- Elastic Load Balancing unterstützt jetzt alle Ports (1-65535).
Mein Buch Amazon Web Services in Action (Manning) wurde in 2015 veröffentlicht.
Wir haben 2015 unser Buch Amazon Web Services in Action veröffentlicht!
Amazon Web Services in Action gibt eine Einführung in die wichtigsten AWS Services. Unsere Leser sind sehr zufrieden!
Amazon Web Services in Action kaufen!
Speicher & Content Delivery
Netzgebundener Speicher
EBS Festplatten können jetzt mit maximal 16 TB Speicherkapazität ausgestattet werden. Bei Provisioned IOPS Festplatten können bis zu 20.000 IOPS ausgestattet werden. General Purpose Festplatten liefern bis zu 10.000 IOPS. Das ergibt einen Durchsatz von bis zu 320 MB / Sekunden pro Festplatten bei EBS optimierten EC2 Instanzen.
Content Delivery
- Neue CDN Edge Locations in Seoul, Korea, Chicago, Illinois.
- Objekte können jetzt mit sog. “invalidation patterns” wie z. B. .png oder auch aus dem Cache invalidiert (gelöscht) werden.
- Für Objekte, die keine korrekten Cache-Header liefern, kann jetzt eine Standard- und Maximal-Lebenszeit im Cache (TTL) definiert werden.
- CloudFront kann Inhalte jetzt Gzip komprimiert ausliefern.
Objekt Speicher und Archiv
- Einführung von cross-region replication um S3 Objekte in eine andere Region zu kopieren
- Mit den neuen Amazon Glacier Vault Access Policies kann Zugriff auf Glacier Vaults geregelt werden (zusätzlich zu IAM).
- Mit Amazon Glacier Vault Lock kann ein Archiv so gesichert werden, dass Daten nicht mehr geändert werden können (“write once read many”).
- Glacier Preise wurden gesenkt.
- Eine neue Amazon S3 Storage Class (Standard - Infrequent Access) wurde hinzugefügt bei der der GB Preis niedriger ist dafür zusätzlich für jedes gelesene GB gezahlt werden muss.
Analytics
Echtzeit Daten
Amazon Kinesis ist ein kontinuierlicher Datenstrom der zuverlässig eine unbegrenzte Menge an Daten aufnehmen kann. Viele Produzenten schreiben Daten in einen Kinesis Stream während meistens eine kleinere Anzahl an Konsumenten die Daten in Blöcken wieder aus dem Stream liest.
- Die Zeit zwischen Einfügen und Lesen wurde von 4 Sekunden auf einen Bruchteil reduziert.
- Amazon Kinesis Streams können Daten nun 7 Tage (statt bisher 1 Tage) speichern.
- Amazon Kinesis Clients für Ruby und Node.js Entwickler wurden veröffentlicht.
Maschinelles Lernen
Der neue Service Amazon Machine Learning ermöglicht binäre Klassifikation (Spam / kein Spam), Multi-Class Klassifikation (kaufen / verkaufen / warten) und Regression (Vorhersage der Temperatur). Um ein Modell zu erstellen werden Trainingsdaten benötigt. Trainingsdaten können von S3, Redhsift oder RDS gelesen werden. Trainingsdaten bestehen aus einer Spalte, die die Antwort auf die Modellfrage darstellt. Die anderen Spalten werden genutzt um die erste Spalte vorherzusagen. Ein Teil der Trainingsdaten wird für das eigentliche Training genutzt, während der andere Teil dafür genutzt wird das Modell zu validieren. Entspricht das Modell den Vorhersageansprüchen kann sofort mit einer Batch oder Echtzeit-Vorhersage begonnen werden.
Hadoop Welt
Die neue Version 4.2 des gemanagten “Hadoop”/“Big Data” Service Elastic Map Reduce beinhaltet:
- Apache Hadoop 2.6.0
- Apache Hive 1.0.0
- Apache Pig 0.14.0
- Apache Spark 1.5.2
- Hue 3.7.1
- Ganglia 3.6.0
- Apache Mahout 0.11.0
Application Services
Managed HTTP API Backend
Der Amazon API Gateway Service kann einen HTTP API Endpunkt erstellen, der voll konfigurierbar ist. Der Anwender definiert die HTTP Ressourcen (z. B. /user), die HTTP Methoden auf diesen Ressourcen (z. B. POST, GET, DELETE, …) und die Lambda-Funktion die aufgerufen werden soll um die Anfrage zu beantworten. Die Lambda-Funktion tut dann was immer nötig ist um eine Antwort zu liefern. Diese Antwort wird vom API Gateway dann in eine HTTP Antwort umgewandelt und zurückgesendet.
Managed Elasticsearch
Neben der existierenden Suchlösung Amazon CloudSearch wurde in 2015 ein Managed Elasticsearch Service veröffentlicht. Amazon Elasticsearch bringt folgende Plugins mit:
- Kibana 3 & 4
- jetty
- cloud-aws
- kuromoji
- icu
Es können keine eigenen Plugins installiert werden.
E-Mail empfangen mit SES
Amazon Simple Email Service ist kein neuer Service. In 2015 wurde jedoch eine wichtige Funktionalität ergänzt: SES kann jetzt auch E-Mail empfangen. Eingehende E-Mail werden z. B. an ein SNS Topic oder direkt an eine Lambda Funktion weitergegeben.
Datenbanken
RDS (relational)
- Verschlüsselung mit Keys aus dem AWS Key Management Service
- Jetzt bis zu 6 TB Speicherplatz
- Neue Engines / Updates:
- Amazon Aurora: MySQL kompatible Datenbank Engine entwickelt von Amazon
- MariaDB: 10.0
- Oracle Database: 12.1 (EE, SE, SE One, SE Two)
- PostgreSQL: 9.4
- Microsoft SQL Server: 2014 Express, Web and Standard Editions
- MySQL: 5.6
ElastiCache (in-memory)
Engine Updates:
- ElastiCache (Redis): 2.8.23
- ElastiCache (Memcached): 1.4.24
DynamoDB (NoSQL)
- Veröffentlichen von CloudWatch Metriken jede Minute (statt alle 5 Minuten)
- DynamoDB Streams wurden hinzugefügt. Ein Stream beinhaltet alle Änderungen einer Tabelle und kann z. B. genutzt werden um die Daten in eine andere Region zu replizieren, ein Elasticsearch Index zu synchronisieren, ….
Amazon Redshift (Data Warehouse)
- Unterstützt jetzt User-Defined Functions in Python.
- Unterstützt jetzt das Ändern der Zugriffsrechte für einen laufenden Cluster (VPC, öffentlich).
- Die Sortierreihenfolge von NULL Werten kann jetzt definiert werden.
- Tag basierte Zugriffsrechte werden mit IAM jetzt unterstützt.
- Das BZIP2 Kompressionsformat wird jetzt unterstützt.
Netzwerk
VPC Netzwerk Fehlersuche
Es können jetzt sog. VPC Flow Logs genutzt werden um allen Traffic (ALLOW und DENY) an einem Elastic Network Interface aufzuzeichnen. Dabei spielt es keine Rolle ob Traffic von Security Groups oder ACLs gefiltert wird. Die Flow Logs werden in CloudWatch Logs gespeichert und können so durchsucht und mit Alarmen versehen werden. Ich verwende Flow Logs gerne um Fehler im Netzwerk rasch aufzuspüren.
NAT in privaten Subnetzen
Private Subnets haben keine Route ins Internet. Um diese (manchmal sinnvolle) Einschränkung etwas zu lockern, kann man mit einer sog. NAT Instanz Traffic aus privaten Subnetzen über eine EC2 Instanz in einem öffentlichen Subnetz leiten. Hierbei entstand aber schnell ein Single Point of Failure. Dieses Problem wurde jetzt durch das Managed NAT Gateway gelöst. Weiterhin besteht die Einschränkung das eine NAT Instanz / Gateway “nur” 10 Gbps an Traffic verarbeiten kann.
DNS mit Amazon Route 53
- Die neuen Calculated Health Checks sind logische Kombinationen (AND, OR) aus normalen Health Checks.
- Latency measurement health checks überwachen die Latenz zu einem bestimmten Backend. So kann man je nach Latenz die Anfragen unterschiedlich leiten.
- Route 53 Traffic Flow ist ein Tool zum graphischen modellieren von Route 53 Health Checks und Weights.
Internet der Dinge
Auf der re:Invent 2015 war ein Fokus das Internet der Dinge. Es wurden viele Anwendungsfälle und Kundenbeispiele vorgestellt. Die Nachricht war eindeutig: AWS will die IoT Plattform werden auf der Daten gespeichert und analysiert werden. Dazu hat AWS den AWS IoT Service veröffentlicht. Eine wichtige Komponente des AWS IoT Service ist ein gemanagter MQTT Broker sowie eine Echtzeit-Regel-Engine zum analysieren der Daten in Echtzeit.
Entwickler & Management Tools
Simple Systems Manager
Ein Skript oder ein Befehl auf allen (oder einem Teil) EC2 Instanzen(Linux & Windows) auszuführen ist jetzt sehr einfach: Mit dem neuen Amazon EC2 Simple Systems Manager.
AWS Elastic Beanstalk
Unterstützt jetzt auch:
- Go
- Docker 1.5 (auch Multi-Container Umgebungen)
- Ruby 2.2
- Node.js 0.12.0
- PHP 5.6
- Generische Java Applications
CloudFormation
- Unterstützt jetzt Parameter Typen wie Security Group Id, VPC Id, …
- Mit dem neuen CloudFormation Designer können Templates jetzt visuell erstellt werden.
- Der AWS Marketplace unterstützt jetzt auch AWS CloudFormation Templates neben AMI Images.
Sicherheit & Identität
Following the principle of least privilege
- Der IAM Service zeigt jetzt wann ein Access Key zuletzt benutzt wurde.
- IAM Managed Policies, Users, Groups and Roles zeigen jetzt imAccess Advisor Tab welcher Services von ihnen erlaubt werden und wann zuletzt auf einen Service zugegriffen wurde.
Web Application Firewall (WAF)
AWS hat einen gemanagten WAF Service veröffentlicht. Eine WAF analysiert HTTP Verkehr um bösartigen Verkehr zu blockieren.
Bemerkungen
Um auf dem Laufenden zu bleiben empfehle ich Jeff Barr’s wöchentlich erscheinendes Week in Review (~ 50 Blog Einträge pro Jahr) oder die ungefilterten What’s New from Amazon Web Services Ankündigungen (~ 450 Einträge pro Jahr).
Danke an AWS Feature Roll für die Archivierung aller AWS Ankündigungen.
Ich habeNeuerungen aus den Kategorien Mobile Services und Enterprise Applications nicht berücksichtigt, da ich diese Services 2015 nicht genutzt habe.