Cloud-Computing mit Amazon Web Services für Entwickler
Empfohlene Schulungsdauer: 3 Tage, insgesamt 24 Unterrichtsstunden à 45 Minuten
Kursziele
Cloud-Computing ist momentan eines der heißesten IT-Themen, wobei Amazon Web Services (AWS) der größte Cloud-Computing Service Provider ist. Das Seminar gibt einen Überblick über die verschiedenen Services von AWS sowie einige darauf aufbauenden Cloud-Dienste. Neben dem Deployment und Betrieb werden auch Themen wie Continuous Integration, Logging und Monitoring im Detail behandelt. Besonderer Fokus legt das AWS-Seminar auf ausfallssichere und skalierbare Systeme. Der Schwerpunkt der Veranstaltung liegt auf praxisorientierten Java-Projekten.
Zielgruppe
Software-Entwickler, Systemanalytiker, SystemadministratorenKursvoraussetzungen
Der Kurs ›Java Grundlagen‹ oder vergleichbare Kenntnisse, zudem idealerweise Maven- und Linux-Grundwissen.Seminarinhalte
Cloud-Computing
- Motivation für den Einsatz von Cloud-Computing
- Entwicklung und Überblick über Cloud-Computing
- Infrastructure as a Service (IaaS), Platform as a Service (PaaS), Software as a Service (SaaS)
- Abgrenzung zu Mainframe and Grid Computing
- Software Architekturen in der Cloud
- MapReduce
- Abgrenzung zwischen AWS, Micosoft Windows Azure, Google App Engine, Google Cloud Platform und Rackspace
Amazon Web Services
- Überblick über spezielle Eigenschaften von AWS wie Regionen und Verfügbarkeitszonen
- Elastic Compute Cloud (EC2), der Einsatz virtueller privater Server – Instanztypen, Zugriff, Einrichtung, Besonderheiten
- Elastic Block Store (EBS), der Umgang mit persistenten Datenträgern für EC2 Instanzen
- Simple Storage Service (S3), Glacier, Zugriff und Eigenschaften
- Weitere Themen rund um EC2: CloudWatch (Monitoring), Elastic IPs, Security Groups, ...
- Route53, Amazons hochverfügbare und skalierbares DNS
- Amazon Load Balancing und Auto Scaling für den sicheren und effizienten Einsatz in der Cloud
- Überblick über weitere AWS Services
- CloudFront (Content Delivery Network)
- Elastic MapReduce
- Simple EMail Service (SES)
- Simple Queue Service (SQS)
Datenbanken und Caches
- Amazon SimpleDB, eine verteilte, hochskalierbare Datenbank von Amazon
- Amazon Relational Database Service (RDS), MySQL, Oracle und MS SQL Server in ein oder mehreren Verfügbarkeitszonen
- MongoHQ, Cloud Lösung für die weit verbreitete Dokumenten Datenbank MongoDB
- Amazon ElastiCache, In-Memory Cache für hochskalierbare Applikationen
Java-Projekte in der Cloud
- Cloudbees, Überblick über eine Cloud Plattform speziell für Java-Entwickler
- Cloudbees Build Services, Toolkit für die Entwicklung mit Subversion/Git, Jenkins und Maven
- Cloudbees Run Services, skalierbare und hochverfügbare Tomcat und Java EE-Anwendungen
- Amazon Elastic Beanstalk, Application Server für Java, .NET und PHP mit Fokus auf Java
- Skalierbarkeit und Ausfallssicherheit von Java-Applikationen
Monitoring und Logging
- Logging mit Papertrail, sowohl für Applikationen als auch die Cloud Infrastruktur
- Monitoring, Pinging und Debugging mit New Relic
- E-Mail-Versand mit SendGrid
- Überblick über Automatisierungsmöglichkeiten
- Einstieg in Puppet
Abschluss
- Probleme der Cloud: Sicherheit, Standards, rechtliche und organisatorische Rahmenbedingungen
- Beispiele für den Einsatz von Cloud-Computing sowie den Einsatz eigener Infrastruktur
- Eigene und fremde ›Abenteuergeschichten‹ aus der Cloud
- Diskussion über konkrete Einsatzmöglichkeiten der Schulungsteilnehmer
- Wiederholung und Fazit
Eingesetzte Seminar-Software
Zur Demonstration werden verschiedene Services von AWS und darauf aufbauende Lösungen eingesetzt. Praktische Beispiele werden in Java umgesetzt. Das Client-Betriebssystem ist je nach Wunsch Windows oder Unix, am Server kommt primär Linux zum Einsatz.