Docker Global Mentor Week

Wczoraj uczestniczyłem w meetup’ie Docker Warsaw #1 – Docker Global Mentor Week.

Rewelacja. Było tłumnie, przez chwilę tłoczno, ale wrażenia bardzo pozytywne. Miło widzieć że społeczność wokół Docker’owa się integruje i wspiera.

Spotkanie miało formę warsztatu. Dostaliśmy do przejścia, z pomocą mentorów, kursy dla początkujących i średnio-zaawansowanych. Świetna forma przyswajania wiedzy. Bez wizji praktycznego zastosowania ciężko jest cokolwiek i czegokolwiek się nauczyć. Formy warsztatowe są w tym względzie nieocenione.

Na DOCKER TRAINING znajdziecie sporo materiału do nauki.

Docker Warsaw

Docker Global Mentor Week

Docker Toolbox

Do dzisiaj z docker’a korzystałem w jego natywnym środowisku czyli pod linux’em. Z pewnych względów, które dokładniej opiszę w niedalekiej przyszłości, przeprosiłem się z Windows’em. Docker Toolbox przychodzi z pomocą.

Instalacja i konfiguracja docker’a pod Windows jest niezwykle prosta, pod warunkiem, że skorzystamy z Docker Toolbox . W sumie to nie wiem, czy dzisiaj da się go jakoś inaczej zainstalować.

Pozwala on na instalację i automatyczną konfigurację:

  • Docker Engine
  • Compose
  • Machine
  • Kitematic

Docker Toolbox

Docker Toolbox

InfluxDB i Grafana

InfluxDB jest open-source’ową bazą danych time-series świetnie zastępującą bazę whisper w rozwiązaniach wykorzystujących protokół graphite (opis tutaj).

Aplikację Graphite zastąpmy produktem Grafana i mamy super środowisko do wizualizacji danych.

          InfluxDB grafanaInfluxDB

Oczywiście w  https://registry.hub.docker.com mamy oficjalny obraz Grafana oraz ‚prawie’ oficjalny obraz influxDB. Mamy też obrazy zawierające komplet komponentów wraz z  carbon’em.

Łatwo i szybko możemy zbudować sobie środowisko do monitorowania w czasie rzeczywistym przebiegu testów wydajnościowych czy to z jmeter’em czy to z Gatling’iem.

Konfiguracja dla Gatling.

Konfiguracja dla jmeter.

InfluxDB i Grafana

Wizualizacja danych ‚czasowych’

Trochę dziwny tytuł, ale myślę, że dobrze oddaje sens tego co chcę dzisiaj przedstawić.

Chciałbym w kilku kolejnych wpisach przybliżyć narzędzia, które pomogą zwizualizować dane, które najprościej mówiąc, na osi X mają czas, a dokładniej timestamp.

ELK, robi mniej więcej to samo, ale w opisanym wcześniej przypadku konfiguracja opiera się ściśle na pliku csv z raportem. Niekoniecznie wizualizacja danych w czasie rzeczywistym wymaga pracy z plikiem. Continue reading „Wizualizacja danych ‚czasowych’”

Wizualizacja danych ‚czasowych’

VM z Windows’em

Mimo, że mam i wykorzystuję docker’a czasami trzeba coś przetestować na windows’ie. Gorzej: trzeba coś przetestować wykorzystując różne wersje IE i jeszcze gorzej: na różnych wersjach OS.

Microsoft przychodzi nam z pomocą dostarczając za darmo VM z Windows’em.

VM z Windows'em

https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/ można pobrać maszyny wirtualne dla kombinacji IE vs. OS.

Obrazy maszyn dostępne są dla wszystkich popularnych platform wirtualizacyjnych. Dostajemy ograniczone czasowo Windows’y, na których możemy robić co nam się podoba 🙂

VM z Windows’em

Gatling, Docker i spółka

Potrzebowałem szybko wystawić wynik testu z gatling ‚a, żeby omówić je z klientem. Mógłbym te wyniki spakować i wysłać mail’em, ale robienie tego po każdej iteracji wydało mi się mało optymalne.

Nie chciałem instalować sobie żadnego serwera http na moim komputerze. Z pomocą przyszedł Docker.

Wystarczy wejść do folderu z plikami raportu (raport zapisywany jest jako niewielka witryna web) i wykonać poniższe:

$ docker pull httpd
$ docker run -it --rm --name my-apache-app -v "$PWD":/usr/local/apache2/htdocs/ -p 80:80 httpd

Co powyższym zrobiłem? Ano pobrałem obraz maszyny z apache’m. Uruchomiłem z opcją zamapowania bieżącego folderu hosta na folder /usr/local/apach2/htdocs/ uruchamianej maszyny i zamapowania portu 80 hosta na port 80 uruchamianej maszyny i ….tadaaaa: po adresem http://127.0.0.1 mam wystawiony raport 🙂

gatling

Jeszcze tylko trzeba było grzebnąć w routerze, żeby wrzucić mój komputer do DMZ i raport stał się widoczny pod moim publicznym adresem ip 🙂

Następnym razem mogę pominąć pierwszy i ostatni krok, ponieważ mam już httpd lokalnie, a router zostawiam tak jak jest.

Gatling, Docker i spółka

sitespeed.io

Sitespeed.io jest open source’owym narzędziem do badania i analizy szybkości i wydajności stron WWW. Analiza jest przeprowadzana w oparciu o najlepsze praktyki budowania wydajnych stron internetowych.

A i tak najważniejsze jest to, że można to uruchomić z wykorzystaniem gotowego obrazu docker’a LOL

$ docker run --privileged --rm -v "$(pwd)":/sitespeed.io sitespeedio/sitespeed.io sitespeed.io -u http://www.sitespeed.io -b chrome
sitespeed.io