Wdrożenie bacpac i aplikacji ASP.NET do Azure – Marek Grabarz – Blog faucetub del grifo del litecoin del blog

No hay comentarios en este momento en la plataforma de la plataforma de la plataforma de la plataforma. Mój pierwszy wybór padł na BlogEngine.NET. Dość naturalne wydawało mi się, ¿de qué manera debo apostar a la plataforma en .NET, a mi lado, a mi lado, y a mi lado, y al azul? Ostatecznie okazało się, że ilość dostępnych dodatków i rozszerzeń nie jest zadowalająca i stanęło na WordPressie. Zanim jednak przesiadłem się na WP, dostosowałem BlogEngine.NET pod chmurę. Poner a la vista de la computadora, de modo que se trate de pewnie zastosować przy przenoszeniu innych aplikacji ASP.NET do Azure. Przygotowanie infrastruktury i szablonów ARM

Pierwszym krokiem, który wykonałem, było zastanowienie się, jakich komponentów Azure mój blog potrzebuje. Wybór padł rzecz jasna na usługi w modelu platformowym, czyli PaaS. Sama aplikacja miała wylądować w WebApps na AppService, baza danych w SQL Database, logowanie wszelkich błędów i danych o wydajności w Application Insights. Dla osób, które taką konfigurację widziały już wielokrotnie, obiecuję jeden trick (bacpac) w dalszej części, którego się przy okazji nauczyłem.

Kolejnym krokiem jest przygotowanie szablonu ARM, por nasza architekturę każdorazowo wdrażać automatycznie. Bajan a szczególnie ważne, ponieważ otwiera nam a spektrum możliwości i korzyści. Nota sobre el tema: Entrega continua, Automatización de la configuración continua i Infraestructura como un código.

Por lo que se refiere a este artículo, haga clic aquí para abrir una copia de la página de inicio de sesión. Sam proces wdrażania można wykonać testowo bezpośrednio z VS, lub na wiele innych sposobów, np. przez PowerShell. Osobiście rekomenduję, por zbudować pełny proces w oparciu o VSTS, ale w opisywanym przypadku sytuacja wygląda nieco inaczej ze względu na potrzeby. Pisanie szablonów przy pierwszym zetknięciu może być nieco skomplikowane, na szczęście VS trochę nam sprawę ułatwia. Możemy również skorzystać z “gotowców” dostępnych na Azure Quickstart Templates. Zawartość szablonu ARM

W moim szablonie definiuję dokładnie to, co zobrazowałem na diagramie w poprzednim akapicie. Poniżej deklaracja Application Insights, na uwagę zasługuje użycie wspomnianych parametrów i chyba jedna z ważniejszych spraw – “DependeOn”, czyli wskazanie co najpierw musi być stworzone, en un Estado / * Application Insights * /

"valor": "[concat (‘Data Source = tcp:’, reference (resourceId (‘Microsoft.Sql / servers /’, parámetros (‘sqlServerName’))). fullyQualifiedDomainName, ‘, 1433; Initial Catalog =’, parámetros (‘databaseName’) , ‘; User Id =’, parámetros (‘databaseAdministratorLogin’), ‘@’, parámetros (‘sqlServerName’), ‘; Password =’, parámetros (‘databaseAdministratorPassword’), ‘;’)]",

"valor": "[concat (‘Data Source = tcp:’, reference (resourceId (‘Microsoft.Sql / servers /’, parámetros (‘sqlServerName’))). fullyQualifiedDomainName, ‘, 1433; Initial Catalog =’, parámetros (‘databaseName’) , ‘; User Id =’, parámetros (‘databaseAdministratorLogin’), ‘@’, parámetros (‘sqlServerName’), ‘; Password =’, parámetros (‘databaseAdministratorPassword’), ‘;’)]",

Podczas tworzenie WebApp deklaruję elementy zagnieżdżone, jak “appSettings” lub “connectionStrings”. Más importante es un “dependiente”, ponis una guerra, una guerra, una mujer, una mujer, una de las otras (un par de puntos y una bazy danych). Jedną z ciekawostek jest podsekcja “sourcecontrols”. Przy jej pomocy, po wdrożeniu infrastruktury z GitHub zaciągany jest kod aplikacji, kompilowany / testowany w locie i wgrywany do chmury. Wszystko w zależności od zadeklarowanych ustawień.

Po wdrożeniu bazy w Azure doczytałem, ¿e BlogEngine domyślnie przechowuje dane bloga w plikach na dysku. W samym Azure WebApp takie podejście por przeszło, powodowało nieco problemów szczególnie przy dużych plikach, nie gwarantowało wszystkich cech ACID transakcji. Spytacie dlaczego, otóż w chmurze mamy skalowanie, dane plikowe się replikują na poszczególne “nogi” naszego rozwiązania, czasami niektóre serwery się składają, a usługa podstawia nowe.

Zdecydowałem się na pójście drugą z możliwych opcji, czego sygnałem wcześniej jest stworzenie bazy w szablonie ARM. Wykonałem następujące zmiany w konfiguracji aplikacji i uświadomiłem sobie, że baza nie może być pusta tuż po wdrożeniu. Przy pełnym cyklu wdrożeniowym z VSTS nie stanowiłoby to problemu, ja chciałem zostawić jedynie repozytorium na GitHub. Z pomocą przyszła mi technika wdrażania plików bacpac bezpośrednio w szablonie. Tak jak bacpac używałem od dawna, tak nie spodziewałem się ich obsługi w ARM.

¿Czym są pliki bacpac? Można powiedzieć, że czymś zbliżonym do backupu bazy (struktura plus dane), z kolei pliki dacpac zawierają jedynie strukturę. Na tym różnice się nie kończą. Plik backupu traktowany jest jak czarne pudełko, nie możemy z nim niewiele zrobić poza odtworzeniem. Pliki bacpac / dacpac możemy używać w celu porównywania schematów bazy między sobą, a nawet wdrożenia różnicowego. I tak, możemy wdrożyć różnice między plikiem a bazą, między projektem bazy (w VisualStudio) a bazą, między projektem a plikiem itp. Acerca de las aplicaciones de Data-Tier znajdziesz tutaj.

Ostatnim krokiem publicó wgraniem naszej aplikacji ASP.NET do Azure było skonfigurowanie ApplicationInsights w jej kodzie. W szablonie ARM propagowany jest do “settings settings” klucz telemetryczny AI. Soy una versión de Tworzy siw w pierwszej kolejności, una configuración de “Depende” en la czeka, aż klucz będzie możliwy do pobrania. Proces konfiguracji w kodzie nieco się może różnić w moim przypadku, więc nie będę go tu opisywał, ale dobre wytyczne można znaleźć tutaj. Podsumowanie

banner