Machine Learning Hands-on

Umieszczenie tego wideo z MVA na kanale youtubowym Azure spowodowało, że wróciłem do tematu Machine Learning i obejrzałem sobie takie krótkie wideo wieczorem.

Wstęp trochę przydługawy, ale daje pogląd na to co teraz jest dostępne, od czego zacząć, z czym się zapoznać. No i pokazuje demo. W zasadzie nie ma co pisać najlepiej obejrzeć samemu:

Nowości na MVA

Co jakiś czas wchodzę na portal Microsoft Virtual Academy, żeby zobaczyć, czy nie pojawiły się jakieś ciekawe kursy. Zwykle poluję na te dłuższe, kilkugodzinne, które są o tyle ciekawe, że oprócz solidnej dawki wiedzy zawierają też dema usług pokazujących bardziej szczegółowo różne ich aspekty niż krótsze video, które można znaleźć np. na Channel9.

Okazało się, że w ciągu ostatniego tygodnia pojawiły się co najmniej dwa ciekawe wpisy – jeden o Service Fabric, który powolutku próbuję sobie okiełznać (powolutku bo póki co nie korzystam z tej usługi w pracy, więc na tyle na ile pozwalają “pogodziny”), drugi o Azure Functions (ależ mnie ten temat prześladuje!) i opartych na nich nano serwisach. Czyli mikro serwisy, ale one step further? Zobaczymy, będzie oglądane.

Azure Functions by Troy Hunt

Czyli następny “duży” w Microsoftowym, Azurowym świecie pisze o tej usłudze. Ja tam nadal jestem trochę obrażony, ale że wyszły mi inne tematy, to badanie dziwnego zachowania schedulera jeszcze sobie leży na liście to-do. Wracając jednak do sedna – Troy Hunt pisze jak zwykle na przykładzie swojego sztandarowego serwisu – Have I Been Pwned, który hostuje w Azure. Podaje tam swój use case z demonstracją wykonania i efektów, które akurat on osiągnął. Porusza też kwestię kosztów. Można przeczytać, chociaż mnie tam już wiele nie zaskoczyło. Za to całego bloga zdecydowanie warto odwiedzać. W kontekście Azure można tam znaleźć jeden z lepszych w Internecie opisów wykorzystania Storage (akurat Table Storage) i możliwości tej usługi. Polecam.

Microsoft Cloud Germany

Od dziś Microsoft Azure dostępny jest z dwóch nowych centrów w Europie. Niby nic takiego, nie pierwsze i nie ostatnie poszerzenie portfolio centrum danych. No a jednak różnica jest. Nowe centra operują na odmiennych zasadach, stworzonych specjalnie pod kątem wymogów podmiotów z Unii Europejskiej. Zarządzane są przez data trustee czyli organizację odrębną od Microsoft, która gwarantuje zgodność ochrony gromadzonych w centrach danych z unijnymi przepisami.

Oczywiście od strony technicznej mamy 100% meh, nic (albo niemal nic) nowego, ot jeszcze więcej możliwości rozproszenia usług na terenie Europy, ale z punktu widzenia biznesu, pod kątem spełnienia zasad ochrony danych klientów i własnych, zgodności z czasem restrykcyjnymi restrykcjami branżowymi (bankowość, ubezpieczenia, zdrowie, itp) jest to bardzo duży krok naprzód i możliwość otwarcia się Azure na podmioty dotąd oporne. Z czego należy się cieszyć bo z punktu widzenia developera, projektanta, architekta wzrasta liczba potencjalnych klientów na usługi. Yay, kolejne wyzwania! 🙂

Co zanim wejdziemy w PaaS? Radzi IBM.

Żeby nie było, że tak tylko Azure i Azure, staram się czasami przynajmniej zerknąć co inni mają, albo co piszą. Dziś wstępniak do wykorzystania i wdrożenia PaaS na blogu Cloud Computing IBMa. Wpis jest pewną zachętą do zapoznania się z większym materiałem, który IBM już dość dawno udostępnił – Practical Guide to Platform as as Service. Sedno stanowi osiem wybranych cech technicznych i organizacyjnych korzystania z PaaS, nad którymi dobrze pochylić się przed podjęciem decyzji o migracji aplikacji na platformę chmurową. Techniczne dotyczą głównie architektury, sposobów działania usług, kontenerów integrowania systemów. Organizacyjne z kolei narzędzi i metod pracy nad tworzeniem projektu (zastosowanie agile, nowe narzędzia developerskie oraz inne podejście do deploymentu).

Całość wraz z linkiem do wspomnianego wyżej guide’a tutaj:
https://www.ibm.com/blogs/cloud-computing/2016/09/acquiring-using-paas/

Kontenery, kontenery

Jadąc na ostatnie spotkanie Azure User Group w Warszawie słuchałem sobie podcastów, w tym między innymi jednego odcinka o kontenerach. Do tej pory nieco stroniłem od tej działki, nie bardzo wiedziałem o co chodzi, kojarzyłem jednak, że jest to nieco infrastrukturalny temat, więc wolałem się trzymać od niego trochę na uboczu. Podcast troszkę mi dał, ale na koniec jednak pozostałem z pewnym rodzajem niekomfortowej niejasności. Prawie byłem gotów zachować status quo w moich relacjach z kontenerami (chłodna tolerancja ;)), ale jak to w życiu bywa, wiele czasu nie minęło, a okazało się, że prawdopodobnie będziemy jakiś zakupiony software stawiać w pracy via Docker. No i wyszło, że trzeba ogarnąć.
Materiałów jest w Internecie zapewne mnóstwo, ale ja jestem przyzwyczajony do sięgania do sprawdzonych miejsc. Jako że Pluralsighta (jeszcze) nie subskrybuję, to przejrzałem MVA i okazało się, że nie tak dawno pojawiło się video z podstawowymi informacjami i kilkoma demo. Zabieram się zatem za Dockera. Wish me luck.

Rysa na wizerunku Azure Functions

Azure Functions jako usługa podobają mi się niezmiernie i liczę na nie jako silny element Azura. Nawet już tu pisałem jak bardzo mi się podobają, ale… Ostatnio troszkę się zawiodłem. Ja rozumiem, że to wersja 0.5 i w takiej sytuacji nie ma co rozdzierać szat – korzystasz z niefinalnej to masz, ale mimo wszystko, dokumentacja jedno, a rzeczywistość drugie.

Time trigger. Niby fajnie, niby ekstra, przykład, który potrzebowałem miał odpalać funkcję raz dziennie, przez dwa dni na początku tygodnia, taka specyfika. No i nawalił, już dwa razy. Podejrzenie padło na wyłączony AlwaysON, ale po szybkim sprawdzeniu okazało się, że Dynamic Plan nie ma tego ustawienia i jest zawsze włączone by design. No… nie jestem pewien. Ostatnio dołożyłem jeszcze jedną funkcję do tego planu, która nic nie robi, za to uruchamia się co godzinę, zobaczymy co plan na to.

Druga sprawa jest taka, że w portalu są takie małe upierdliwości i jak się nieostrożnie wciska klawisze na klawiaturze to nieopatrzny enter może uruchomić funkcję zamiast np. zrobić Save, którego się spodziewamy. Backspace potrafi zamknąć blade’a zamiast skasować znak. Takie tam, trzeba uważać.

Może też tak być, że robię coś źle. Śledztwo trwa.

Service Fabric, dzień 8 – Przegląd podsystemów, cz.2

Kolejnym z podsystemów w Service Fabric jest Management subsystem. Jest on odpowiedzialny za zarządzanie cyklem życia aplikacji na co składa się tworzenie, patchowanie, updatowanie i usuwanie zasobów.
Jest to główny podsystem, z którym pracuje się poprzez PowerShella czy API.
On także składa się z kilku elementów:

Image store – usługa do składowania i dystrybucji paczek aplikacji. Zapewnia rozproszony system plików przechowujących ww. paczki,

Health manager – Service Fabric posiada własny model “zdrowia”, czy też, nazwijmy to, jakości działania usługi, na który składają się informacje przekrojowo zbierane z różnych elementów całego klastra. Ta usługa udostępnia swojemu podsystemowi dane oraz zdarzenia umożliwiające reakcję i podejmowanie odpowiednich decyzji służących zapewnieniu dostępności aplikacji,

Cluster manager – ta usługa współpracuje z inną – Failover manager – w celu umieszczania aplikacji na węzłach klastra. To ona technicznie odpowiada za wspomniane na początku funkcjonalności podsystemu – od utworzenia do usunięcia zasobów.161

Gleba azurowych DNS

Dziś Azure zaliczył grubszą wywrotkę objawiającą się brakiem łączności do usług. Według publikowanych informacji to była ogólnoświatowa (Multi-Region) awaria DNS. Poważny temat, szczególnie dla PaaSowców, którzy czegoś takiego jak adres IP nie dotykają.

W moim przypadku pierwsze podziękowały za współpracę SQLowe bazy, a ostatecznie prawie nic nie można było zrobić/podejrzeć bo portal moje Web Appy pokazywał jako “Deleted” (niezbyt sympatyczny widok ;)). W sumie smuteczek bo jak DNS leży to co… no można mieć jeszcze to samo zdeployowane u innych dostawców i fallbacki na poziomie aplikacji. Chyba jeden z najgorszych scenariuszy, gdzie i wielokrotna redundancja może na nic się nie zdać. Szczęśliwie korzystanie z moich azurowych usług przez aplikacje klienckie oraz bezpośrednio przez wewnętrznych użytkowników zostało tak zaprojektowane, że nawet kilkugodzinna przerwa w działaniu nie powoduje strasznych trudności (większe wewnętrznie niż dla klientów).

Jedyne co mnie zaniepokoiło to, że o tym, że coś leży, nie dowiedziałem się od mojego monitorowania, tylko od kolegi. Muszę połatać alerty, coś mam nimi nie pokryte.

MAUGP WAW 8…

Czyli spotkanie grupy azurowej w stolicy. Troszkę inne niż zwykle, bez partnera spotkania i bez sesji partnerskiej. Dzięki temu więcej czasu dostało dwóch prelegentów. Moim zdaniem to dobrze zrobiło prezentacjom, na wszystkich spotkaniach w których uczestniczyłem do tej pory (a było ich już kilka) często towarzyszyło mi wrażenie, że można by było jakiemuś tematowi poświęcić więcej czasu. Tym razem ciekawych informacji było więcej, profit.

Sesje ciekawe, w końcu usłyszałem coś, co jakoś do mnie przemówiło w kwestii DevOps. Niby próbowałem parę razy załapać o co chodzi, ale jakoś niezbyt szło. Dariusz Porowski dał radę i chętnie posłucham kolejnych, zapowiedzianych, wystąpień w tym temacie.

Michał Furmankiewicz, nieliczny wśród aktywnych developerów w grupie, sprzedał dużo ciekawostek na co należy uważać i o czym pamiętać korzystając z różnych PaaSowych usług. Także zapowiedział, że da radę uzbierałoby się tego więcej, także kolejne spotkania grupy zapowiadają się potencjalnie bardzo ciekawie.