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.

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