1. Introduction

1.1. Wprowadzenie do technologii i platform chmurowych

  • zapoznanie uczestników z podstawowymi pojęciami oraz standardami związanymi z chmurami obliczeniowymi,
  • zapoznanie z dobrymi praktykami,
  • wprowadzenie w problematykę projektowania rozproszonych aplikacji opartych na infrastrukturze chmury obliczeniowej,
  • przybliżenie zagadnień związanych z usługami chmury Amazon Web Services. Szkolenie kładzie główny nacisk na architekturę i projektowanie systemów. Składa się z teoretycznych prezentacji dobrych praktyk i przykładowych systemów oraz praktycznych warsztatów z projektowania systemów. W programie są także ćwiczenia z podstaw konfiguracji i administracji kluczowymi usługami w chmurze – ćwiczenia te mają na celu zapoznanie od strony praktycznej z podstawowymi usługami i wprowadzenie w kontekst techniczny (jednak nie jest to szkolenie z administracji usługami AWS).
  • Wprowadzenie do tworzenia aplikacji na Heroku i Google App Engine
  • Porównanie platform Amazon AWS, Heroku, Google App Engine
  • IaaS, PaaS, SaaS

1.2. Określenie potrzeb i wybór platformy

  • PaaS, IaaS, SaaS
  • jakie są dostępne platformy?
  • jakie mam potrzeby?
  • jak dobrać odpowiednią platformę do moich potrzeb?
  • szczegółowa charakterystyka PaaS, Iaas, SaaS
_static/img/cloud-devops.png

Fig. 1.2. Cloud DevOps

1.3. Przykłady platform

1.3.1. IaaS

  • Google Compute Engine
  • Amazon AWS
  • Rackspace
  • ecloud24
  • Open Stack

1.3.2. PaaS

  • Github Pages
  • Google App Engine
  • Heroku
  • Cloudera
  • Open Shift

1.3.3. SaaS

  • Force
  • Google Apps

1.4. Inne *aaS

  • Data
  • Security
  • Logging
  • Payment

1.5. Ekosystem narzędziowy a cloud

  • CI/CD: Travis, Bitbucket, CircleCI
  • IM: Rocket, HipChat, Slack
  • SCM: Github, Bitbucket
  • Service Discovery
    • server side, client side
    • DNS, Amazon ELB, Route 53, Netflix Eureka (client side), własne rozwiązania
  • Load Ballancing: Elastic Load Ballancers (AWS)
  • Service Catallogue
  • Authentication: OAuth
  • Messaging: Kafka, Hermes

1.5.1. Distributed Logging

  • Elastic Search
  • Logstash
  • Kibana

1.5.2. Hearthbeat detecting

  • statsd + graphite (Grafana)
  • pingdom

1.5.3. Monitoring

  • new relic
  • nagios
  • zabbix
  • tessera - dashboard statystyk z Graphite
  • selena

1.5.5. Bazy danych

  • Document: MongoDB
  • RDBMS: PostgreSQL, MySQL, Oracle, MSSQL
  • KV: Redis
  • Graph: neo4j

1.5.6. Kontenery i wirtualizacja

  • Vagrant
  • Docker
  • Rockit
  • Mesos, Swarm, Kubernetes

1.5.7. Netflix

  • chaos gorilla
  • chaos monkey
  • hystrix

1.5.8. Service Discovery

  • DNS
  • AWS Elastic Load Balancer
  • Własne usługi