3. Introduction

3.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

3.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

../../_images/cloud-devops.png

Figure 3.14. Cloud DevOps

3.3. Przykłady platform

3.3.1. IaaS

  • Google Compute Engine

  • Amazon AWS

  • Rackspace

  • ecloud24

  • Open Stack

3.3.2. PaaS

  • Github Pages

  • Google App Engine

  • Heroku

  • Cloudera

  • Open Shift

3.3.3. SaaS

  • Force

  • Google Apps

3.4. Inne *aaS

  • Data

  • Security

  • Logging

  • Payment

3.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

3.5.1. Distributed Logging

  • Elastic Search

  • Logstash

  • Kibana

3.5.2. Hearthbeat detecting

  • statsd + graphite (Grafana)

  • pingdom

3.5.3. Monitoring

  • new relic

  • nagios

  • zabbix

  • tessera - dashboard statystyk z Graphite

  • selena

3.5.4. Alerting

3.5.5. Bazy danych

  • Document: MongoDB

  • RDBMS: PostgreSQL, MySQL, Oracle, MSSQL

  • KV: Redis

  • Graph: neo4j

3.5.6. Kontenery i wirtualizacja

  • Vagrant

  • Docker

  • Rockit

  • Mesos, Swarm, Kubernetes

3.5.7. Netflix

  • chaos gorilla

  • chaos monkey

  • hystrix

3.5.8. Service Discovery

  • DNS

  • AWS Elastic Load Balancer

  • Własne usługi

3.5.9. Configuration

  • Zookeeper