We wtorek 15. grudnia br. wraz z Adrianem Rusznicą i Łukaszem Żwakiem mieliśmy przyjemność uczestniczyć w zorganizowanej przez Microsoft Polska, kameralnej konferencji dla architektów oprogramowania i programistów.

Do warszawskiej siedziby Microsoftu dotarliśmy na kwadrans przed godziną dziesiątą i po szybkim poczęstunku usadowiliśmy się w sali wykładowej. Przez kilka następnych godzin słuchaliśmy o nowościach w chmurze Azure oraz nowych rozwiązaniach wdrażanych przez Microsoft.

Wykłady przeprowadzili na zmianę panowie: Tomasz Kopacz, na co dzień architekt oprogramowania w Microsoft, oraz Tomasz Wiśniewski, ewangelista technologii Microsoft. Okazało się, że nawet w prezentacji takiej firmy mogą wystąpić drobne problemy techniczne z rzutnikiem czy Wi-Fi;). Podczas przerwy między wykładami dział techniczny zajął się sprawą, a kolejne wykłady odbyły się bez kłopotów.

Wszystkie prelekcje były bardzo ciekawe, z przeważającą ilością informacji technicznych i z mniejszym naciskiem na marketing. Zaprezentowane zostały zmiany dotyczące ogólnego korzystania z platformy Azure oraz przedstawiono nowe funkcjonalności i technologie na 2016 rok.

W dalszej części artykułu podsumuję poszczególne wykłady, odnosząc się do konkretnych źródeł.

 

Ogólnie o nowościach w Azure

Szykuje się wiele zmian, które są istotne dla dostawców usług (opartych o chmurę), administratorów, architektów oraz programistów.

Pierwszą istotną informacją, którą zostaliśmy uraczeni, było ogłoszenie finalnego wydania nowej wersji portalu Azure z kafelkowym pulpitem jako domyślnej strony do zarządzania zasobami w chmurze. W starym portalu tylko przez jakiś czas zostanie jeszcze zarządzanie Active Directory. Sytuacja jest podobna do wcześniejszej, jak przy zaprzestaniu wsparcia dla portalu zarządzającego w Silverlight.

Microsoft wychodzi naprzeciw oczekiwaniom administratorów i dalej rozwija Powershell for Azure, co ułatwi zarządzanie chmurą z poziomu linii komend i w rozbudowanych zastosowaniach. Wiąże się to z wprowadzeniem komponentu Azure Resource Manager, jako spójnego miejsca do przeglądu wszystkich wykorzystanych usług.

Microsoft zauważa również konieczność wsparcia w zakresie bezpieczeństwa. Z tego powodu rozwija komponent Microsoft Azure Security Center, wspierający cykl Detect-Prevent-Mitigate dla dużych zbiorów maszyn i cloud service’ów. Przykład użycia – informowanie administratorów z poziomu portalu o ilości maszyn, które wymagają zainstalowania systemu antimalware. Azure Security Center umożliwi zainstalowanie potrzebnych komponentów na wielu maszynach z poziomu samego portalu.

Zgodnie ze strategią na rok 2015, Microsoft bardziej wspiera narzędzia open source, a w obszarach powiązany z Azure – technologie linuksowe. Stąd też rozszerzone wsparcie dla maszyn linuksowych, takich jak Debian (w ostatnich dwóch wersjach) czy też Redhat, ze wsparciem systemu licencji Enterprise.

Wiele pozytywnych zmian można zauważyć w zakresie usprawnień zarządzania ruchem sieciowym. Microsoft rozszerza funkcjonalności tworzenia sieci wirtualnych o skomplikowanych topologiach, wspiera VPN i Express Route, a także rozwija różne narzędzia do zarządzania skalowalnością (m.in. do automatycznego skalowania w oparciu o metryki definiowane w konfiguracji usług).

Wisienką na torcie jest udostępnienie jeszcze szybszych i mocniejszych maszyn GS w oparciu o dyski SSD (nawet do 32 rdzeni, do 448 GB RAM, do 896 GB szybkiej przestrzeni dyskowej SSD).

Podsumowując, Microsoft stara się zapewnić pełne wsparcie zarówno dla rozwiązań IaaS, a w ramach potrzeb także dla PaaS.

How to install and configure Azure PowerShell?
Security Center
Azure Resource Manager overview
Get started with SQL Database Threat Detection

 

Big Data

Microsoft udostępni większe możliwości w zakresie decyzji dotyczących przechowywania dużych ilości danych. Poza dostępnymi wcześniej rozwiązaniami w ramach Azure Storage, zostanie zaoferowane szybsze i bardziej wersatylne, ale jednak droższe, rozwiązanie Azure Data Lake, opierające się w większości na otwartych standardach.

Standardem w zakresie obsługi danych zostanie język U-SQL, umożliwiający unifikację ekstrakcji oraz transformacji danych z praktycznie dowolnego źródła. Azure pozwoli na tworzenie skomplikowanych procesów wspierających przykładowo tymczasowe włączanie instancji obliczeniowych (np. Hadoop) stricte na potrzeby danej transformacji. W połączeniu z Cortana Analytics i SQL Data Warehouse, będzie to niewątpliwie dobre narzędzie do kompleksowego zarządzania zbiorami danych i analizowania zależności między nimi.

Data Lake
SQL Data Warehouse
Introducing U-SQL

 

Azure DocumentDB

Jeśli mowa o Big Data, to nie można pominąć systemów przechowywania danych dokumentowych, nie tylko SQLowych. Microsoft zachęca do korzystania z DocumentDB w oparciu o dokumenty JSON oraz o własnościowe systemy definiowania triggerów czy procedur. To oraz reszta opisywanego ekosystemu umożliwi: denormalizację danych w locie, uproszczone pisanie zapytań i dostęp do danych z poziomu serwisów w chmurze czy we własnej infrastrukturze.

Introduction to DocumentDB: A NoSQL JSON Database
SQL query in DocumentDB

 

API Management

Odnosząc się do aktualnego trendu odchodzenia od monolitycznych architektur, Microsoft Azure będzie wspierać dostawców oprogramowania w zakresie tworzenia i zarządzania wielorako dostępnymi API w ramach Microsoft Azure API Apps oraz wdrażania paradygmatów WebHooks. Oczywiście Microsoft udostępnia pełne wsparcie reszcie infrastruktury, dzięki odpowiedniej integracji z Azure Web Jobs, wsparciu CORS, analityce, a także budowaniu całości skomplikowanych rozwiązań z pomocą Windows Workflow, a dalej Azure Logic Apps.

Sam system Azure API Management wychodzi także naprzeciw oczekiwaniom biznesowym, pozwalając na:

  • zintegrowane zarządzanie autentykacją i autoryzację dostępu do API,
  • definiowanie ograniczeń i limitów ruchu sieciowego w ramach cienkiej warstwy proxy.
  • znaczną oszczędność finansową
  • zminimalizowanie potrzeby każdorazowego tworzenia dedykowanych rozwiązań w tym zakresie.

API Apps and ASP.NET in Azure App Service
Microsoft ASP.NET WebHooks Preview
Logic Apps Preview
What are Logic Apps?
Create a new logic app connecting SaaS services
Azure API Management Part 2: Safeguarding Your API

 

Marketplace dla Azure oraz Office Apps

Microsoft stawia także na pośrednictwo w sprzedaży dedykowanych usług poprzez odpowiednie serwisy marketplace. Przykładowe przypadki użycia to:

  • sprzedaż dostępu do serwisów danych,
  • sprzedaż całych szablonów rozwiązań w chmurze,
  • sprzedaż dostępu do własnego API
  • sprzedaż własnych obrazów maszyn wirtualnych

Sprzedaży dokonuje się poprzez sklep Microsoftu. Wszystko może zostać wykorzystane w infrastrukturze Azure przez końcowych klientów. Co ciekawe – publikowanie do Azure Store odbywa się na bazie dostępu do zunifikowanych i znanych wszystkim kont developerskich Windows Store.

Aby zwiększyć potencjał wykorzystania kolejnego już sklepu z usługami czy aplikacjami, Microsoft ujednolicił pisanie dodatków do Office. Odchodzimy już od Visual Studio Tools for Office na rzecz Office Apps, które pozwalają na pisanie cross-platformowych addinów z wykorzystaniem zaawansowanego i javascriptowego API, działającego w pakiecie Office for Desktop, konsumenckim Office 365 a także Office 365 dla organizacji.

Dev Office
Microsoft Azure login

 

Przyszłość skalowalnych rozwiązań? Czyli narzędzia Service Fabric

Microsoft docenił tworzenie aplikacji w paradygmacie Actor Model. Efektem tego był rozwój frameworka Orleans, który przeniesiono już jakiś czas temu do społeczności open source. Zauważono potencjał tego typu rozwiązań i planowany jest dalszy rozwój usług świadczonych w tym zakresie poprzez platformę Azure.

W czasie prezentacji zostało przedstawione wykorzystanie darmowego frameworka Orleans oraz schemat tworzenia rozwiązania za pomocą nowego narzędzia Service Fabric. Według Microsoftu w ciągu kilku bądź kilkunastu kolejnych lat programowanie zorientowane na małe, niezależne serwisy wejdzie w codzienne użycie. Framework Orleans pozwala na wprowadzenie abstrakcji zlokalizowania poszczególnych obiektów. Na pierwszy rzut oka, upraszczając opis metod dostępnych dla programisty, może to przypominać kontener IoC. Z małym wyjątkiem – implementacje serwisów są zwracane jako obiekty proxy i nieistotne dla programisty jest to, czy kod wykona się na tej samej instancji, czy nawet na innym serwerze. Minimalnie trudniejsze jest odpowiednie skonfigurowanie środowiska tak, żeby narzędzia dostępne w ramach biblioteki Orleans działały optymalnie.

Odpowiedzią na to ze strony Microsoft jest udostępnienie dostawcom oprogramowania narzędzia Service Fabric, które przejmuje zarządzanie instancjami oraz kompletnie definiuje role poszczególnych serwisów. W czasie prezentacji pokazano wyłączanie i włączanie instancji w locie i w obrębie grupy pięciu serwerów, oraz bardzo szybkie reakcje systemu i jego modułów na zmiany. Polecam zerknąć na konkretne przykłady w dokumentacji z poniższych odnośników.

Orleans – Distributed Actor Model
Create your first Service Fabric application in Visual Studio

 

Internet of Things w Azure

Internet Rzeczy to zagadnienie kluczowe – niektórzy uważają, że to właśnie ono wyznaczy kierunek rozwoju nowych rozwiązań na przestrzeni lat.

Już nie można myśleć w kategorii żartu o przykładowym ekspresie do kawy, który może informować o kolejce spotkań zapisanych w kalendarzu na Exchange, czy odbierać żądania zaparzenia kawy w odpowiedzi na wiadomość podesłaną przez Skype:)

Technologia już jest, narzędzia już są. Microsoft uważa, że czas najwyższy wesprzeć programistów także przy tworzeniu tego typu rozwiązań na rynki konsumenckie i nie tylko. Wsparcie to widoczne będzie w rozwoju architektury serwisów Azure oraz udostępnieniu kolejnych funkcjonalności ułatwiających rejestrowanie urządzeń, odczytywanie z nich danych czy wysyłanie wiadomości na urządzenia.

Microsoft aktywnie działa jako jedna z wielu stron i organizacji pracujących na rzecz ustandaryzowania protokołów komunikacji, a w obrębie Azure już teraz udostępnia IoT Hub jako fundament do budowy nowoczesnych rozwiązań. IoT Hub w połączeniu z innymi usługami Azure bierze odpowiedzialność za przedstawienie programiście ujednoliconej warstwy abstrakcji do komunikacji z różnymi urządzeniami oraz pozwala na wykorzystanie gotowych (bądź tworzenie nowych) szablonów protokołów dla konkretnych urządzeń. Duże zespoły na równi z małymi działami researchu będą więc w stanie przygotowywać prototypy swoich rozwiązań oraz udostępniać innym nowe możliwości komunikacji z produkowanymi urządzeniami.

Tutorial: Get started with Azure IoT Hub

 

„Dinozaury” programowania

W ramach przyjemnego oderwania od zagadnień stricte technicznych, związanych z platformą Azure, pani Małgorzata Bereza (SAM Engagement Manager) zobrazowała słuchaczom (a niektórym nawet przypomniała!), jak programowano kiedyś z wykorzystaniem cyfrowych maszyn liczących. Wykład był niezmiernie ciekawy, gdyż nie wszyscy uczestnicy konferencji mieli wcześniej nawet pojęcie o konkretnych zasadach oraz metodach rządzących światem programistycznym w latach 50. i 60. Dowiedzieć się można było wiele o specyfikacji architektury komputerów Odra i im podobnych, a także o niektórych, ciekawych z dzisiejszego punktu widzenia, problemów w programowaniu. Pani Małgorzata przytoczyła przykłady takie jak błąd parzystości (wynikający z braku perforowania karty w danym miejscu) czy konieczność mozolnego układania kolejności kart programu w przypadku ich najzwyklejszego w świecie rozsypania.

 

Czy było warto?
W dyskusjach z Adrianem oraz Łukaszem stwierdziliśmy jednomyślnie, że ta konferencja była jedną z lepszych o tej tematyce. Istotnym elementem tego wydarzenia był nacisk na przekazywanie wiedzy o nowinkach i technologiach, które Microsoft będzie dopiero wdrażać w kolejnych miesiącach. Bardzo podobało się nam rezolutne i szczere podejście prelegentów do uczestników, bez zbędnego nacisku na marketing. Jest to konferencja wymagająca od uczestników uprzedniego doświadczenia bądź ogólnej wiedzy związanej z zagadnieniami tworzenia architektury oprogramowania, ale żaden z wykładów nas nie znudził i z chęcią na Forum Architektów i Programistów wybierzemy się kolejnym razem.

Dodaj komentarz