Cloud Computing

Biorę udział w szeregu projektów związanych się popularyzacją oraz tworzeniem nowych metod i narzędzi dla przetwarzania danych i obliczeń w chmurze. W szczególności interesuje mnie obszar optymalizacji kosztów cloud computing. W zakresie narzędziowym zajmuję się wykorzystaniem chmury do prowadzenia analiz Machine Learning/Big Data oraz klastrów obliczeniowych (HPC coputing). Więcej szczegółów poniżej:

Blog - wprowadzenie do cloud computing

Prowadzę blog na którym staram się przedstawić wprowadzenie do technologii chmurowych w formie krótkich przewodników pozwalających na rozwiązanie konkretnych zagadnień.

Szkolenia

Prowadzę szkolenia z zakresu metod machine learning oraz przetwarzania danych w chmurze. Szczegółowy zakres szkolenia jest dopasowywany do indywidualnych potrzeb zamawiającego.
Poniżej propozycje szkoleń. Szkolenia mogą być prowadzone w języku polskim bądź angielskim w zależności od potrzeb zamawiającego.

Optymalizacja kosztów infrastruktury w chmurze

Celem szkolenia jest przedstawienie metod i narzędzi prowadzących do optymalizacji kosztów infrastruktury w chmurze.
Uczestnicy szkolenia poznają mechanizmy, które prowadzą do ograniczania kosztów TCO w modelu cloud computing. W szczególności podejście cloud computing zostanie porównane z tradycyjną infrastrukturą on-site.
Warto podkreślić, że największe oszczędności zastosowanie technologii chmurowych przynosi dostosowanie architektury wdrożeniowej systemu do modelu przetwarzania. Dlatego znaczna część szkolenia zostanie poświęcona metodą optymalnego projektowania tej infrastruktury.
Kurs jest rekomendowany dyrektorom działów IT oraz osobom odpowiedzialnym za ograniczanie kosztów infrastruktury IT.
Czas szkolenia: 6h.
  1. Wprowadzenie do cloud computing
    • Wirtualne serwery w chmurze
    • Wirtualne dyski w chmurze (blokowe oraz typu key-value storage)
    • Usługi zarządzania bazami danych (SQL oraz NoSQL)
    • Programowalna infrastruktura
  2. Mechanizmy powstawania kosztów w chmurze - porównanie z infrastrukturą on-site
  3. Optymalizacja kosztów cloud computing
    • Monitorowanie infrastruktury
    • Serwery jako zasoby tymczasowe zorientowane na zadania
    • Autoskalowanie infrastruktury
    • Reserved instances
    • Rynek spot na moc obliczeniową w chmurze (AWS EC2 spot)

Wprowadzenie do przetwarzania w chmurze

Kurs wprowadzający do zagadnień związanych z przetwarzaniem danych w chmurze oraz przenoszenia systemów on-site do chmury.
Czas trwania kursu: 4-8h

Mastering Amazon Web Services API

Kurs wprowadzający do programistycznego zarządzania infrastrukturą w chmurze Amazon Web Services. Udział w zajęciach jest polecany dla programistów oraz administratorów systemowych w firmach wdrażających przetwarzanie danych w chmurze.
Kurs może być zrealizowany w oparciu o język Python 2/3 (biblioteka boto) lub Java (AWS SDK for Java) -do wyboru przez zamawiającego.

Typowy czas trwania szkolenia: 6h

Apache spark a chmura obliczeniowa

Celem kursu jest zaznajomienie uczestników z architekturą oraz przetwarzaniem danych za pomocą platformy Apache Spark - wiodącego narzędzia w analityce BigData. Poszczególne aspekty technologiczne są ilustrowane studiami przypadków.
Kurs może być zrealizowany w oparciu o język Python, Scala lub Java (do wyboru przez zamawiającego)
Czas trwania kursu: 8h

Bezpieczeństwo danych w chmurze

Celem szkolenia jest przedstawienie zagadnień i dobrych praktyk związanych z projektowanie bezpiecznej architektury w ramach chmury Amazon Web Services.
Czas szkolenia: 4h

Język Python i analiza danych w chmurze

Czas trwania szkolenia: 2 dni.
  1. Środowisko pracy programisty Python – Anaconda/Spyder
  2. Abecadło programisty Python
    • Struktury danych – listy, słowniki oraz krotki
    • Funkcje
    • Programowanie funkcyjne
  3. Import i eksport danych
    • praca z plikami CSV
    • praca z danymi JSON
    • praca z relacyjnymi bazami danych (Oracle, MS SQL)
    • pobieranie danych z sieci WWW
    • Przetwarzanie dat i czasu
  4. Kierunki rozwoju języka Python dialekty Python 2 oraz Python 3
  5. Obliczenia numeryczne i machine learning
    • Wprowadzenie do pakietu numpy
    • Wprowadzenie do pakietu pandas oraz sci-kit learn
    • Wizualizacja danych matplotlib
    • Modele regresji
    • Modele klasyfikacyjne
    • Modele symulacyjne
  6. Efektywność pracy z językiem Python
    • Wydajność kodu w języku Python
    • Wektoryzacja obliczeń – biblioteka numpy
    • Przetwarzanie równoległe (tworzenie programów wieloprocesowych w języku Python)
  7. Python w chmurze Amazon Web Services
    • Python na instancja EC2
    • Wprowdzenie do grid computing z językiem Python
    • Klastry obliczeniowe a Python - StarCluster

Nowe metody i narzędzia dla Cloud Computing

Biorę udział w projektowaniu oraz rozwoju szeregu metod oraz narzędzi, której z jednej strony prowadzą do zmniejszenia kosztów przetwarzania danych oraz obliczeń w chmurze, a z drugiej strony zwiększają łatwość korzystania z usług chmurowych.
  1. Optymalizacja kosztów, w szczególności strategie gry na rynku EC2 Spot: On optimization of simulation execution on Amazon EC2 spot market

  2. Algorytmy dla obliczeń rozproszonych: Asynchronous Knowledge Gradient Policy for Ranking and Selection

  3. Przenoszenie do chmury istniejących środowisk obliczeniowych HPC: D-MASON in the cloud

  4. Tworzenie nowych narzędzi dla obliczeń w chmurze: SOF: Zero Configuration Simulation Optimization Framework on the Cloud