Microsoft Ignite: chmura, mobilność i sztuczna inteligencja

Naszym priorytetowym celem jest obecnie upowszechnienie i demokratyzacja dostępu do mechanizmów sztucznej inteligencji AI, mówi Satya Nadella. Dlatego też Microsoft rozbudowuje infrastrukturę chmury Azure wyposażając ją w wydajne akceleratory FPGA.

Satya Nadella w wystąpieniu na otwarciu konferencji Microsoft Ignite 2016.

Prezentacja planów i strategii Microsoft, a także najnowszych produktów i rozwiązań wprowadzanych przez firmę to główna tematyka tegorocznej konferencji Microsoft Ignite 2016 adresowanej do deweloperów i osób profesjonalnie zajmujących się zarządzaniem systemami IT. Microsoft Ignite 2016 miała miejsce w Atlancie pod koniec września 2016 roku.

Jeśli chodzi o strategię i plany Microsoft, to kluczowym tematem była sztuczna inteligencja AI (Artficial Intelligence). A podstawą do rozwoju wykorzystujących ją aplikacji ma być chmura Azure. Stąd też hasła „Cloud first, Mobility first” oraz „demokratyzacja AI”, które prezentował Satya Nadella, Microsoft CEO.

Zobacz również:

Do najciekawszych nowości ogłoszonych podczas Ignite 2016 można zaliczyć prezentację planów modernizacji centrów danych obsługujących chmurę i wyposażenie działających tam serwerów w sprzętowe akceleratory wykorzystujące układy FPGA (Field-Programmable Gate Arrays). Już obecnie Microsoft zainstalował dziesiątki tysięcy kart FPGA w 15 ze swoich 34 regionalnych centrów przetwarzania danych. Według przedstawicieli firmy zasadniczo zwiększają one wydajność chmury Azure.

Podczas Ignite 2016 ogłoszono, że oprogramowanie Windows Server 2016 i System Center 2016 będzie dostępne od 1 października 2016 roku. Nie zabrakło również newsów związanych z ulepszeniami aplikacji i usług pod kątem zwiększania ich bezpieczeństwa, a także informacji o nowych funkcjach wprowadzanych m.in. do Office 365 i Dynamics 365.

Demokratyzacja dostępu do mechanizmów sztucznej inteligencji

Masowa inwestycja w systemy do akceleracji przetwarzania i transmisji danych w chmurze Azure ma przede wszystkim stanowić wsparcie dla najnowszych inicjatyw Microsoft związanych z rozwijaniem mechanizmów i aplikacji opartych na sztucznej inteligencji AI.

“W przeszłości celem Microsoft było stworzenie infrastruktury umożliwiającej demokratyzację dostępu do danych, obecnie ten sam cel dotyczy sztucznej inteligencji, która będzie mogła zostać wykorzystana przez każdego użytkownika globalnej sieci” mówi Satya Nadella.

“Chcemy by każdy użytkownik i firma mógł mieć łatwy dostęp do zaawansowanych aplikacji i narzędzi wykorzystujących sztuczną inteligencję. Ułatwi to rozwiązywanie problemów trapiących społeczeństwo oraz system ekonomiczny. Taki mamy cel” wyjaśnia Satya Nadella.

Demokratyzacja dostępu do mechanizmów sztucznej inteligencji według Microsoft.

Demokratyzacja dostępu do mechanizmów sztucznej inteligencji według Microsoft.

Narzędzia wykorzystujące mechanizmy sztucznej inteligencji są już dostępne w usługowej ofercie Microsoft (Cognitive Services) i wykorzystywane przez niektóre firmy. Jako przykłady Satya Nadella zaprezentował amerykańską organizację futbolową NFL oraz Uber. Ta ostatnia firma wykorzystuje mechanizmy inteligentnego rozpoznawania obrazów i głosu w celu identyfikacji i weryfikacji kierowców i użytkowników korzystających z usług świadczonych za pośrednictwem Ubera co ma zwiększyć bezpieczeństwo.

Microsoft też zamierza coraz szerzej wprowadzać rozwiązania AI do własnych produktów i usług. Nabardziej znanym przykładem jest Cortana. A w listopadzie tego roku firma planuje wprowadzenie „asystenta do zarządzania związkami z klientami” (relationship assistant) do chmurowej usługi Dynamics 365. Ma on ułatwić pracę sprzedawcom podpowiadając jacy klienci z największym prawdopodobieństwem mogą być potencjalnymi odbiorcami określonych produktów.

Karty z układami FPGA zwiększają wydajność chmury Azure

Microsoft zdecydowanie zwiększył wydajność chmury Azure instalując we wszystkich obsługujących ją centrach danych zlokalizowanych w 15 krajach dziesiątki tysięcy kart z układami FPGA.

FPGA to procesory, których funkcje można zaprogramować. Microsoft opracował architekturę kart oraz odpowiednie oprogramowanie, a same układy FPGA (Altera Stratix V D5) są dostarczane przez firmę Altera, która została przejęta w 2015 roku przez Intel.

Karty z FPGA są instalowane w serwerach obsługujących usługi Microsoft świadczone w chmurze Azure i tworzą dodatkową warstwę systemu sprzętowego zwiększającą wydajność wymiany danych między maszynami wirtualnymi i ich przesyłania w sieci.

Microsoft ma centra danych w 35 regionach świata. Zdecydowana większość z nich należy do firmy, tylko w Niemczech i Chinach Microsoft korzysta z ośrodków przetwarzania danych należących do jego partnerów.

Microsoft nie ujawnił szczegółów dotyczących oprogramowania i architektury kart akceleratorów. Wiadomo jednak, że zawierają one układy FPGA, statyczną pamięć RAM oraz procesory DSP (Digital Signal Processor). Obecnie zainstalowane akceleratory służąć do zwiększenia wydajności transmisji danych w sieci, ale kolejne ich wersje mają umożliwiać akcelerację innych kluczowych zadań w chmurze Azure, jak na przykład funkcji maszynowego uczenia, rozpoznawania obrazów, głosu lub tłumaczenia tekstów.

Zastosowanie sprzętowych akceleratorów pozwala na istotne zwiększenie wydajności wykonywania zadań, które zostały odpowiednio skonfigurowane i korzystają z funkcji zaprogramowanych w układach FPGA.

Według Microsoft, wykorzystywane obecnie w katach FPGA oprogramowanie Accelerated Networking pozwala na uzyskanie szybkości wymiany danych 25 Gb/s między dwoma maszynami wirtualnymi zainstalowanymi w chmurze Azure i obsługiwanymi przez serwery fizyczne wyposażone w FPGA. Natomiast wielkość opóźnień została zmniejszona do poziomu 25-50 mikrosekund.

Przedstawiciele Microsoft wyjaśniają, że centra danych obsługujące chmurę Azure są wyposażone w urządzenia sieciowe z interfejsami o wydajności 40 Gb/s, ale wymiana danych między różnymi, wykorzystującymi różne reguły elementami definiowanej programowo sieci bardzo obciążała główne procesory serwerów zmniejszając ich praktyczną wydajność. I właśnie karty z układami FPGA pozwalają je odciążyć od takich zadań.

Autorem projektu wykorzystania układów FPGA do akceleracji przetwarzania i przesyłania danych jest Doug Burger. Projekt został uruchomiony w 2010 roku pod kodową nazwą Catapult. Realizowała go grupa NExT (New Experiences and Technologies) działająca w ramach oddziału Microsoft Research. Opracowywane rozwiązania miały początkowo zwięlszyć wydajność wyszukiwarki Bing, a nieco później zdecydowano o rozszerzeniu zastosowań na chmurę Azure.

Doug Burger, autor projektu wykorzystania układów FPGA do akceleracji przetwarzania i przesyłania danych w chmurze Azure.

Doug Burger, autor projektu wykorzystania układów FPGA do akceleracji przetwarzania i przesyłania danych w chmurze Azure.

W karty z zaprogramowanymi układami FPGA są obecnie wyposażane wszystkie nowe serwery instalowane w centrach danych Microsoft.

Karta jest bezpośrednio podłączana do interfejsu sieciowego NIC, szyny PCIe oraz centralnego przełącznika znajdującego się w szafie stelażowej. Karty mogą się ze sobą komunikować, a ich grupy można przydzielać do obsługi aplikacji o dużych wymaganiach, jak na przykład obsługi zaawansowanego oprogramowania do uczenia maszynowego.

“Jeśli jest taka potrzeba możemy zaalokować na przykład 1000 serwerów z FPGA do obsługi jednej sieci neuronowej” mówi Doug Burger. Oznacza to możliwość ogromnego skalowania mocy obliczeniowej.

“Gdybyśmy dedykowali wszystkie serwery z kartami FPGA zainstalowane w chmurze Azure do przetłumaczenia na inny język angielskiej wersji Wikipedii, zadanie to zostałoby wykonane w jedną dziesiątą sekundy” mówi Doug Burger. Zawartość angielskiej wersji Wikipedii to 5 mln artykułów (3 miliardy słów).

Jak układy FPGA zwiększają wydajność chmury Azure. Przykład szybkości tłumaczenia "Wojny i pokoju" Lwa Tołstoja.

Jak układy FPGA zwiększają wydajność chmury Azure. Przykład szybkości tłumaczenia "Wojny i pokoju" Lwa Tołstoja.

Wykorzystanie sprzętowych rozwiązań do akceleracji niektórych zadań nie jest niczym wyjątkowym. Do takich celów stosowane są najczęściej układy ASIC (Application-Specific Integrated Circuit), a nieco rzadziej procesory FPGA.

ASIC to układy od podstaw zaprojektowane do realizacji określonego zadania. Z reguły umożliwiają uzyskanie szczególnie wysokiej wydajności, większej niż zapewniają procesory FPGA. Są one powszechnie wykorzystywane np. w urządzeniach sieciowych Cisco, gdzie zarządzają transmisją danych, a także obsługują funkcje bezpieczeństwa. Innym przykładem są zaprezentowane w tym roku procesory Google TPU (Tensor Processing Unit), które przyspieszają niektóre operacje związane z funkcjami uczenia maszynowego w chmurze Google.

Dlaczego więc Microsoft zdecydował się na zastosowanie procesorów FPGA? Odpowiedź jest względnie prosta.

„Rozwój technologii jest obecnie tak szybki, że trudno jest zapewnić, by najwydajniejszy układ ASIC spełniał szybko zmieniające się wymagania. Natomiast FPGA to reprogramowalny procesor, którego funkcje można modyfikować. Sam układ FPGA nie zapewnia szczególnie wysokiej wydajności dlatego opracowane przez Microsoft karty zostały też wyposażone w pamięć SRAM i procesory DSP, które istotnie zwiększają szybkość wykonywania niektórych operacji. Zastosowanie układów ASIC spowodowałoby, że wprowadzanie jakichkolwiek zmian ich funkcji w najbliższych latach byłoby nierealne bo wymagałoby kosztownej wymiany infrastruktury” wyjaśnia Doug Burger.

Funkcje Accelerated Networking są już dostępne w instancjach chmury Azure w USA oraz Europie Zachodniej. Obecnie są zgodne tylko z oprogramowaniem Windows Server 2012 R2 i Windows Server 2016, ale wkrótce mają współpracować również z serwerami linuksowymi.

Microsoft zamierza stopniowo rozszerzać infrastrukturę FPGA i zakres jej zastosowań na różne typy maszyn wirtualnych i systemów operacyjnych. Na razie skorzystanie z akceleracji jest opcją, ale wkrótce ma to być standardowa funkcja oferowana wszystkim użytkownikom chmury Azure.

Karty FPGA mają też zostać przystosowane do akceleracji aplikacji uczenia maszynowego. “Odpowiednie oprogramowanie dla FPGA współpracujące z usługami Microsoft Cognitive Services jest już przygotowywane” mówi Doug Burger.

W przyszłości użytkownicy chmury Azure będą mieli możliwości wykorzystania własnego oprogramowania do akceleracji aplikacji uruchamianych w chmurze Azure.

Największym problemem dla Microsoft jest obecnie optymalizacja i dopasowanie mocy przetwarzania procesorów serwerowych CPU i FPGA. Choć w centrach danych zainstalowanych zostało dziesiątki tysięcy kart FPGA, ale to może być niewystarczające, gdy wzrośnie liczba użytkowników wykorzystujących tą technologię, uważa Doug Burger.

“Wydajność procesorów serwerowych wciąż jest i będzie ważna, bo muszą one obsłużyć wszystkie aplikacje i usługi oferowane w chmurze. Ale jestem przekonany, że na możliwości skalowania dostępnej mocy przetwarzania największy, przełomowy wpływ będą miały inne technologie niż architektura układów CPU” uważa Doug Burger.

Nowe funkcje i mechanizmy bezpieczeństwa

Jeśli chodzi o bezpieczeństwo, to podczas konferencji Microsoft Ignite, firma ogłosiła wprowadzenie zestawu róznych nowych funkcji, technologii i rozwiązań.

Są to Windows Defender Application Guard dla przeglądarki Edge, integracja Windows Defender Advanced Threat Protection z Office 365 Advanced Threat Protection umożliwiająca wymianę informacji i współdzielenie inteligentnych mechanizmów zabezpieczeń między tymi usługami oraz wprowadzenie nowej usługi Secure Productive Enterprise, która jest zestawem zaawansowanych narzędzi bezpieczeństwa obsługującym Office, Windows oraz pakiety Microsoft Enterprise Mobility i Security.

Kontenery w przeglądarce Edge

Największe zagrożenie dla bezpieczeństwa stwarzają przeglądarki internetowe. Według Microsoft, 90% niebezpiecznych, phishingowych wiadomości e-mail wykorzystuje właśnie przeglądarki do inicjacji groźnych ataków.

Dlatego też Microsoft wprowadził do przeglądarki Edge nową funkcję Windows Defender Application Guard, która izoluje tą aplikację od plików i procesów działających w komputerze i zapobiega możliwości zainfekowania go przez szkodliwe kody. Funkcja ta działa w komputerach biznesowych wykorzystujących mechanizmy wirtualizacyjne. Jej wprowadzenie ma zwiększyć atrakcyjność przeglądarki Edge (a także systemu Windows 10) przede wszystkim w firmach i instytucjach.

Jak działa Windows Defender Application Guard

Gdy użytkownik nawiguje po internecie i otwiera niezaufane strony WWW, przeglądarka uruchamia je w zwirtualizowanych kontenerach obsługiwanych przez Windows 10. Jeśli na przeglądanej stronie znajduje się szkodliwy kod jest on uruchamiany w kontenerze odizolowanym od systemu operacyjnego, aplikacji i plików. Po zakończeniu sesji kontener jest kasowany wraz z jego zawartością, a więc potencjalne szkodliwe kody również są usuwane.

Windows Defender Application Guard wykorzystuje sprzętowe funkcje wprowadzone w nowych modelach procesorów Intela i AMD, co oznacza, że nie będzie działać w starszych modelach komputerów PC. Za znacznie większe bezpieczeństwo trzeba też zapłacić pewną cenę.

Kasowanie zawartości kontenerów powoduje, że wszystkie ciasteczka i pliki tymczasowe są usuwane. Nawet jeśli użytkownik wybierze opcję zapamiętania danych umożliwiających dostęp do witryny to po ponownym jej otwarciu będzie musiał znów je ręcznie wpisać. Oprócz tego uruchamianie kontenerów spowoduje zmniejszenie wydajności przeglądarki, ale na razie Microsoft nie podaje szczegółów na ten temat.

Administratorzy IT mają możliwość tworzenia białych list zawierających wykaz stron WWW do których użytkownicy mają tradycyjny dostęp bez wykorzystywania zwirtualizowanych kontenerów.

Jak jednocześnie przyznają przedstawiciele Microsoft, funkcja Windows Defender Application Guard może być przydatna nie w każdej firmie lub organizacji. Jej adresatem są przede wszystkim przedsiębiorstwa w których bezpieczeństwo ma szczególne znaczenia, na przykład instytucje finansowe, rządowe, ochrona zdrowia lub wojsko.

Końcowa wersja oprogramowania nie jest jeszcze gotowa. Testy Windows Defender Application Guard w ramach programu Windows Insider mają rozpocząć się w najbliższych miesiącach, a premiera rynkowej wersji jest planowana na 2017 rok. Funkcja będzie dostępna dla użytkowników, którzy kupili subskrypcję Windows 10 Enterprise w wersji E3 lub E5.

Jak zapowiada Matt Barlow, wiceprezes działu Windows Marketing, technologia konteneryzacji po raz pierwszy zastosowana w Edge w niedalekiej przyszłości zostanie rozszerzona również na inne aplikacje.

Nowe funkcje w Office 365

Microsoft zaprezentował też zestaw ulepszeń i nowych funkcji wprowadzonych do pakietu aplikacji Office 365.

Nowa funkcja Tap w Wordzie i Outlooku ułatwia przenoszenie informacji między dokumentami Word, Excel, PowerPoint i wstawianie odpowiednich fragmentów do wiadomości email. Wykorzystuje ona mechanizmy inteligentnego przypominania/sugerowania jakie treści dotyczące kontekstu tworzonego dokumentu mogą zostać skopiowane z innych firmowych plików do których użytkownik ma dostęp.

QuickStarter to mechanizm wprowadzony do PowerPoint oraz Sway, który na podstawie tematu nowej prezentacji wykorzystując informacje dostarczane przez wyszukiwarkę Bing automatycznie wyświetla zestaw wzorców oraz początkowych slajdów, które użytkownik może wykorzystać i dzięki temu szybciej opracować ostateczny dokument. W przypadku Sway funkcja ta jest już dostępna, a do desktopowej wersji PowerPoint dla Windows 10 zostanie wprowadzona nieco później w tym roku.

Kolejnym przykładem jest funkcja Maps in Excel, która ułatwia i przyspiesza tworzenie profesjonalnych prezentacji przedstawiających geograficzny rozkład danych zapisanych w arkuszu przy wykorzystaniu usługi Bing Maps.

Wsparcie dla chmur hybrydowych

Microsoft ogłosił, że oprogramowanie Windows Server 2016 i System Center 2016 jest dostępne od 1 października 2016 roku.

Jednocześnie firma zaprezentowała nowe mechanizmy wprowadzone do chmury Azure, które ułatwiają monitorowanie działania oprogramowania zainstalowanego w chmurze publicznej oraz firmowym centrum danych przy wykorzystaniu jednej konsoli administracyjnej Azure zintegrowanej z Microsoft Operations Management Suite.

Microsoft udostępnił też wersję przeglądową Azure Stack (Technical Preview) dla wszystkich zainteresowanych użytkowników (pierwsza była dostępna tylko dla wybranego kręgu specjalistów).

Wszystkie te ogłoszenia mają wyraźnie na celu ułatwienie budowy chmur hybrydowych wykorzystujących oprogramowanie i usługi oferowane przez Microsoft. Jest to jedna z rzeczy, która pozwala odróżnić ofertę firmy od tego co proponują najwięksi jej konkurenci na rynku usług chmurowych Amazon i Google.

Oprócz tego, zapowiadając premierę Windows Server 2016, Microsoft ogłosił, że użytkownicy tego oprogramowania będą mogli bez dodatkowych kosztów korzystać z Docker Engine czyli mechanizmów pozwalających na tworzenie kontenerów.

Współpraca Microsoft z Adobe

Podczas prezentacji rozpoczynającej konferencję Ignite, Microsoft CEO Satya Nadella ogłosił, że firma Adobe zdecydowała się na wykorzystanie chmury Azure IaaS do obsługi 3 najbardziej popularnych aplikacji oferowanych jako usługa SaaS (Software as a Service).

Porozumienie dotyczy usług Adobe Marketing Cloud, Adobe Creative Cloud oraz Adobe Document Cloud dla których Azure ma być preferowaną platformą chmurową.

Należy jednak zauważyć, że Adobe nie zrezygnował z chmury AWS i w dalszym ciągu zamierza równolegle korzystać z usług Amazon.

Współpraca ma też charakter dwustronny, bo jednocześnie Microsoft zobowiązał się, że w przypadku oprogramowania Dynamics 365 preferowaną usługą marketingową będzie Adobe Marketing Cloud.

Dane wykorzystywane przez aplikacje Dynamics 365 oraz Adobe Marketing Cloud mają zostać zintegrowane tak by mogłyby być obsługiwane przez zaawansowane mechanizmy analityczne, uczenia maszynowego oraz oprogramowanie AI (sztuczna inteligencja).

Microsoft CEO Satya Nadella oraz Adobe CEO Shantanu Narayen prezentują porozumienie dotyczące współpracy między firmami i planów wykorzystania platformy Azure przez Adobe.

Microsoft CEO Satya Nadella oraz Adobe CEO Shantanu Narayen prezentują porozumienie dotyczące współpracy między firmami i planów wykorzystania platformy Azure przez Adobe.

.Net Standard 2.0 czyli jednolity zestaw API na różne platformy

Deweloperzy wykorzystujący platformę .Net będą mogli tworzyć wieloplatformowe oprogramowanie stosując jednolity zestaw bibliotek API .Net Standard integrujący wszystkie trzy główne warianty tej platformy .Net Framework, .Net Core i Xamarin.

Obecnie trwają prace nad wersją .Net Standard 2.0, która będzie zawierać biblioteki API rozszerzone o funkcje XML, serializacji, obsługi sieci, operacji IO i zarządzania wątkami.

.Net Standard ma zastąpić i rozszerzyć funkcjonalność Microsoft Portable Class Libraries w roli narzędzia do tworzenia wieloplatformowych bibliotek API, które ułatwią tworzenie aplikacji działających w środowiskach komputerów PC, mobilnych i chmurowych.

Narzędzia .Net Standard 2.0 mają się pojawić na rynku wraz z nową wersją Visual Studio określaną obecnie kodowo jako Visual Studio 15. Dokładna data premiery tego oprogramowania nie została jeszcze ujawniona.

Microsoft planuje publikację zaktualizowanych wersji .Net Core, Xamarin i UWP (Universal Windows Platform) zawierających biblioteki API zgodne z .Net Standard 2.0. Natomiast najnowsza wersja .Net Framework 4.6.1 już je zawiera.