Azure & Batman feat. Service Profiler

Hardcorowych dni ciąg dalszy, dziś bez ZUS, ale za to z 700km jazdy po krajowych drogach, w tym dwukrotnym przejazdem przez Częstochowę (the horror!).

Ale dla chmurowych wojowników, to nie może być powód! Azure Service Profiler. Nawet nie wiedziałem, że coś takiego istnieje. Okazuje się, że jest tool, który można wykorzystać nie tylko w Azure, wspomagający monitorowanie i diagnostykę aplikacji. Zejście od poziomu ogólności histogramu czasów wykonania przez wykres historyczny czasów obsługi przez zapis kroków wykonanych podczas obsługi konkretnego żądania po kod każdego z tych kroków. To trzeba zobaczyć:

Parafrazując pewnego pana – skąd oni biorą te cudowne zabawki?

Logic Apps, integracja z prędkością światła

Dzisiaj mam ciężki dzień, dwie wizyty w ZUS potrafią wyczerpać każdego normalnego człowieka, więc siły starczyło mi tylko na przejrzenie ostatnich video dorzuconych do kanału YouTube Microsoft Azure.

Jako, że jestem nieskrywanym fanem PaaS najbardziej zainteresował mnie wideo podcast Tuesdays with Corey: The Goodness of Azure Logic Apps, w Head of Product Logic Apps zaprezentował ich możliwości. Mind blown over and over. Gość centralnie w 10 minut stworzył aplikację, która reaguje na alert z maszyny wirtualnej wysyłając e-mail z opcjami do wyboru, wiadomość SMS oraz postuje na kanał slackowy. 10 minut włączając utworzenie i deployment Logic Appa, wyklikanie ww. opcji oraz demonstrację logów i efektów ich działania.

Nie mam więcej pytań. Wiedziałem, że ta usługa ma potencjał, ale to mnie utwierdziło w przekonaniu, że rzucam wszystko i jadę w Bie… i zabieram się za wykorzystanie Logic Apps. Tyle funkcjonalności, które można dodać tak szybko. Jaram się.

 

Azure Functions 0.5

Widzę, że mam poważne braki w moich subskrypcjach RSS. Niby obserwuję Azure Blog, ale jak się okazuje wielu interesujących mnie rzeczy tam nie ma. Na nową wersję Azure Functions nadziałem się przypadkiem, kiedy po prostu chciałem coś poprawić w ustawieniach. A nowości są super! Działający monitoring, live streaming eventów (Azure Functions Pulse), można wiązać parametry do body/query w triggerze HTTP.

Takie to ładne teraz, o:

Azure Functions 0.5

Zaraz zabieram się za poprawianie kodu, poużywam sobie nowości, a co. Kroi się też przerzucenie kolejnych funkcjonalności w to miejsce, skoro tak ładnie się rozwija i tak elegancko można teraz ogarniać wyjmowanie danych z requesta 🙂

Tak czy siak, App Service Team Blog ląduje na liście regularnie odwiedzanych miesc (jak mogłem nie robić tego wcześniej?!).

ML, Analytics & Data Science Conference

Przy okazji ww. konferencji Channel 9 przeprowadził parę rozmów z jej uczestnikami, m.in. z Panią Francescą Lazzeri, która przedstawiła cały proces wykorzystywania data science, ale także podkreśliła jego dwa istotne elementy.

Po pierwsze rzeczywisty problem biznesowy. Żeby zacząć pracę z data science (nie tylko machine Learning) trzeba mieć problem/pytanie, które chcemy rozwiązać. Rzucanie różnymi metodami w dane w nadziei, że wyskoczy coś interesującego to słaby pomysł, trzeba wiedzieć czego się oczekuje od analizy danych, żeby móc ją wykonać.

Po drugie wizualizacja, czyli ostatni etap przeprowadzania analizy danych. Prezentacja wyników pracy różnych metod i algorytmów musi dostarczyć w jasny i zrozumiały sposób wiedzę do grupy docelowej, która, o czym należy pamiętać, może pochodzić z zupełnie innej branży. Nie będzie można mówić o wykorzystaniu z sukcesem mechanizmów data science bez zrozumiałego przedstawienia jego rezultatów. Brzmi to jak coś oczywistego, ale wydaje mi się, że “techniczni”, którzy zajmują się taką analizą są podatni na ignorowanie lub niedocenianie odpowiedniego przedstawienia suchych wyników szerszej publiczności.

Polecam całość tego wideo oraz pozostałych na tym samym kanale.

Fundamentals of Azure, 2nd Edition

Właśnie (wczoraj) pojawił się nowa edycja bezpłatnego e-booka od Microsoft – Microsoft Azure Essentials – Fundamentals of Azure, 2nd Edition.

Lektury to nie zastąpi, ale tym co czytali lub chociaż przeglądali pierwszą edycję parę słów o pierwszych zauważonych istotnych różnicach:

Azure App Service and Web Apps – zastąpiło dawne Websites oraz Cloud Services, to dość spora zmiana.

Additional Azure Resources – dodatkowy rozdział, w którym po pół strony ogólnych informacji o kilkunastu różnych usługach w Azure, wielkiego pożytku poza ogólnym oglądem z tego nie ma, niemniej dla tych co ich nie używają jest to podstawowa pigułka wystarczająca by się orientować w temacie.

But the winner is…
Azure Resource Manager – jego opis pojawia się już w pierwszym rozdziale i w kolejnych konsekwentnie dodane są elementy wykorzystania tego podejścia w deployowaniu usług. Zmiana jest o tyle naturalna, że wcześniej po prostu go nie było, ale dobrze, że zaktualizowano tego e-booka pod tym kątem bo to jednak inna koncepcja.

To tyle po bardzo pobieżnym przescrollowaniu. Zauważyłem jeszcze też sporo małych aktualizacji (np. VS 2013 na VS2015), pewnie jest tego jeszcze dużo więcej. Wyjdzie w trakcie dokładniejszego przeglądania.

Doskonała pozycja dla rozpoczynających zabawę z Azure, polecam.

Patterns & practices

Jest taki dział w bibliotece MSDN, który polecam najmocniej jak się da, nazywa się patterns & practices. Jest to wg mnie jedno z najlepszych miejsc w MSDN, dzięki któremu można porządnie ogarnąć system jako całość i spojrzeć na wiele metod podejścia do rozwiązywania problemów.

Wewnątrz tego działu jest mniejszy fragment, który dotyczy mojej codziennej pracy – Cloud Design Patterns. Genialna sprawa, świetne, przejrzyste opisy różnych wzorców projektowych podzielonych pod kątem klasy rozwiązywanych zagadnień oraz zorientowania na konkretne wyzwania stawiane przed systemem lub jego częścią. Pozwala, nawet nie znając szczegółów (co czasami jest zbawienne na początkowym etapie ;)), dowiedzieć się co potrafią usługi w Azure, jak można połączyć je z innymi i jakich efektów można się dzięki temu spodziewać. Dodatkowo, dzięki kategoryzacji typów problemów do rozwiązania daje dobrą podkładkę pod rozmowy nad projektem i checklistę do odhaczenia z czym można się w konkretnym przypadku zderzyć. Jeśli tylko dam radę to z pewnością powybieram co ciekawsze, albo sprawdzone przeze mnie, wzorce i jeszcze o nich napiszę.

Czytania weekendowego cd.

Dziś zaległy (bardzo) numer czerwcowy i kilka tematów nieco bardziej obok stricte techu.
“Agile i Waterfall – wdrożenia a zapisy umowy” zainteresowało mnie pod kątem potencjalnego zastosowania wewnątrz organizacji, jako, że akurat nie pracuję w ani dla firmy tworzącej i wdrażającej rozwiązania dla swoich klientów.
“Nie ufamy chmurze” – warto się dowiedzieć jak to wygląda w przekroju całej branży bo moje tzw. najwyższe kierownictwo jest bardzo techniczne i problem nie występuje.
“Jak zdobyć mobilnego klienta i na nim zarobić” – OK, ten tytuł jest trochę zbyt szumny. Na co dzień blisko współpracuję z marketingiem i PR i mogę powiedzieć tylko tyle – That’s cute. Oczywiście przytoczone informacje są prawdziwe, ale to temat rzeka. Jest parę przykładów gier-hitów, ale “gra” to jest za szerokie określenie. Taktyki pozyskiwania i zatrzymywania klientów dramatycznie się różnią w zależności od gatunku i grupy docelowej.

Weekendowe lektury papierowe

Zabrałem się za małe nadrabianie lektury. Czasem lubię poczytać z papieru, tzn. ogólnie lubię, książka dobra rzecz, ale tym razem branżowo – to już zdarza mi się rzadziej. Tym razem sierpniowy numer IT professional.

Trochę przekartkowałem, trochę poczytałem dokładniej. Z jednej strony poczułem się lekko zbudowany, że na niektóre sprawy poruszone w tym numerze udało mi się z własnej inicjatywy zwrócić uwagę i odzwierciedlić to we wpisach tutaj. Być może moje postrzeganie branży nie jest tak chaotyczne jak mi się wydawało. Z drugiej z kolei znowu poczułem daleko idące braki w czasie na edukację, szczególnie po lekturze krótkiego, ale konkretnego Big Data as a Service. Mam nieodparte, graniczące z pewnością wrażenie, że osobie z moimi ambicjami i pomysłami na przyszłość wypada znacznie więcej wiedzieć o tej dziedzinie. W Azure, w którym na co dzień pracuję, jest to dla mnie wciąż tak biała plama, że aż wstyd…

No nic, zobaczymy, czy ten kolejny sygnał pozwoli mi lepiej się zmotywować do ogarnięcia tego kierunku.

 

Nowinki, nowinki…

Dwa istotne newsy z tego tygodnia, dwie funkcjonalności na różnych etapach życia:

Wsparcie dla formatu JSON w Azure SQL kończy Preview i wchodzi w fazę General Availability. Yay! W dobie kiedy serwisy często wymieniają między sobą dane za pomocą tego lekkiego formatu możliwość wyciągnięcia informacji z bazy lub zapisu do niej wprost z JSONa jest słodziutka. Będę korzystał tak bardzo…

Wchodzi też kolejna nowość – otóż do każdego service planu, a wręcz do każdego deployment slotu w Web Appie możemy utworzyć sobie bazę MySQL stojącą razem z www. Co prawda nie nadaje się to (przynajmniej na razie) do tworzenia elastycznych systemów bo nie obsługuje skalowania, ale nadal jest to wielki krok naprzód. Jak mi się nie chciało za bardzo kombinować tak teraz będę się poważnie zastanawiał nad przerzuceniem tego bloga do Azure. A co 🙂

Service Fabric, dzień 3 – Podstawowa terminologia

Krótko o podstawowych, najważniejszych terminach używanych w trakcie zajmowania się Service Fabric:

  • Node – węzeł – proces runtime usługi Service Fabric, w praktyce – pojedyncza maszyna (w przypadku Azure – wirualna),
  • Cluster – klaster – zestaw węzłów (o wysokiej dostępności, niezawodności itd…),
  • Application – aplikacja – zbiór usług, mikroserwisów,
  • Service – usługa, mikroserwis – jednostka dostarczająca jakieś konkretne funkcjonalności
  • Partition – partycja – usługa może posiadać wiele partycji, tzn. być uruchomiona w wielu instancjach w klastrze, ten mechanizm służy do zarządzania obciążeniem – load balancing pomiędzy wieloma instancjami tej samej usługi,
  • Replica – replika – redundancja w ramach instancji (partycji) usługi, mechanizm służy do zapewnienia ciągłości działania – płynne przełączanie pomiędzy Primary i Secondary zarówno w trakcie wyłożenia się procesu usługi jak i w przypadku deployowania updatu.

Tyle na razie. Do tych jeszcze wrócimy, nadejdzie też parę nowych.