ARM + Visual studio. Jak ułatwić sobie życie

ARM + Visual studio. Jak ułatwić sobie życie

ARM(Azure Resource Manager) dla wielu to czarna magia, ale chcąc nie chcąc jest to wielkie ułatwianie dla użytkownika gdy potrzebuje w jednej chwili postawić kilkanaście usług. Wyobraźmy sobie sytuacje gdy pozyskujemy 2 nowych klientów na dwóch różnych kontynentach. Aplikacja jest dalej rozwijana ale już gotowa na tyle by udostępnić ją na produkcji. Każdy z tych klientów posiada wersję testową, produkcyjną serwera oraz dodatkowo musimy udostępnić serwer dla naszych developerów. W sumie daje nam to 5 instancji.  Najprostsza aplikacja to baza danych + aplikacja webowa. W naszym przykładzie użytkownik musiałby przy użyciu portalu 10 razy wyklinać powtarzający się element. A co jeżeli tych usług będzie 5? Czy chciałoby się komuś klikać 25 razy? I tutaj własnie z pomocą przychodzi ARM.

ARM to szablon w formie pliku json. Dzięki takiemu plikowi możemy przy pomocy PowerShell, VS Code, Visual Studio czy też VSTS postawić usługi które nas interesują. W tym wpisie zaprezentuję jak to zrobić za pomocą visual studio. Jeżeli jesteś zainteresowany zrobieniem tego samego przy użyciu VS Code zapraszam na tego bloga 🙂

Stwórzmy pierwszy szablon. VisualStudio 2017 > New Project > Installed > Visual C# > Cloud > AzureResourceGroup

Kolejny ekran to wybór szablony. MS jest podłączony z szablonami  github-a dzięki czemu mamy większą możliwość skorzystania z gotowych rozwiązań.

Wybierz Blank Template(Możesz wybrać WebApp + sql lecz wtedy będziesz miał wygenerowane więcej kodu który będzie trudniej zrozumieć). Visual bardzo ułatwia pracę ze względu na to że posiada JSON Outline(Jeżeli nie masz takiego okna możesz go wyszukać). Dzięki temu wiesz jakie masz dostępne parametry, usługi itp. Kolejnym plusem jest to, że gdy klikniesz 2 razy na jakiś parametry czy też zasoby, visual sam podświetli kawałek kodu który za niego odpowiada.

Skopiuj teraz do swojego projektu poniższy kod

[snippet slug=arm-sql-web lang=json]

-Parametry to nic innego jak zmienne które wpisujemy podczas deploy-u naszej aplikacji.  Jak można zauważyć część parametrów jest stała, użytkownik za pomocą wysuwanej listy wybiera konkretną wartość. Najlepiej się to sprawdza kiedy chcemy wybrać cennik czy też lokalziacje danej usługi(np. ServicePlanSkuName, SqlLocation).

-Variables. Tam akurat nic nie mamy. W tym miejscu wpisujemy wartości stałe których użytkownik nie może zmienić podczas deploy-u aplikacji.

-Resources. Tutaj  wpisujemy co chcemy stworzyć oraz nadajemy konkretne wartości takie jak nazwa, lokalizacja czy cena. Dla przykładu ServicePlan przyjmuje taką wartość :
“name”: “[parameters(‘ServicePlanName’)]”. Oznacza to, że nazwa tej usługi będzie zabrana bezpośrednio z parametrów. Każda z usług może mieć kolejne resources pod sobą. Nasz sql serwer podczas stawiania stworzy nam również bazę danych. Kiedy wczytasz się we wszystko co jest napisane zauważysz, że nie jest to takie straszne 🙂

Czas wrzucić naszą aplikację na Azure!

Kliknij prawym na Projekt > Deploy > New

Kolejnym krokiem jest uzupełnienie danych.

Jeżeli nie chcesz ponownie wpisywać hasła w konsoli PowerShell Zaznacz checboxa. Zapisz zmiany i deploy 🙂 W Output (jeżeli nie widzisz to wyszukaj przy pomocy wyszukiwarki visuala) zostaje zwrócona informacja czy deploy się powiódł oraz wyświetla ewentualne błędy. W pliku parameters.json zostały zapisane wszystkie wartości które podałeś podczas deploy.  Jeżeli nie chcesz by ktoś “włamał” Ci się do usług azure lepiej wyczyść ten folder. Stan deploy-u możesz sprawdzić w portalu

Jeżeli chcesz zobaczyć więcej moich szablonów arm zapraszam na github:)



Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *