Azure Media Analytics

Na tę usługę zwróciłem uwagę już dawno, chociaż nie zajmuję się multimediami w Azure na co dzień. Jest tam mnóstwo ciekawych funkcjonalności korzystających pod spotem także z Cognitive Services. Automatyczne dodawanie napisów w wielu językach do filmu czy wykrywanie niedozwolonych treści w materiale wizualnym to tylko część z nich. Teraz doszła kolejna bardzo ciekawa opcja, którą szczególnie powinny być zainteresowane instytucje publiczne – Face Redaction. Usługa, która na razie będzie publicznym preview (bezpłatnym!) polega na automatycznym wykrywaniu i śledzeniu twarzy w materiale wideo w celu zabezpieczenia prywatności wizerunku osób. Oczywiście konfiguracja będzie pozwalała na ingerencję w wynikowe wideo, wybór osób, których wizerunek ma zostać ukryty oraz ręczne korekty w przypadku trudnych materiałów.

Tutaj można znaleźć demonstrację jej możliwości.

Ulepszony Automatic Tuning dla baz Azure SQL

Co prawda Automatic Tuning odbiera nieco pracy DB adminom (w tym trochę i mnie) i odziera optymalizację z pewnej aury tajemniczości i kosmiczności, ale i tak go lubimy. W dodatku teraz jest jeszcze lepszy, szybciej daje wyniki analizy obciążenia i wskazuje miejsca, gdzie można nanieść poprawki. Poprawki, które teraz można wdrożyć niemal od razu, bez dłuższego patrzenia na wykresy degradującej się wydajności.

Czy można to robić samemu? Ano można, nawet trzeba, bo wszystkiego ta zabawka nie przewidzi, na każdą ewentualność nas nie zabezpieczy, naszych pomysłów na dalsze zmiany i rozwój nie zgadnie. Ale sprawdza się elegancko jako wspomaganie, bieżąca kontrola czy wszystko gra, kiedy rzucamy się w wir zmian w kodzie nie zwracając uwagi na strukturę bazy, postawione indeksy i różnice w wymaganiach stawianych im kiedy powstawały, a stawianych dziś.

Przetestowane na tablicach o setkach milionów wpisów i dziesiątkach gigabajtów danych, daje radę.

Nowe regiony Azure w Europie

Na koniec tygodnia parę słów na temat w zasadzie jednego z poważniejszych newsów ostatnich dni. Oficjalnie dostępne są dwa kolejne regiony Microsoft Azure w Europie. Obydwa w Wielkiej Brytanii (Anglia i Walia). To nam daje na obecną chwilę cztery regiony, z dwoma kolejnymi w Niemczech w drodze. To jest już na prawdę solidna baza, na której można, nie wychodząc poza Europę, oprzeć system z grubszym Disaster Recovery. Centra w Niemczech dodatkowo dadzą do ręki silny kontrargument na przeciwników rozwiązań chmurowych, którzy obawiają się bezpieczeństwa danych w centrach prowadzonych przez firmę podlegającą prawu i służbom Stanów Zjednoczonych. Sam co prawda nie mam z tym może wielkiego problemu, używam centrów w U.S. bo mogę i nie mam przeciwwskazań, ale jestem w stanie wyobrazić sobie, że dla pewnych biznesów to jest jakiś problem. Jeśli nawet nie rzeczywisty, to pewna bariera mentalna. Żeby tylko Brexit wszystkiego nie popsuł, bo centra znowu wywędrują poza UE 😉

Tydzień z Azure powraca!

Nie wypada tutaj nie wspomnieć o tym, że po długiej przerwie powraca seria Tydzień z Azure, w której Tomasz Wiśniewski, Technical Evangelist w Microsoft, prezentuje nowości ze świata Azure, często zapraszając ciekawych gości do współprowadzenia. W odcinku wskrzeszającym serię o różnych sprawach, o niektórych z nich już tutaj było, np. o nowym Azure Fundamentals, czy o preview MySQLa przypiętego do Web Appa. W przypadku tego drugiego można zobaczyć pełne demo, od stworzenia usługi do publikacji prostego projektu demonstrującego administrowanie i łączenie się z bazą MySQL. Oprócz tego jeszcze parę drobnostek, które w międzyczasie ujrzały światło dzienne.

Odcinek do obejrzenia na Channel9:

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ę.

 

Service Fabric, dzień 7 – Load Balancer

Wiele maszyn uruchomionych w klastrze, wiele serwisów i replik uruchamianych pod różnymi adresami i słuchającymi na różnych portach stanowi pewne wyzwanie z punktu widzenia klienta wykorzystującego jednolitą aplikację, w której ww. powinny być zupełnie przezroczyste.

Rozwiązać ten problem można na różne sposoby, np. gateway z automatycznym wykrywaniem instancji serwisów. W przypadku Service Fabric najprostszym rozwiązaniem jest jednak Load Balancer, który otrzymujemy out-of-box. Kieruje on ruch jedynie do poprawnie funkcjonujących instancji serwisów (ma wiedzę o ich stanie), co zapewnia wspomnianą już przezroczystość dla klienta – ta funkcjonalność jest jego domyślną i standardową. Posiadając wiedzę o instancjach reaguje oczywiście także na zmianę ich liczby, czyli zapewnia skalowanie aplikacji. Dodatkowo umożliwia też skonfigurowanie takiego mechanizmu jak partycjonowanie ruchu pozwalając na “ręczne” kierowanie określonych żądań do określonych węzłów.

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?!).

Service Fabric, dzień 6 – Przegląd podsystemów, cz.1

W poprzednim wpisie była mowa o usługach domyślnych w manifeście. Jakie usługi oferuje nam out of the box Service Fabric? Trochę tego jest, dodatkowo serwisy systemowe są pogrupowane w podsystemy, odpowiedzialne za różne aspekty działania klastra.

Jednym z ciekawszych podsystemów z punktu widzenia użytkownika jest z pewnością Reliability subsystem, który odpowiada za utrzymanie wysokiej dostępności aplikacji uruchomionych w Service Fabric i składa się z trzech usług systemowych:

Failover manager – reaguje na dodawanie i znikanie węzłów, wyrównuje obciążenia w przypadku dodania węzła i rekonfiguruje repliki w przypadku jego utraty,

Resource Balancer – odpowiada za zbieranie danych o obciążeniu i przekazywanie ustalonych na ich podstawie rekomendacji do Failover managera,

Replicator – pilnuje prawidłowej replikacji serwisów, zajmuje się także zachowaniem spójności stanów pomiędzy replikami serwisów stateful.

 

Service Fabric, dzień 5 – Model aplikacji

Wiemy już, że aplikacja Service Fabric składa się z serwisów. Jak to jest jednak wszystko opisane? Za opis całości aplikacji odpowiada jej manifest, którego zadaniem jest zebrać informacje o wszystkich serwisach w aplikacji oraz o ich rozłożeniu w klastrze Service Fabric. Oprócz serwisów, o których głównie myślimy tworząc aplikację (czyli naszych) manifest zawiera też sekcję dla serwisów domyślnych, które Service Fabric uruchamia automatycznie.

A co z serwisem? Ten składa się z trzech elementów – kodu, konfiguracji, danych. Kod to rzecz jasna pliki wykonywalne serwisu. Konfiguracja może być zmieniana w run time. Dane są to informacje statyczne wykorzystywane przez usługę. Każdy z trzech elementów zebrany jest w niezależną od pozostałych paczkę.
Całość każdego serwisu także opisana jest manifestem, do którego odniesienie znajduje się w manifeście aplikacji.

Wszystkie manifesty, zarówno serwisów jak i aplikacji, mają postać plików XML (podobnie jak konfiguracja serwisu) i są niezależnie wersjonowane.