Logowanie

Ukryj panel

Strona główna

Content on this page requires a newer version of Adobe Flash Player.

Zawartosc tej strony wymaga nowej wersji Adobe Flash Player.

Get Adobe Flash player

Reklama
Logowanie
Nick :
Hasło :
 Zapisz
Rejestracja
Zgubiłeś hasło ?

Kamerki internetowe.

Panel sterowania
MRT Net
Aktualności
Artykuły
Archiwum
Czas na narty !
Czas na rower !
Zwiedzaj Kraków
Plikownia
Linki
Kalendarz
Galeria
Radio Online
Gry Online
Twój YouTube!
Ankiety
Newsletter
RSS
Księga gości
Wyszukiwarka
Kontakt

Reklama

Content on this page requires a newer version of Adobe Flash Player.

Zawartosc tej strony wymaga nowej wersji Adobe Flash Player.

Get Adobe Flash player


40% zniżki karnet w PKL.

Partnerzy

Wyszukiwarka
Zaawansowane szukanie

Chmura Tag'ów
Microsoft Programy Samsung Wave Android Bada Aktualności Linki Nowości Informacje Fotografia T-Mobile Technologie Adobe Specyfikacje Galaxy Premiera Zapowiedzi Intel Nvidia Kraków Architektura Biotechnologia Chip System Nawigacja Galileo Gps Windows Linux Galeria Software Hardware Top 500 Superkomputery Serwer Wirtualizacja Flash Pamięci Internet Plikownia YouTube Gry Radio Amd Panasonic Nokia Nikon Sony OS Cloud Computing Red Hat Enterprise Toshiba LTE 4G Lockheed Martin Motorola IBM Internet Explorer 11 Grafen Wirtualna Mapa Krakowa Lamusownia Kraków DVB-T2 TeamViewer 13.0 Fifa 2018 Trasy rowerowe Pro Evolution Soccer 2018 Mozilla Firefox Pity 2017 Rakiety NSM Windows 8 Sony Xperia Tablet S LEXNET Samsung Galaxy S9 Dworzec Główny Kraków PKP Windows Phone Windows 10 Microsoft Lumia 950

Azure dla programistów: jakie możliwości daje deweloperom chmura?



Developers! Developers! Developers! Developers! w wykonaniu Steve'a Ballmera doskonale oddaje filozofię rozwoju Azure, która od początku istnienia chmury Microsoft skupia się na dostarczaniu usług PaaS. Programiści mogą je traktować jak klocki Lego do budowy aplikacji. Przykładami takich klocków są usługi do hostowania aplikacji webowych, bazy danych, które będą poruszone w artykule. Dodatkowo istnieją usługi Azure wspierające pracę deweloperów, takie jak DevTest Lab, odpowiedzialne za automatyzację tworzenia maszyn wirtualnych.

Maszyny wirtualne dla deweloperów

W codziennej pracy dewelopera często wykorzystuje się maszyny wirtualne. Używa się ich jako środowisko pracy, do testów aplikacji czy przetestowania nowej konfiguracji systemu operacyjnego lub tworzonego rozwiązania. Azure posiada usługę DevTest Lab, która ułatwia i rozszerza możliwości używania maszyn wirtualnych przez programistów. Pierwszym ułatwieniem jest automatyczne wyłączanie i włączanie maszyn wirtualnych na podstawie harmonogramu. W Azure rozliczanie pracy odbywa się minutowo, a maszyna używana w celach deweloperskich i testowych zazwyczaj nie musi pracować 24 godziny przez 7 dni w tygodniu. W przypadku działania od 9 do 18, od poniedziałku do piątku, płacimy jedynie 25% kosztów generowanych przez maszynę pracującą cały czas. Innym ułatwieniem są automatycznie instalowane aplikacje oraz skrypty uruchomione w trakcie tworzenia maszyny wirtualnej. Skrypty i aplikacje w DevTest Lab określa się mianem Artefaktów. Aplikacje można wybrać z predefiniowanej listy lub - jeśli jest ona niewystarczająca - stworzyć własne repozytorium.

Aby skonfigurować DevTest Lab, konieczne jest stworzenie usługi. Można to zrobić na wiele sposobów, ale najprostszą drogą jest portal.azure.com. Po zalogowaniu się na stronie, należy przejść do przycisku Nowy (lewy górny róg) i wpisać w wyszukiwarkę DevTest Lab, a następnie wybrać DevTest Lab i – dalej – Utwórz.

W nowym panelu konfiguracji usługi podajemy nazwę usługi DevTest Lab oraz region, w którym ją tworzymy. Dodatkowo w pozycji Automatyczne zamykanie można skonfigurować wyłączanie maszyn wirtualnych o wyznaczonej porze. Można też ustawić wysłanie powiadomienia przed wyłączaniem - przez webhook do innej usługi, np. integrację z popularnym Slackiem. Po wypełnieniu wszystkich parametrów klikamy Utwórz.

Kreator tworzenia nowej maszyny wirtualnej znajduje się w samej usłudze DevTest Lab, uruchamiania się go za pomocą przycisku Dodaj.

Pierwszym krokiem w tworzeniu maszyny wirtualnej jest wybór szablonu (bazy), z jakiej zostanie stworzona. W momencie pisania artykułu jest 170 dostępnych szablonów z różnymi systemami operacyjnymi i preinstalowanym oprogramowaniem. Do wyboru są między innymi maszyny z Windows Server, Ubuntu, FreeBSD, RedHat, Centos, Oracle Linux, Debian czy CoreOS. Po wybraniu bazy należy podać nazwę maszyny wirtualnej, nazwę użytkownika, hasło (w przypadku maszyn z Linuksem może być to również klucz SSH). Dodatkowo wybiera się rozmiar maszyny wirtualnej oraz typ dysku (HDD lub SSD). Klikając na Utwórz rozpocznie się proces wdrażania maszyny wirtualnej. Opcjonalnie przed utworzeniem można wybrać artefakty do zainstalowania na tworzonej maszynie lub zaawansowane ustawienia.

Dodawanie artefaktów polega na wybraniu z listy elementu, który ma zostać zainstalowany. Artefakty są pobierane z publicznego repozytorium Microsoft utrzymywanego w repozytorium GitHub. Istnieje możliwość dodania własnych artefaktów do publicznego repozytorium korzystając z Pull requests, czyli publicznego wysłania propozycji zmiany. Przykładem takiego zewnętrznego artefaktu na liście jest AWS CLI.

Dodatkowo w kreatorze znajdują się zaawansowane opcje konfiguracji. Dwie z nich są szczególnie pomocne. Pierwszą jest automatyczne kasowanie maszyny wirtualnej po wyznaczonej dacie. To przydatne zwłaszcza w sytuacjach, w których maszyna jest tworzona na tak zwane 5 minut, zwykle do sprawdzenia nowej funkcji lub sposobu konfiguracji usługi. Pozwala to na utrzymanie porządku i kosztów w ryzach, bez konieczności pamiętania o sprzątaniu po testach. Drugą opcją jest tworzenie automatycznie wielu takich samych maszyn wirtualnych na podstawie z kreatora. Wystarczy podać, ile maszyn wirtualnych ma zostać wykreowanych. Sprawdza się to w sytuacjach, gdy mamy środowisko złożone z wielu serwerów albo kiedy prowadzimy warsztaty i chcemy mieć spójne środowisko dla każdego z kursantów.

Po utworzeniu w konfiguracji maszyny można sprawdzić jej działanie, adres IP oraz nazwę DNS czy włączyć lub wyłączyć maszynę. Dodatkowo dla maszyn wirtualnych można wygenerować plik połączenia pulpitu zdalnego.

Dodatkowo w konfiguracji całego DevTest Lab można ustawić różnego rodzaju polityki wymuszane na użytkownikach DevTest Lab. Popularne ustawienia to dozwolone rozmiary maszyn do wykorzystania, maksymalna liczba maszyn wirtualnych per użytkownik czy w całym laboratorium oraz wymuszone harmonogramy wyłączania i włączania maszyn wirtualnych.

Jak hostować aplikacje webowe w chmurze?

Jednym z najpopularniejszych scenariuszy użycia serwerów w Internecie jest hostowanie aplikacji przeglądarkowych. W Microsoft Azure możemy to zrobić na kilka sposobów, ale najwygodniejszym jest wykorzystanie platformy jako usługi (PaaS) - Azure Web App. Usługa nie wymaga przygotowania maszyny wirtualnej - wystarczy wgrać swoją aplikację, wprowadzić ustawienia i udostępniać ją użytkownikom. W praktyce Azure Web App to automatycznie zarządzane farmy maszyn wirtualnych z Windows Server i serwerem IIS lub Debiana z serwerem Apache. W dużym uproszczeniu można to porównać do bardzo zaawansowanego hostingu, ale z większą ilością funkcji.

Azure Web Apps wspiera wiele języków programowania takich jak: .NET, Java, PHP, Phyton, Go i node.js. Dodatkowo wersja Web Apps na Debianie pozwala korzystać z kontenerów Dockerowych. Pozwala to na użycie dowolnego języka, który działa poprawnie na Linuksie w kontenerze.

Tworzenie – tak jak w przypadku DevTest Lab – wymaga zalogowania się do portal.azure.com. Następnie należy wybrać przycisk Nowy (lewy górny róg) i wpisać w wyszukiwarkę Web App, wybrać Aplikacja sieci Web i – dalej – Utwórz. Można też skorzystać z innych szablonów, które oprócz Web App utworzą również bazę danych (SQL Database, MySQL lub PostgreSQL).

Przy tworzeniu należy podać nazwę aplikacji. Jest to publiczna nazwa w domenie azurewebsites.net, ale po stworzeniu można użyć własnej domeny. Dla domeny azurewebsites.net Web App ma skonfigurowany certyfikat SSL. Dodatkowo wybieramy Plan App Servcie. Jest to dedykowana pula maszyn dla aplikacji. Jeden App Service Plan może współdzielić infrastrukturę dla wielu Web App. Domyślnie tworzony App Service Plan jest bezpłatny i pozwala utrzymywać do 10 Web Apps. Ostatnią opcją w kreatorze jest wybór integracji z usługą Application Insight. Application Insight to narzędzie do monitoringu i analizy wydajności aplikacji od strony serwerowej jak i użytkownika.

Główny ekran Web App pokazuje aktualne podstawowe ustawienia, jak adres aplikacji, adres serwerów FTP/FTPS. Daje również możliwości zatrzymania, uruchomienia ponownie lub pobrania profilu publikowania, który zawiera techniczne konto do połączenia się między innymi serwerem FTP.

Do wdrażania aplikacji oprócz FTP można wykorzystać bardziej zaawansowane opcje, takie jak Visual Studio Team Servcies, OneDrive, Lokalne repozytorium Git, GitHub, Bitbucket, Dropbox. Inną możliwą opcją wdrażania jest integracja z rozwiązaniami Continuous Integration/Continuous Delivery, np. Jenkins. Konfiguracja Lokalnego repozytorium Git odbywa się poprzez wybranie go jako źródła w Opcjach Wdrożenia.

Wgrywanie aplikacji do Lokalnego repozytorium Git odbywa się poprzez sklonowanie repozytorium na dysk z wykorzystaniem adresu URL klonowania podanego na pierwszej stronie konfiguracji Web App. Publikacja nowej wersji aplikacji polega na wgraniu jej do repozytorium na lokalnym dysku, a następnie wykonaniu polecenia git commit (zatwierdzeniu zmian w repozytorium) i wypchnięciu nowej wersji plików do Web App za pomocą polecenia git push.

Jedną z zalet wykorzystania repozytorium Git jest możliwość przełączania się pomiędzy wersjami za pomocą kilku kliknięć.

Inną istotną opcją jest skalowanie wydajności Web App za pomocą zwiększania rozmiaru (pionowo) lub dodanie kolejnych serwerów (poziome). Zwiększanie rozmiaru odbywa się poprzez wybór większego planu i restart aplikacji.

Skalowanie poziome odbywa się za pomocą ręcznego ustalenia liczby instancji lub - idąc dalej, w bardziej zaawansowane scenariusze, takie jak automatyczne dodawanie lub usuwanie serwerów - na podstawie obciążenia aplikacji.

Następną przydatną opcją w Web App jest Uwierzytelnianie/autoryzacja na poziomie usługi. Pozwala to na uwierzytelnianie użytkownika za pomocą różnych zewnętrznych usług, takich jak konto Facebook, Google czy za pośrednictwem Office 365 (Azure Active Directory).

DROP DATABASE DB_01;

Polecenie DROP DATABASE to według popularnego jakiś czas temu filmu o stażyście najszybszy sposób wdrożenia bazy typu NoSQL. Azure posiada równie szybkie do wdrożenia bazy NoSQL, klasyczne bazy relacyjne czy rozwiązania do przechowywanie danych typu Big Data.

Z baz relacyjnych dostępnych jako usługa na Microsoft Azure, możemy wyróżnić usługi zbudowane na trzech silnikach: SQL Database (bazujące na SQL Server), MySQL oraz PostgreSQL. Wszystkie trzy cechuje to, że nie trzeba zarządzać w żaden sposób maszyną na której są uruchomione, mają automatycznie skonfigurowane backupy z 35 dniowym czasem retencji (plany typu Standard i wyżej), lepsze SLA niż maszyna wirtualna czy automatyczne aktualizacje wykonywane za administratora.

Tworzenie - tak jak w poprzednich przypadkach - zaczyna się od zalogowania się do portal.azure.com, przejścia do przycisku Nowy (lewy górny róg) i wpisania w wyszukiwarkę MySQL, następnie należy wybrać Usługa Azure Database for MySQL i – dalej – Utwórz.

Kreator tworzenia nowej instancji MySQL należy wypełnić wymaganymi parametrami, takimi jak nazwa serwera, login administratora i hasło, w jakim regionie ma zostać utworzona instancja czy wersja MySQL i wydajność serwera.

W głównym panelu usługi możemy sprawdzić podstawowe parametry serwera, takie jak wersja, adres serwera, nazwa głównego administratora, aktualną utylizację instancji czy przywrócić dane z kopii zapasowej.

Dostępna konfiguracja samej instancji składa się z kliku elementów. Pierwszym z nich jest zapora sieciowa. Domyślnie przyjmuje ona tylko połączenia z innych usług Azure. Odblokowanie ruchu dla innych adresów odbywa się w prosty sposób, można to zrobić klikając Dodaj mój adres IP lub wprowadzając zakres adresów IP, dla których ma zostać ruch do instancji. Dodatkowo domyślna konfiguracja MySQL w Azure wymusza szyfrowane połączenia do MySQL, ale można to wyłączyć.

Kolejnym elementem konfiguracji jest panel parametrów serwera. Jest to odpowiednik pliku konfiguracyjnego, przez który edytuje się konfigurację serwera jeśli zarządzamy nim samodzielnie.

Funkcją wartą uwagi jest też sposób odtwarzania bazy danych. Przy przywróceniu bazy danych należy wybrać konkretną datę wraz z godziną, z której ma być przywrócona kopia zapasowa oraz podać nową nazwę serwera i kliknąć OK. Na tym polega przywrócenie kopii zapasowej.

Reszta użycia bazy MySQL niczym nie różni się od takiej, którą można zainstalować na własnym serwerze.

Przykładem baz NoSQL jest Azure Cosmos DB. Azure Cosmos DB powstała od podstaw z myślą o dystrybucji globalnej i skalowaniu w poziomie. Oferuje gotową do użycia dystrybucję globalną w dowolnej liczbie regionów oraz skalowanie i replikowanie danych. Cosmos DB zostało stworzone przez Microsoft na potrzeby wewnętrzne już w 2010 roku do obsługi petabajtów danych wytwarzanych między innymi przez usługi związane z Bing.

Samo Cosmos DB to dokumentowa baza danych składająca pojedyncze rekordy w postaci JSON, które nie posiadają sztywnego schematu jak w przypadku bazy relacyjnej. Cosmo DB posiada dwie unikalne cechy na tle innych chmurowych baz NoSQL. Pierwszym jest umowa SLA, która oprócz dostępności definiuje też przepustowość, opóźnienia oraz spójność danych w zależności od trybu sesji. Drugą cechą jest sposób dostępu do danych. Microsoft oferuje 4 tryby dostępu:

natywny protokół SQL poprzez API Http Rest,
typu klucz wartość również przez API Http Rest,
natywne API zgodne z MongoDB
Gremlin (grafowy język zapytań)


Zgodność z API MongoDB pozwala w łatwy sposób użyć Cosmo DB zamiast MongoDB czy uzyskać przenaszalność aplikacji.

Tworzenie nowej instancji Cosmo DB sprowadza się do podania nazwy usługi, wyboru API dostępowego oraz regionu podstawowego, w którym zostanie stworzona.

Najciekawszą funkcją Cosmo DB jest jej replikacja pomiędzy inne regiony Azure, które mogą przechowywać aktualne kopie bazy tylko do odczytu. Pozwala to na tworzenie globalnie dostępnych aplikacji z szybkim dostępem do danych. Sama konfiguracja replikacji polega na przejściu do panelu replikacji, następnie wybrania nowego regionu z mapy, do którego mają być replikowane dane i kliknięciu Zapisz. Dodatkowo jeśli posiadamy już replikę danych w innym regionie to można też zmienić region główny za pomocą ręcznego przepięcia trybu Failover.

W przypadku, gdy chcemy przeprowadzić migrację do NoSQL w sposób lepszy niż DROP DATABASE, dla Cosmo DB dostępne jest narzędzie do automatycznej migracji danych. Dane źródłowe mogą pochodzić z plików JSON, MongoDB, eksportu bazy MongoDB, SQL Server, plików CSV czy Amazon DynamoDB.

Samo narzędzie posiada kreator graficzny, który przeprowadza użytkownika przez migrację oraz w przypadku bardziej zaawansowanych migracji czy też automatyzacji dostępna jest wersja działając z linii poleceń.

Podsumowanie

Przedstawione usługi to tylko drobny wycinek dostępnych możliwości Azure dla budowy aplikacji i wsparcia programistów.

W następnym artykule zostanie przedstawiony sposób budowy aplikacji do przetwarzania i raportowania danych na przykładzie otwartych danych z transakcji na brytyjskim rynku nieruchomości.

Korzystając z okazji, zachęcam do udziału w konkursie Upoluj serwer2, w ramach którego powstał ten artykuł.

Jeśli macie pytania na temat Azure lub interesują Was inne kwestie z nim związane, zapraszam do pozostawienia komentarza.



źródło: microsoft


Jeśli chcesz otrzymywać wyczerpujące informacje z serwisu MRT Net, zaprenumeruj nasz Newsletter





Autor Komentarz
Brak komentarzy w bazie
Zegar

Pogoda



Kurs Walut
Money.pl - Serwis Finansowy nr 1
Kursy walut
NBP 2020-01-29
USD 3,8871 +0,07%
EUR 4,2766 -0,07%
CHF 3,9873 -0,55%
GBP 5,0584 -0,06%
Wspierane przez Money.pl

Aktualności
 · Ericsson zbuduje badawczą sieć 5G na Politechnice Łódzkiej.
Napisane przez Piotr
( 29.01.2020 06:38 )

 · Netflix oszczędza miliony dzięki offshore.
Napisane przez Piotr
( 28.01.2020 07:36 )

 · Bateria ładowana w elektrycznym aucie w 10 minut.
Napisane przez Piotr
( 27.01.2020 06:32 )

 · "Kraina cudów", "Rocketman", "Men in Black: International" - luty w HBO i Cinemax
Napisane przez Piotr
( 24.01.2020 04:23 )

 · 4Mobility w Rzeszowie z elektrycznym car sharingiem
Napisane przez Piotr
( 23.01.2020 08:28 )

 · Startuje nowa usługa dla graczy Xbox Console Streaming. Graj w gry Xbox One na telefonie i tablecie.
Napisane przez Piotr
( 22.01.2020 07:21 )


Ankiety
Czy w najbliższym czasie zamierzasz zainstalować Windows 10?
Czy Windows 10 okaże się ?
 Tak
 Nie
 Zostanę przy obecnym systemie

 
Inne sondy

Subskrybuj RSS
[RSS]

Jeżeli chcesz na bieżąco śledzić najważniejsze wydarzenia, wykorzystaj możliwość kanałów informacyjnych RSS.
Jak subskrybować kanał RSS?


Galeria
Go Pro 8

Artykuły
1 . Niemal 900 zabiegów z udziałem robotów da Vinci w Polsce w 2019 r.
(19.01.2020)
2 . Ekspert: autonomiczne samochody na drogach to tylko kwestia czasu
(27.12.2019)
3 . Szkielet i złoto w kurhanie sprzed ponad 2,5 lat na Syberii odkryli archeolodzy z Krakowa.
(27.12.2019)
4 . Porto - posmakuj wina i krewetek w krainie Famavala.
(09.12.2019)
5 . NCBR: 100 mln zł na rozwój sektora gier
(20.11.2019)
6 . Gibraltar - mała Anglia w ciepłym klimacie
(04.11.2019)
7 . Poznań/ Budowa pierwszego polskiego aparatu do radioterapii śródoperacyjnej.
(20.10.2019)
8 . Co z tym 5G
(08.10.2019)
9 . Kraków: Do 2022 r. powstanie Centrum Innowacji oraz Badań Żywności
(26.09.2019)
10 . Bezpieczny świat mobilny.
(28.08.2019)

Popularne pliki
1 . PITy 2018
(18.02.2019)
2 . PITy 2017
(15.02.2018)
3 . TeamViewer 13.0
(15.02.2018)
4 . Google Chrome 64
(15.02.2018)
5 . Mozilla Firefox 58.0.2
(15.02.2018)
6 . TeamViewer 12.0
(27.04.2017)
7 . PITy 2016
(07.02.2017)
8 . PITy 2015
(26.03.2016)
9 . PITy 2014
(11.01.2015)
10 . PITy 2013
(09.03.2014)


^ Wróć do góry ^
Powered by MRT Net 2004-2020.