ASP.NETAzureHosting

Jak skutecznie wdrożyć aplikację do chmury Microsoft Azure?

Dzisiejszy wpis chciałbym poświęcić na pokazanie jak proste jest wdrożenie aplikacji do chmury Microsoft Azure. Oczywiście przykład zostanie oparty o mój projekt na Daj Się Poznać, czyli todo.team.

Logowanie do Microsoft Azure

Moją przygodę rozpocząłem od odwiedzin portalu Azure. Na pierwszy rzut oka panel wydaje się być prosty, jednak po krótkiej analizie bocznego menu okazuję się, że chmura Azure to nie taki łatwy kawałek chleba – przynajmniej dla osoby, która styczność z nią ma po raz pierwszy.

Panel startowy portalu Microsoft Azure
Panel startowy portalu Microsoft Azure

Tworzenie nowej aplikacji

Postanowiłem umieścić w chmurze całą aplikację, wraz z bazą danych Microsoft SQL.

Tworzenie nowej aplikacji w Microsoft Azure
Tworzenie nowej aplikacji w Microsoft Azure

Wybór usługi

Z menu po lewej wybrałem „App Services” (1), w nowo otwartym panelu kliknąłem na „Dodaj” (2), a następnie z dostępnych możliwości wybrałem „Aplikacja sieci Web + baza” (3).

Nowe okno, które się pojawiło poinformowało mnie wskazanej usłudze. Ogółem rzecz biorąc, spełnia moje najskrytsze – na chwilę obecną – wymagania.

  • Najszybsze tworzenie aplikacji działających w chmurze,
  • Szybkie udostępnianie i wdrażanie,
  • Bezpieczna platforma z automatycznym skalowaniem,
  • Wygoda dla deweloperów korzystających z programu Visual Studio,
  • Otwartość i elastyczność dostępne dla każdego,
  • Monitorowanie, alerty i automatyczne skalowanie.

Wstępna konfiguracja

Konfigurację rozpocząłem od nadania nazwy mojej aplikacji oraz wyboru subskrypcji. Następnie przypisałem ją do nowo utworzonej grupy zasobów.

Wstępna konfiguracja aplikacji
Wstępna konfiguracja aplikacji

Następnie musiałem określić moją lokalizację.

Wybór planu i lokalizacji
Wybór planu i lokalizacji

Warstwa cenowa

Ważnym kryterium jest warstwa cenowa. Zakładałem, że potrzebuję możliwości podpięcia własnej, niestandardowej domeny. Dostęp do podstawowych funkcji oraz 10GB magazynu danych na start wystarczą również. Adekwatna do potrzeb stała się więc podstawowa warstwa cenowa B1.

Podstawowa warstwa cenowa w Microsoft Azure
Podstawowa warstwa cenowa w Microsoft Azure

Baza danych

Konfiguracja bazy odbyła się bezproblemowo.

Baza Danych w Microsoft Azure
Baza Danych w Microsoft Azure

W tym przypadku również należało określić próg cenowy, adekwatny do moich potrzeb. Postanowiłem skorzystać z podstawowej opcji.

Warstwa cenowa dla bazy danych
Warstwa cenowa dla bazy danych

Kiedy wszystkie pola miałem uzupełnione, nastąpiło tworzenie aplikacji.

Wdrażanie
Wdrażanie

Po krótkim czasie – gotowe!

Aplikacja utworzona
Aplikacja utworzona

Teraz dopiero zaczęło się najlepsze! Czas powołać do życia w globalnej sieci todo.team.

Dostęp przez FTP

Dodam na początku, że Azure wygenerowało mi specjalny dostęp przez FTP. Dzięki temu mogłem zajrzeć do magazynu mojej aplikacji.

Azure przez FTP
Azure przez FTP
Pliki uploadują się
Pliki uploadują się

Wdrażanie aplikacji

Deploy przez GitHub

Mógłbym w zasadzie przygotować skompilowane pliki mojej aplikacji i wysłać je na serwer. Nie w tym jednak rzecz. Chciałbym dzisiaj pokazać, jak wykonałem wdrożenie za pomocą repozytorium na GitHub. Można to zrobić, wykorzystując jeszcze inne magazyny repozytoriów, ba – nawet przesyłając pliki na Dropboxa! Niestety, na dzień dzisiejszy nie ma jeszcze możliwości wdrożenia emacsem przez sendmail. Szkoda.

Nie mniej jednak – zaczynam kochać Azure :-)

Opcje wdrożenia do Microsoft Azure
Opcje wdrożenia do Microsoft Azure

Nie chcąc tracić czasu, przystąpiłem do konfiguracji źródła kodu. Na początku musiałem autoryzować dostęp do GitHuba.

Zgoda na autoryzację do GitHub
Zgoda na autoryzację do GitHub

Portal Azure połączył się z moim kontem, po czym mogłem wskazać repozytorium i jego gałąź, którą ma śledzić.

Wybór projektu z GitGub
Wybór projektu z GitGub

Po zatwierdzeniu nic więcej nie musiałem robić. Operacja trwała i trwała…

Wdrożenie z repozytorium GitHub
Wdrożenie z repozytorium GitHub

Ooops! A co to?

Niepowodzenie kompilacji
Niepowodzenie kompilacji

Niestety kompilacja nie powiodła się.

Naprawa błędów

Na szczęście jest dziennik błędów. Wystarczy kliknąć w powyższe okienko.

Pierwszy błąd był mi już znany. Chodziło o konflikt różnych wersji zależności.

Drugi odnosił się do plików, których nie widział kompilator. Chyba za bardzo bawiłem się plikiem .gitignore.

Dziennik aktywności
Dziennik aktywności

Po wyeliminowaniu błędów otrzymałem informację, że wdrożenie zostało ukończone pomyślnie.

Wdrożenie zakończone sukcesem
Wdrożenie zakończone sukcesem

Efekt jest następujący. Moja aplikacja jest już dostępna w sieci.

Aplikacja działa w chmurze Azure
Aplikacja działa w chmurze Azure

Podsumowanie

Poszło gładko. Myślę, że Azure spełnia swoją rolę perfekcyjnie, jeśli mamy w zasobach jakiś budżet przeznaczony na utrzymywanie aplikacji. Za dość rozsądne pieniądze otrzymujemy pewność i stabilność działania. Czego może chcieć więcej programista?

Jak na razie aplikacja ma wyłączoną rejestrację. Kończę wdrażać pewne poprawki i za jakiś czas odezwę się do Was z prośbą o testy.

Kolejny wpis na blogu dotyczył będzie po raz kolejny chmury Microsoft Azure. Pokażę Ci możliwość podłączenia własnej, niestandardowej domeny pod swoje konto.

Tagi:AzureDaj Się Poznać 2017deployMicrosoftsqlWdrożenieWEB App

Brak komentarzy

Napisz komentarz jako pierwszy!

Zostaw odpowiedź