Projektowanie i wdrażanie aplikacji w chmurze
Meteorologia
(gr. metéōron (μετέωρον) - unoszący się w powietrzu, lógos (λόγος)- słowo, wiedza) - nauka zajmująca się badaniem zjawisk fizycznych i procesów zachodzących w atmosferze, szczególnie w jej niższej warstwie - troposferze. Bada, jak te procesy wpływają na przebieg procesów atmosferycznych i stan pogody na danym obszarze.
Klasyfikacja chmur
- IaaS - Infrastructure as a Service
- PaaS - Platform as a service
- SaaS - Software as a service
Konteneryzacja a Wirtualizacja
Kontener
zazwyczaj metalowa skrzynia, o zunifikowanych wymiarach i konstrukcji, służąca do przewozu drobnicy (zapakowanej zazwyczaj w opakowania kartonowe, paczki, skrzynie, worki, czasami dodatkowo umieszczonych na europaletach).
Kontener = chroot + cgroups + namespaces
Demo
Wdrażanie aplikacji
,, WinSCP mogą Państwo tak skonfigurować, żeby od razu kopiował pliki edytowane Notatnikiem++ na serwerze - nie jedna duża strona już tak powstała"
anonimowy wykładowca na szkoleniu PHP a.d. 2008
,,Kiedś wystarczyło wrzucić wszystko do /var/www i działało''
anonimowy administrator Sieci a.d. 2015
Heroku - przykład PaaS
Jak działa Heroku?
Anatomia
- Loadbalancery
- Dyna
- git hooks
- Buildpacki
- Procfile
- Heroku toolbelt
- Addons
Anatomia Buildpacka
- bin/detect
- bin/compile
- bin/release
12 elementów
- jedno repozytorium - wiele środowisk/wdrożeń
- jawne deklarowanie zależności
- przechowywanie konfiguracji w zmiennych środowiskowych
- wszystkie serwisy wspierające traktowane jednakowo
- ścisłe przestrzeganie cyklu życia aplikacji
- aplikacja jest bez stanowa
- aplikacja komunikuje się ze światem przez porty
- architektura aplikacji przewiduje skalowanie horyzontalne
- aplikacja szybko się uruchamia i kończy swoją prac
- środowisko deweloperskie powinno być maksymalnie podobne do produkcyjnego
- deleguj zarządzanie logami
- narzędzia administracyjne powiinny być uruchamiane w środowisku aplikacji
Trzoda a Zwierzęta domowe
Ansible - pies pasterski
Immutable Server
Docker machine
Ekosystem Dockera
Docker engine
Docker hub
Docker compose
Demo
Docker swarm
Unikernels
[citation needed]
http://www.banyanops.com/blog/analyzing-docker-hub/
http://martinfowler.com/bliki/PhoenixServer.html
http://martinfowler.com/bliki/ImmutableServer.html
http://12factor.net/
https://gun.io/blog/PaaS-under-the-hood-episode-1-kernel-namespaces/
Projektowanie i wdrażanie aplikacji w chmurze
By Maciej Sawicki
Projektowanie i wdrażanie aplikacji w chmurze
- 575