Ćwiczenia praktyczne: Witryny internetowe platformy Azure z możliwością obsługi: zarządzanie zmianami i skalowaniem
Autor: Web Camps Team
Pobierz zestaw szkoleniowy dla obozów internetowych
Platforma Microsoft Azure ułatwia tworzenie i wdrażanie witryn internetowych w środowisku produkcyjnym. Ale nie robisz, gdy aplikacja jest aktywna, dopiero zaczynasz! Musisz obsługiwać zmieniające się wymagania, aktualizacje bazy danych, skalowanie i nie tylko. Na szczęście, Azure App Service został omówiony, z dużą ilością funkcji, które ułatwiają bezproblemowe działanie witryn.
Platforma Azure oferuje bezpieczne i elastyczne opcje programowania, wdrażania i skalowania dla dowolnej aplikacji internetowej o dowolnym rozmiarze. Skorzystaj z istniejących narzędzi, aby tworzyć i wdrażać aplikacje bez problemów z zarządzaniem infrastrukturą.
Zaaprowizuj produkcyjną aplikację internetową w ciągu kilku minut, łatwo wdrażając zawartość utworzoną przy użyciu ulubionego narzędzia programistycznego. Istniejącą witrynę można wdrożyć bezpośrednio z poziomu kontroli źródła z obsługą usług Git, GitHub, Bitbucket, TFS, a nawet DropBox. Wdróż bezpośrednio z ulubionego środowiska IDE lub skryptów przy użyciu programu PowerShell w systemie Windows lub narzędziach interfejsu wiersza polecenia działających w dowolnym systemie operacyjnym. Po wdrożeniu zachowaj aktualność witryn dzięki obsłudze ciągłego wdrażania.
Platforma Azure udostępnia skalowalne, trwałe rozwiązania magazynu w chmurze, tworzenia kopii zapasowych i odzyskiwania dla dowolnych danych, dużych lub małych. Podczas wdrażania aplikacji w środowisku produkcyjnym usługi magazynu, takie jak tabele, obiekty blob i bazy danych SQL, ułatwiają skalowanie aplikacji w chmurze.
W przypadku baz danych SQL ważne jest, aby wydajna baza danych była aktualna podczas wdrażania nowych wersji aplikacji. Dzięki migracje Code First platformy Entity Framework programowanie i wdrażanie modelu danych zostało uproszczone w celu zaktualizowania środowisk w ciągu kilku minut. To praktyczne laboratorium pokazuje różne tematy, które można napotkać podczas wdrażania aplikacji internetowej w środowiskach produkcyjnych na platformie Microsoft Azure.
Cały przykładowy kod i fragmenty kodu są zawarte w zestawie szkoleniowym Web Camps dostępnym pod adresem https://aka.ms/webcamps-training-kit.
Aby uzyskać bardziej szczegółowy opis tego tematu, zobacz artykuł Building Real-World Cloud Apps with Azure e-book (Tworzenie aplikacji w chmurze Real-World w chmurze za pomocą usługi Azure e-book).
Omówienie
Cele
W tym praktycznym laboratorium dowiesz się, jak wykonywać następujące działania:
- Włączanie migracji platformy Entity Framework przy użyciu istniejącego modelu
- Odpowiednio zaktualizuj model obiektów i bazę danych przy użyciu migracji platformy Entity Framework
- Wdrażanie w Azure App Service przy użyciu usługi Git
- Wycofywanie do poprzedniego wdrożenia przy użyciu portalu zarządzania Azure
- Skalowanie aplikacji internetowej przy użyciu usługi Azure Storage
- Konfigurowanie automatycznego skalowania dla aplikacji internetowej przy użyciu portalu zarządzania Azure
- Tworzenie i konfigurowanie projektu testu obciążeniowego w programie Visual Studio
Wymagania wstępne
Aby wykonać to praktyczne laboratorium, wymagane jest wykonanie następujących czynności:
Visual Studio Express 2013 dla sieci Web lub nowszej
subskrypcję platformy Microsoft Azure,
- Tworzenie konta w celu uzyskania bezpłatnej wersji próbnej
- Jeśli jesteś subskrybentem Visual Studio Professional, Test Professional, Premium lub Ultimate z subskrypcją MSDN lub MSDN Platformy, aktywuj korzyść MSDN teraz, aby rozpocząć opracowywanie i testowanie na platformie Azure
- Członkowie programu BizSpark automatycznie otrzymują korzyści z platformy Azure za pośrednictwem Visual Studio Ultimate z subskrypcjami MSDN
- Członkowie programu Microsoft Partner Network Cloud Essentials otrzymują miesięczne środki na korzystanie z platformy Azure bez opłat
Konfigurowanie
Aby uruchomić ćwiczenia w tym praktycznym laboratorium, należy najpierw skonfigurować środowisko.
- Otwórz Eksploratora Windows i przejdź do folderu Źródło laboratorium.
- Kliknij prawym przyciskiem myszy plik Setup.cmd i wybierz polecenie Uruchom jako administrator , aby uruchomić proces instalacji, który skonfiguruje środowisko i zainstaluj fragmenty kodu programu Visual Studio dla tego laboratorium.
- Jeśli zostanie wyświetlone okno dialogowe Kontrola konta użytkownika, potwierdź akcję, aby kontynuować.
Uwaga
Przed uruchomieniem konfiguracji upewnij się, że zostały sprawdzone wszystkie zależności dla tego laboratorium.
Używanie fragmentów kodu
W całym dokumencie laboratoryjnym zostanie wyświetlone polecenie wstawiania bloków kodu. Dla wygody większość tego kodu jest dostarczana jako fragmenty kodu Visual Studio Code, do których można uzyskać dostęp z poziomu Visual Studio 2013, aby uniknąć konieczności ręcznego dodawania go.
Uwaga
Każdemu ćwiczeniu towarzyszy rozwiązanie początkowe znajdujące się w folderze Begin ćwiczenia, które umożliwia wykonywanie poszczególnych ćwiczeń niezależnie od innych. Pamiętaj, że w tych rozwiązaniach początkowych brakuje fragmentów kodu dodanych podczas ćwiczenia i może nie działać do momentu ukończenia ćwiczenia. W kodzie źródłowym ćwiczenia znajdziesz również folder końcowy zawierający rozwiązanie programu Visual Studio z kodem, który wynika z wykonania kroków w odpowiednim ćwiczeniu. Możesz użyć tych rozwiązań jako wskazówek, jeśli potrzebujesz dodatkowej pomocy podczas pracy z tym praktycznym laboratorium.
Ćwiczenia
To praktyczne laboratorium obejmuje następujące ćwiczenia:
- Korzystanie z migracji platformy Entity Framework
- Wdrażanie aplikacji internetowej w środowisku przejściowym
- Wykonywanie wycofywania wdrożenia w środowisku produkcyjnym
- Skalowanie przy użyciu usługi Azure Storage
- Używanie automatycznego skalowania dla Web Apps (opcjonalne dla wersji Visual Studio 2013 Ultimate)
Szacowany czas ukończenia tego laboratorium: 75 minut
Uwaga
Po pierwszym uruchomieniu programu Visual Studio należy wybrać jedną ze wstępnie zdefiniowanych kolekcji ustawień. Każda wstępnie zdefiniowana kolekcja jest przeznaczona do dopasowania określonego stylu programowania i określa układy okien, zachowanie edytora, fragmenty kodu intelliSense i opcje okna dialogowego. Procedury w tym laboratorium opisują akcje niezbędne do wykonania danego zadania w programie Visual Studio podczas korzystania z kolekcji Ogólne ustawienia programowania . W przypadku wybrania innej kolekcji ustawień dla środowiska deweloperskiego mogą wystąpić różnice w krokach, które należy wziąć pod uwagę.
Ćwiczenie 1. Korzystanie z migracji platformy Entity Framework
Podczas tworzenia aplikacji model danych może ulec zmianie w czasie. Te zmiany mogą mieć wpływ na istniejący model w bazie danych (jeśli tworzysz nową wersję) i ważne jest, aby zapewnić aktualność bazy danych, aby zapobiec błędom.
Aby uprościć śledzenie tych zmian w modelu, migracje Code First platformy Entity Framework automatycznie wykrywać zmiany porównujące model ze schematem bazy danych i generuje konkretny kod w celu zaktualizowania bazy danych, tworząc nowe wersje bazy danych.
W tym ćwiczeniu pokazano, jak włączyć migracje dla aplikacji oraz jak można łatwo wykrywać i generować zmiany w celu zaktualizowania baz danych.
Zadanie 1 — włączanie migracji
W tym zadaniu przejdziesz przez kroki włączania migracje Code First platformy Entity Framework do bazy danych Geek Quiz, zmiany modelu i zrozumienia, jak te zmiany są odzwierciedlane w bazie danych.
Otwórz program Visual Studio i otwórz plik rozwiązania GeekQuiz.sln z folderu Source\Ex1-UsingEntityFrameworkMigrations\Begin.
Skompiluj rozwiązanie, aby pobrać i zainstalować zależności pakietu NuGet . W tym celu kliknij rozwiązanie prawym przyciskiem myszy i kliknij polecenie Kompiluj rozwiązanie lub naciśnij klawisze Ctrl + Shift + B.
W menu Narzędzia w programie Visual Studio wybierz pozycję Menedżer pakietów NuGet, a następnie kliknij pozycję Konsola menedżera pakietów.
W konsoli Menedżera pakietów wprowadź następujące polecenie, a następnie naciśnij klawisz Enter. Zostanie utworzona początkowa migracja oparta na istniejącym modelu.
Enable-Migrations -ContextTypeName GeekQuiz.Models.TriviaContext
Włączanie migracji
Uwaga
To polecenie dodaje folder Migrations do projektu Geek Quiz, który zawiera plik o nazwie Configuration.cs. Klasa Configuration umożliwia skonfigurowanie zachowania migracji dla kontekstu.
Po włączeniu migracji należy zaktualizować klasę Configuration , aby wypełnić bazę danych danymi początkowymi wymaganymi przez narzędzie Geek Quiz . W obszarze Migracje zastąp plik Configuration.cs plikiem znajdującym się w folderze Source\Assets tego laboratorium.
Uwaga
Ponieważ migracje będą wywoływać metodę Seed z każdą aktualizacją bazy danych, należy upewnić się, że rekordy nie są zduplikowane w bazie danych. Metoda AddOrUpdate pomoże zapobiec zduplikowaniu danych.
Aby dodać migrację początkową, wprowadź następujące polecenie, a następnie naciśnij klawisz Enter.
Uwaga
Upewnij się, że w wystąpieniu bazy danych LocalDB nie ma bazy danych o nazwie "GeekQuizProd".
Add-Migration InitialSchema
Dodawanie migracji schematu podstawowego
Uwaga
Dodatek Migracja utworzy szkielet następnej migracji na podstawie zmian wprowadzonych w modelu od czasu utworzenia ostatniej migracji. W takim przypadku, ponieważ jest to pierwsza migracja projektu, doda skrypty, aby utworzyć wszystkie tabele zdefiniowane w klasie TriviaContext .
Wykonaj migrację, aby zaktualizować bazę danych, uruchamiając następujące polecenie. Dla tego polecenia określ flagę Pełne , aby wyświetlić instrukcje SQL stosowane do docelowej bazy danych.
Update-Database -Verbose
Tworzenie początkowej bazy danych
Uwaga
Usługa Update-Database będzie stosować wszystkie oczekujące migracje do bazy danych. W takim przypadku baza danych zostanie utworzona przy użyciu parametry połączenia zdefiniowanego w pliku web.config.
Przejdź do menu Widok i otwórz SQL Server Eksplorator obiektów.
Otwórz w SQL Server Eksplorator obiektów
W oknie SQL Server Eksplorator obiektów połącz się z wystąpieniem usługi LocalDB, klikając prawym przyciskiem myszy węzeł SQL Server i wybierając opcję Dodaj SQL Server....
Dodawanie wystąpienia SQL Server do SQL Server Eksplorator obiektów
Ustaw nazwę serwera na (localdb)\v11.0 i pozostaw opcję Uwierzytelnianie systemu Windows jako tryb uwierzytelniania. Kliknij pozycję Połącz, aby kontynuować.
danych
Nawiązywanie połączenia z bazą danych LocalDB
Otwórz bazę danych GeekQuizProd i rozwiń węzeł Tabele . Jak widać, polecenie Update-Database wygenerowało wszystkie tabele zdefiniowane w klasie TriviaContext . Znajdź bazę danych. TriviaQuestions tabela i otwórz węzeł kolumn. W następnym zadaniu dodasz nową kolumnę do tej tabeli i zaktualizujesz bazę danych przy użyciu funkcji Migrations.
)
Kolumny pytań trywii
Zadanie 2 — aktualizowanie schematu bazy danych przy użyciu migracji
W tym zadaniu użyjesz migracje Code First platformy Entity Framework, aby wykryć zmianę modelu i wygenerować niezbędny kod do zaktualizowania bazy danych. Zaktualizujesz jednostkę TriviaQuestions , dodając do niej nową właściwość. Następnie uruchomisz polecenia, aby utworzyć nową migrację w celu uwzględnienia nowej kolumny w tabeli.
W Eksplorator rozwiązań kliknij dwukrotnie plik TriviaQuestion.cs znajdujący się w folderze Models.
Dodaj nową właściwość o nazwie Hint, jak pokazano w poniższym fragmencie kodu.
public class TriviaQuestion { public int Id { get; set; } [Required] public string Title { get; set; } public virtual List<TriviaOption> Options { get; set; } public string Hint { get; set; } }
W konsoli menedżera pakietów wprowadź następujące polecenie, a następnie naciśnij klawisz Enter. Zostanie utworzona nowa migracja odzwierciedlająca zmianę w naszym modelu.
Add-Migration QuestionHint
Dodawanie migracji
Uwaga
Plik migracji składa się z dwóch metod: w górę i w dół.
- Metoda Up zostanie użyta do określenia zmian w bieżącej wersji aplikacji, które należy zastosować do bazy danych.
- Wartość Down służy do odwrócenia zmian dodanych do metody Up .
Po zaktualizowaniu bazy danych przez usługę Database Migration zostaną uruchomione wszystkie migracje w kolejności znacznika czasu i tylko te, które nie zostały użyte od ostatniej aktualizacji (tabela _MigrationHistory śledzi, które migracje zostały zastosowane). Metoda Up wszystkich migracji zostanie wywołana i wprowadzi zmiany określone w bazie danych. Jeśli zdecydujemy się wrócić do poprzedniej migracji, metoda Down zostanie wywołana w celu ponownego wykonania zmian w odwrotnej kolejności.
W konsoli menedżera pakietów wprowadź następujące polecenie, a następnie naciśnij klawisz Enter.
Update-Database -Verbose
Dane wyjściowe polecenia Update-Database wygenerowały instrukcję Alter Table SQL, aby dodać nową kolumnę do tabeli TriviaQuestions , jak pokazano na poniższej ilustracji.
Dodano kolumnę wygenerowaną instrukcję SQL
W SQL Server Eksplorator obiektów odśwież dbo. TriviaQuestions tabela i sprawdź, czy jest wyświetlana nowa kolumna Hint.
Wyświetlanie nowej kolumny wskazówek
W edytorze TriviaQuestion.cs dodaj ograniczenie StringLength do właściwości Hint , jak pokazano w poniższym fragmencie kodu.
public class TriviaQuestion { public int Id { get; set; } [Required] public string Title { get; set; } public virtual List<TriviaOption> Options { get; set; } [StringLength(150)] public string Hint { get; set; } }
W konsoli menedżera pakietów wprowadź następujące polecenie, a następnie naciśnij klawisz Enter.
Add-Migration QuestionHintLength
W konsoli menedżera pakietów wprowadź następujące polecenie, a następnie naciśnij klawisz Enter.
Update-Database -Verbose
Dane wyjściowe polecenia Update-Database wygenerowały instrukcję Alter Table SQL, aby zaktualizować typ kolumny hint tabeli TriviaQuestions , jak pokazano na poniższej ilustracji.
Alter column SQL statement generated (Alter column— instrukcja SQL wygenerowana)
W SQL Server Eksplorator obiektów odśwież dbo. TriviaQuestions tabela i sprawdź, czy typ kolumny Hint to nvarchar(150).
Wyświetlanie nowego ograniczenia
Ćwiczenie 2. Wdrażanie aplikacji internetowej w środowisku przejściowym
Web Apps w Azure App Service umożliwia przeprowadzanie publikowania etapowego. Publikowanie etapowe tworzy przejściowe miejsce lokacji dla każdej domyślnej lokacji produkcyjnej i umożliwia zamianę tych miejsc bez czasu awarii. Jest to naprawdę przydatne do weryfikowania zmian przed udostępnieniem ich publicznie, przyrostowej integracji zawartości witryny i wycofywania, jeśli zmiany nie działają zgodnie z oczekiwaniami.
W tym ćwiczeniu wdrożysz aplikację Geek Quiz w środowisku przejściowym aplikacji internetowej przy użyciu kontroli źródła git. W tym celu utworzysz aplikację internetową i zaaprowizujesz wymagane składniki w portalu zarządzania, skonfigurujesz repozytorium Git i wypchniesz kod źródłowy aplikacji z komputera lokalnego do miejsca przejściowego. Za pomocą Migracje Code First utworzonej w poprzednim ćwiczeniu zaktualizujesz również produkcyjną bazę danych. Następnie uruchomisz aplikację w tym środowisku testowym, aby zweryfikować jej działanie. Po spełnieniu, że działa zgodnie z oczekiwaniami, podwyższ poziom aplikacji do środowiska produkcyjnego.
Uwaga
Aby włączyć publikowanie etapowe, aplikacja internetowa musi być w trybie standardowym. Pamiętaj, że dodatkowe opłaty będą naliczane, jeśli zmienisz aplikację internetową na tryb standardowy. Aby uzyskać więcej informacji na temat cen, zobacz App Service Cennik.
Zadanie 1 — tworzenie aplikacji internetowej w Azure App Service
W tym zadaniu utworzysz aplikację internetową w Azure App Service z poziomu portalu zarządzania. Skonfigurujesz również SQL Database w celu utrwalania danych aplikacji i konfigurowania lokalnego repozytorium Git na potrzeby kontroli źródła.
Przejdź do portalu zarządzania platformy Azure i zaloguj się przy użyciu konta Microsoft skojarzonego z subskrypcją.
Zaloguj się do portalu zarządzania platformy Azure
Kliknij pozycję Nowy na pasku poleceń w dolnej części strony.
Tworzenie nowej aplikacji internetowej
Kliknij pozycję Obliczenia, witryna internetowa , a następnie pozycję Utwórz niestandardowe.
Tworzenie nowej aplikacji internetowej przy użyciu tworzenia niestandardowego
W oknie dialogowym Nowa witryna internetowa — tworzenie niestandardowe podaj dostępny adres URL (np. geek-quiz), wybierz lokalizację z listy rozwijanej Region i wybierz pozycję Utwórz nową bazę danych SQL na liście rozwijanej Baza danych . Na koniec zaznacz pole wyboru Publikuj z kontroli źródła i kliknij przycisk Dalej.
Dostosowywanie nowej aplikacji internetowej
Określ następujące informacje dotyczące ustawień bazy danych:
W polu tekstowym Nazwa wprowadź nazwę bazy danych (np. geekquiz_db)
Z listy rozwijanej Serwer wybierz pozycję Nowy serwer bazy danych SQL. Alternatywnie możesz wybrać istniejący serwer.
W polach Nazwa użytkownika bazy danych i Hasło bazy danych wprowadź nazwę użytkownika i hasło administratora serwera bazy danych SQL. Jeśli wybierzesz już utworzony serwer, zostanie wyświetlony monit o podanie hasła.
Określanie ustawień bazy danych
Kliknij pozycję Next (Dalej), aby kontynuować.
Wybierz pozycję Lokalne repozytorium Git , aby użyć kontroli źródła, a następnie kliknij przycisk Dalej.
Uwaga
Może zostać wyświetlony monit o podanie poświadczeń wdrożenia (nazwy użytkownika i hasła).
Tworzenie repozytorium Git
Poczekaj na utworzenie nowej aplikacji internetowej.
Uwaga
Domyślnie platforma Azure udostępnia domeny w azurewebsites.net , ale także umożliwia ustawianie domen niestandardowych przy użyciu witryny Azure Management Portal. Można jednak zarządzać domenami niestandardowymi tylko wtedy, gdy używasz określonych trybów Azure App Service.
Azure App Service jest dostępna w wersjach Bezpłatna, Współdzielona, Podstawowa, Standardowa i Premium. W trybie bezpłatnym i udostępnionym wszystkie aplikacje internetowe działają w środowisku wielodostępnym i mają limity przydziału użycia procesora CPU, pamięci i sieci. Maksymalna liczba bezpłatnych aplikacji może się różnić w zależności od planu. W trybie standardowym wybierasz aplikacje uruchamiane na dedykowanych maszynach wirtualnych, które odpowiadają standardowym zasobom obliczeniowym platformy Azure. Konfigurację trybu aplikacji internetowej można znaleźć w menu Skalowanie aplikacji internetowej.
Jeśli używasz trybu udostępnionego lub standardowego , możesz zarządzać domenami niestandardowymi dla aplikacji internetowej, przechodząc do menu Konfigurowanie aplikacji i klikając pozycję Zarządzaj domenami w obszarze Nazwy domen.
Po utworzeniu aplikacji internetowej kliknij link w kolumnie ADRES URL , aby sprawdzić, czy nowa aplikacja internetowa jest uruchomiona.
Przechodzenie do nowej aplikacji internetowej
uruchomiona aplikacja internetowa
Zadanie 2 — tworzenie SQL Database produkcyjnej
W tym zadaniu użyjesz migracje Code First platformy Entity Framework do utworzenia bazy danych przeznaczonej dla wystąpienia usługi Azure SQL Database utworzonego w poprzednim zadaniu.
W portalu zarządzania przejdź do aplikacji internetowej utworzonej w poprzednim zadaniu i przejdź do pulpitu nawigacyjnego.
Na stronie Pulpit nawigacyjny kliknij link Wyświetl parametry połączenia w sekcji Szybki rzut oka .
Wyświetlanie parametrów połączenia
Skopiuj wartość parametry połączenia i zamknij okno dialogowe.
Parametry połączenia w witrynie Azure Management Portal
Kliknij pozycję Bazy danych SQL, aby wyświetlić listę baz danych SQL na platformie Azure
menu SQL Database
Znajdź bazę danych utworzoną w poprzednim zadaniu i kliknij pozycję Serwer.
Serwer usługi SQL Database
Na stronie Szybki start serwera kliknij pozycję Konfiguruj.
Menu Konfiguracja
W sekcji Dozwolone adresy IP kliknij link Dodaj do dozwolonych adresów IP, aby umożliwić adresowi IP nawiązywanie połączenia z serwerem SQL Database.
Dozwolone adresy IP
Kliknij przycisk Zapisz w dolnej części strony, aby ukończyć krok.
Wróć do programu Visual Studio.
W konsoli Menedżera pakietów wykonaj następujące polecenie, zastępując symbol zastępczy [YOUR-CONNECTION-STRING] symbolem zastępczym parametry połączenia skopiowanym z platformy Azure
Update-Database -Verbose -ConnectionString "[YOUR-CONNECTION-STRING]" -ConnectionProviderName "System.Data.SqlClient"
Aktualizowanie bazy danych docelowej Azure SQL Database
Zadanie 3 — wdrażanie testu geeka w środowisku przejściowym przy użyciu narzędzia Git
W tym zadaniu włączysz publikowanie etapowe w aplikacji internetowej. Następnie użyjesz usługi Git, aby opublikować aplikację Geek Quiz bezpośrednio z komputera lokalnego do środowiska przejściowego aplikacji internetowej.
Wstecz do portalu i kliknij nazwę aplikacji internetowej w kolumnie Nazwa, aby wyświetlić strony zarządzania.
Otwieranie stron zarządzania aplikacjami internetowymi
Przejdź do strony Skalowanie . W sekcji ogólne wybierz pozycję Standardowa dla konfiguracji, a następnie kliknij przycisk Zapisz na pasku poleceń.
Uwaga
Aby uruchomić wszystkie aplikacje internetowe w bieżącym regionie i subskrypcji w trybie standardowym , pozostaw pole wyboru Zaznacz wszystko zaznaczone w konfiguracji Wybierz witryny . W przeciwnym razie wyczyść pole wyboru Zaznacz wszystko .
Uaktualnianie aplikacji internetowej do trybu standardowego
Kliknij przycisk Tak , aby potwierdzić zmiany.
Potwierdzanie zmiany w trybie standardowym
Przejdź do strony Pulpit nawigacyjny i kliknij pozycję Włącz publikowanie etapowe w sekcji Szybki rzut oka .
Włączanie publikowania etapowego
Kliknij przycisk Tak , aby włączyć publikowanie etapowe.
Potwierdzanie publikowania etapowego
Na liście aplikacji internetowych rozwiń znacznik po lewej stronie nazwy aplikacji internetowej, aby wyświetlić przejściowe miejsce witryny. Ma ona nazwę aplikacji internetowej, po której następuje (przejściowe). Kliknij witrynę przejściową, aby przejść do strony zarządzania.
Przechodzenie do aplikacji przejściowej
Zwróć uwagę, że strona zarządzania wygląda jak każda inna strona zarządzania aplikacją internetową. Przejdź do strony Wdrożenia i skopiuj wartość adresu URL usługi Git . Będzie on używany w dalszej części tego ćwiczenia.
Kopiowanie wartości adresu URL usługi Git
Otwórz nową konsolę powłoki Git Bash i wykonaj następujące polecenia. Zaktualizuj symbol zastępczy [YOUR-APPLICATION-PATH] ścieżką do rozwiązania GeekQuiz znajdującym się w folderze Source\Ex1-DeployingWebSiteToStaging\Begin tego laboratorium.
cd "[YOUR-APPLICATION-PATH]" git init git config --global user.email "{username@example.com}" git config --global user.name "{your-user-name}" git add . git commit -m "Initial commit"
Inicjowanie i pierwsze zatwierdzenie usługi Git
Uruchom następujące polecenie, aby wypchnąć aplikację internetową do zdalnego repozytorium Git . Zastąp symbol zastępczy adresem URL uzyskanym z portalu zarządzania. Zostanie wyświetlony monit o podanie hasła wdrożenia.
git remote add azure [GIT-CLONE-URL] git push azure master
Wypychanie na platformę Azure
Uwaga
Podczas wdrażania zawartości na hoście FTP lub repozytorium GIT aplikacji internetowej należy uwierzytelnić się przy użyciu poświadczeń wdrożenia utworzonych na stronach szybkiego startu lub pulpitu nawigacyjnego aplikacji internetowej. Jeśli nie znasz poświadczeń wdrożenia, możesz je łatwo zresetować przy użyciu portalu zarządzania. Otwórz stronę Pulpit nawigacyjny aplikacji internetowej i kliknij link Resetuj poświadczenia wdrożenia . Podaj nowe hasło i kliknij przycisk OK. Poświadczenia wdrożenia są prawidłowe do użycia ze wszystkimi aplikacjami internetowymi skojarzonymi z subskrypcją.
Aby sprawdzić, czy aplikacja internetowa została pomyślnie wypchnięta na platformę Azure, wróć do portalu zarządzania i kliknij pozycję Witryny internetowe.
Znajdź aplikację internetową i rozwiń wpis, aby wyświetlić przejściowe miejsce witryny. Kliknij jego nazwę , aby przejść do strony zarządzania.
Kliknij pozycję Wdrożenia , aby wyświetlić historię wdrożenia. Sprawdź, czy istnieje aktywne wdrożenie przy użyciu zatwierdzenia początkowego.
Aktywne wdrażanie
Na koniec kliknij przycisk Przeglądaj na pasku poleceń, aby przejść do aplikacji internetowej.
Przeglądanie aplikacji internetowej
Jeśli aplikacja została pomyślnie wdrożona, zostanie wyświetlona strona logowania Geek Quiz.
Uwaga
Adres URL wdrożonej aplikacji zawiera nazwę aplikacji internetowej, po której następuje -staging.
Aplikacja uruchomiona w środowisku przejściowym
Jeśli chcesz eksplorować aplikację, kliknij pozycję Zarejestruj , aby zarejestrować nowego użytkownika. Wypełnij szczegóły konta, wprowadzając nazwę użytkownika, adres e-mail i hasło. Następnie aplikacja wyświetla pierwsze pytanie testu. Odpowiedz na kilka pytań, aby upewnić się, że działa zgodnie z oczekiwaniami.
Aplikacja gotowa do użycia
Zadanie 4 — promowanie aplikacji internetowej do środowiska produkcyjnego
Po sprawdzeniu, czy aplikacja internetowa działa prawidłowo w środowisku przejściowym, możesz przystąpić do promowania jej do środowiska produkcyjnego. W tym zadaniu zamienisz miejsce lokacji przejściowej na miejsce lokacji produkcyjnej.
Wstecz do portalu zarządzania i wybierz przejściowe miejsce lokacji. Kliknij pozycję Zamień na pasku poleceń.
Zamiana na środowisko produkcyjne
Kliknij przycisk Tak w oknie dialogowym potwierdzenia, aby kontynuować operację zamiany. Platforma Azure natychmiast zamieni zawartość witryny produkcyjnej na zawartość witryny przejściowej.
Uwaga
Niektóre ustawienia z wersji etapowej zostaną automatycznie skopiowane do wersji produkcyjnej (np. parametry połączenia przesłonięcia, mapowania programu obsługi itp.), ale inne ustawienia nie zostaną zmienione (np. punkty końcowe DNS, powiązania SSL itp.).
Potwierdzanie operacji zamiany
Po zakończeniu zamiany wybierz miejsce produkcyjne i kliknij przycisk Przeglądaj na pasku poleceń, aby otworzyć lokację produkcyjną. Zwróć uwagę na adres URL na pasku adresu.
Uwaga
Może być konieczne odświeżenie przeglądarki w celu wyczyszczenia pamięci podręcznej. W programie Internet Explorer możesz to zrobić, naciskając klawisze CTRL+R.
W konsoli GitBash zaktualizuj zdalny adres URL lokalnego repozytorium Git, aby było przeznaczone dla miejsca produkcyjnego. W tym celu uruchom następujące polecenie, zastępując symbole zastępcze nazwą użytkownika wdrożenia i nazwą aplikacji internetowej.
Uwaga
W poniższych ćwiczeniach wypchniesz zmiany do lokacji produkcyjnej zamiast przemieszczania tylko dla uproszczenia laboratorium. W rzeczywistym scenariuszu zaleca się zweryfikowanie zmian w środowisku przejściowym przed podwyższeniem poziomu do środowiska produkcyjnego.
git remote set-url azure https://<your-user>@<your-web-site>.scm.azurewebsites.net:443/<your-web-site>.git
Ćwiczenie 3. Wykonywanie wycofywania wdrożenia w środowisku produkcyjnym
Istnieją scenariusze, w których nie masz miejsca przejściowego do wykonywania gorącej zamiany między środowiskiem przejściowym a środowiskiem produkcyjnym, na przykład w przypadku pracy z trybem bezpłatnym lub udostępnionym . W tych scenariuszach należy przetestować aplikację w środowisku testowym — lokalnie lub w lokacji zdalnej — przed wdrożeniem w środowisku produkcyjnym. Istnieje jednak możliwość, że w lokacji produkcyjnej może wystąpić problem, który nie został wykryty w fazie testowania. W takim przypadku ważne jest, aby mieć mechanizm łatwego przełączania się do poprzedniej i bardziej stabilnej wersji aplikacji tak szybko, jak to możliwe.
W Azure App Service ciągłe wdrażanie z kontroli źródła umożliwia to dzięki akcji ponownego wdrażania dostępnej w portalu zarządzania. Platforma Azure śledzi wdrożenia skojarzone z zatwierdzeniami wypychanymi do repozytorium i udostępnia opcję ponownego wdrożenia aplikacji przy użyciu dowolnego z poprzednich wdrożeń w dowolnym momencie.
W tym ćwiczeniu przeprowadzisz zmianę kodu w aplikacji Geek Quiz , która celowo wprowadza usterkę. Wdrożysz aplikację w środowisku produkcyjnym, aby zobaczyć błąd, a następnie skorzystasz z funkcji ponownego wdrażania, aby wrócić do poprzedniego stanu.
Zadanie 1 — aktualizowanie aplikacji Quiz geek
W tym zadaniu refaktoryzujesz mały fragment kodu klasy TriviaController , aby wyodrębnić część logiki, która pobiera wybraną opcję testu z bazy danych do nowej metody.
Przejdź do wystąpienia programu Visual Studio przy użyciu rozwiązania GeekQuiz z poprzedniego ćwiczenia.
W Eksplorator rozwiązań otwórz plik TriviaController.cs w folderze Controllers.
Znajdź metodę StoreAsync i wybierz kod wyróżniony na poniższym rysunku.
Wybieranie kodu
Kliknij prawym przyciskiem myszy wybrany kod, rozwiń menu Refaktoryzacja i wybierz polecenie Wyodrębnij metodę....
Wybieranie metody Wyodrębnij
W oknie dialogowym Wyodrębnij metodę nadaj nowej metodzie nazwę MatchesOption i kliknij przycisk OK.
Określanie nazwy wyodrębnionej metody
Wybrany kod jest następnie wyodrębniany do metody MatchesOption . Wynikowy kod jest wyświetlany w poniższym fragmencie kodu.
private async Task<bool> StoreAsync(TriviaAnswer answer) { this.db.TriviaAnswers.Add(answer); await this.db.SaveChangesAsync(); var selectedOption = await this.db.TriviaOptions.FirstOrDefaultAsync(o => MatchesOption(answer, o)); return selectedOption.IsCorrect; } private static bool MatchesOption(TriviaAnswer answer, TriviaOption o) { return o.Id == answer.OptionId && o.QuestionId == answer.QuestionId; }
Naciśnij klawisze CTRL + S , aby zapisać zmiany.
Zadanie 2 — Ponowne wdrażanie aplikacji Quiz Geek
Teraz wypchniesz zmiany wprowadzone w poprzednim zadaniu do repozytorium, co spowoduje wyzwolenie nowego wdrożenia w środowisku produkcyjnym. Następnie wystąpi problem przy użyciu narzędzi programistycznych F12 udostępnianych przez program Internet Explorer, a następnie wykonasz wycofanie poprzedniego wdrożenia z portalu zarządzania Platformy Azure.
Otwórz nową konsolę powłoki Git Bash, aby wdrożyć zaktualizowaną aplikację w celu Azure App Service.
Wykonaj następujące polecenia, aby wypchnąć zmiany na platformę Azure. Zaktualizuj symbol zastępczy [YOUR-APPLICATION-PATH] ścieżką do rozwiązania GeekQuiz . Zostanie wyświetlony monit o hasło wdrożenia.
cd "[YOUR-APPLICATION-PATH]" git add . git commit -m "Refactored answer check" git push azure master
Wypychanie refaktoryzowanego kodu na platformę Azure
Otwórz program Internet Explorer i przejdź do aplikacji internetowej (np.
http://<your-web-site>.azurewebsites.net
). Zaloguj się przy użyciu wcześniej utworzonych poświadczeń.Naciśnij klawisz F12 , aby uruchomić narzędzia programistyczne, wybierz kartę Sieć i kliknij przycisk Odtwarzania , aby rozpocząć nagrywanie.
Uruchamianie rejestrowania sieci
Wybierz dowolną opcję testu. Zobaczysz, że nic się nie dzieje.
W oknie F12 wpis odpowiadający żądaniu HTTP POST pokazuje wynik HTTP 500 .
Błąd HTTP 500
Wybierz kartę Konsola . Błąd jest rejestrowany ze szczegółami przyczyny.
Zarejestrowany błąd
Znajdź część szczegółów błędu. Oczywiście ten błąd jest spowodowany refaktoryzowaniem kodu zatwierdzonym w poprzednich krokach.
Details: LINQ to Entities does not recognize the method 'Boolean MatchesOption ...
.Nie zamykaj przeglądarki.
W nowym wystąpieniu przeglądarki przejdź do witryny [Azure Management Portal](/azure/azure-portal/azure-portal-overview i zaloguj się przy użyciu konta Microsoft skojarzonego z subskrypcją.
Wybierz pozycję Witryny internetowe i kliknij aplikację internetową utworzoną w ćwiczeniu 2.
Przejdź do strony Wdrożenia . Zwróć uwagę, że wszystkie wykonane zatwierdzenia są wymienione w historii wdrażania.
Lista istniejących wdrożeń
Wybierz poprzednie zatwierdzenie i kliknij pozycję Wdróż ponownie na pasku poleceń.
Ponowne wdrażanie poprzedniego zatwierdzenia
Po wyświetleniu monitu o potwierdzenie kliknij przycisk Tak.
Po zakończeniu wdrażania wróć do wystąpienia przeglądarki za pomocą aplikacji internetowej i naciśnij klawisze CTRL + F5.
Kliknij dowolną z opcji. Animacja przerzucania zostanie teraz utworzona, a wynik (poprawny/nieprawidłowy) zostanie wyświetlony.
(Opcjonalnie) Przejdź do konsoli powłoki Git Bash i wykonaj następujące polecenia, aby przywrócić poprzednie zatwierdzenie.
Uwaga
Te polecenia tworzą nowe zatwierdzenie, które cofa wszystkie zmiany w repozytorium Git, które zostały wprowadzone w nieprawidłowym zatwierdzaniu. Platforma Azure ponownie wdroży aplikację przy użyciu nowego zatwierdzenia.
git revert HEAD --no-edit git push azure master
Ćwiczenie 4. Skalowanie przy użyciu usługi Azure Storage
Obiekty blob to najprostszy sposób przechowywania dużych ilości tekstu bez struktury lub danych binarnych, takich jak wideo, audio i obrazy. Przeniesienie zawartości statycznej aplikacji do usługi Storage pomaga skalować aplikację, obsługując obrazy lub dokumenty bezpośrednio w przeglądarce.
W tym ćwiczeniu przeniesiesz zawartość statyczną aplikacji do kontenera obiektów blob. Następnie skonfigurujesz aplikację, aby dodać regułę ponownego zapisywania adresu URL ASP.NET w Web.config w celu przekierowania zawartości do kontenera obiektów blob.
Zadanie 1 — tworzenie konta usługi Azure Storage
W tym zadaniu dowiesz się, jak utworzyć nowe konto magazynu przy użyciu portalu zarządzania.
Przejdź do witryny Azure Management Portal i zaloguj się przy użyciu konta Microsoft skojarzonego z subskrypcją.
Wybierz pozycję Nowy | Usługi danych | Magazyn | Szybkie tworzenie , aby rozpocząć tworzenie nowego konta magazynu. Wprowadź unikatową nazwę konta i wybierz region z listy. Kliknij pozycję Utwórz konto magazynu , aby kontynuować.
Tworzenie nowego konta magazynu
W sekcji Magazyn zaczekaj, aż stan nowego konta magazynu zmieni się na Online , aby kontynuować pracę z następującym krokiem.
Utworzone konto magazynu
Kliknij nazwę konta magazynu, a następnie kliknij link Pulpit nawigacyjny w górnej części strony. Strona Pulpit nawigacyjny zawiera informacje o stanie konta i punktach końcowych usługi, które mogą być używane w aplikacjach.
Wyświetlanie pulpitu nawigacyjnego konta magazynu
Kliknij przycisk Zarządzaj kluczami dostępu na pasku nawigacyjnym.
Przycisk Zarządzaj kluczami dostępu
W oknie dialogowym Zarządzanie kluczami dostępu skopiuj nazwę konta magazynu i klucz dostępu podstawowego , ponieważ będą one potrzebne w poniższym ćwiczeniu. Następnie zamknij okno dialogowe.
Okno
Okno dialogowe Zarządzanie kluczem dostępu
Zadanie 2 — przekazywanie elementu zawartości do Azure Blob Storage
W tym zadaniu użyjesz okna Eksploratora serwera z programu Visual Studio, aby nawiązać połączenie z kontem magazynu. Następnie utworzysz kontener obiektów blob i przekażesz plik z logo Geek Quiz do kontenera.
Przejdź do wystąpienia programu Visual Studio przy użyciu rozwiązania GeekQuiz z poprzedniego ćwiczenia.
Na pasku menu wybierz pozycję Widok , a następnie kliknij pozycję Eksplorator serwera.
W Eksploratorze serwera kliknij prawym przyciskiem myszy węzeł platformy Azure i wybierz pozycję Połącz z platformą Azure.... Zaloguj się przy użyciu konta Microsoft skojarzonego z subskrypcją.
Łączenie się z platformą Azure
Rozwiń węzeł platformy Azure , kliknij prawym przyciskiem myszy pozycję Magazyn i wybierz pozycję Dołącz magazyn zewnętrzny....
W oknie dialogowym Dodawanie nowego konta magazynu wprowadź nazwę konta i klucz konta uzyskany w poprzednim zadaniu i kliknij przycisk OK.
Okno dialogowe Dodawanie nowego konta magazynu
Konto magazynu powinno pojawić się w węźle Magazyn . Rozwiń swoje konto magazynu, kliknij prawym przyciskiem myszy pozycję Obiekty blob i wybierz pozycję Utwórz kontener obiektów blob....
Tworzenie kontenera obiektów blob
W oknie dialogowym Tworzenie kontenera obiektów blob wprowadź nazwę kontenera obiektów blob i kliknij przycisk OK.
okno
Okno dialogowe Tworzenie kontenera obiektów blob
Nowy kontener obiektów blob należy dodać do węzła Obiekty blob . Zmień uprawnienia dostępu w kontenerze, aby ustawić kontener jako publiczny. W tym celu kliknij prawym przyciskiem myszy kontener images i wybierz polecenie Właściwości.
)
Właściwości kontenera obrazów
W oknie Właściwości ustaw publiczny dostęp do odczytu do kontenera.
Zmiana właściwości dostępu do odczytu publicznego
Po wyświetleniu monitu, jeśli na pewno chcesz zmienić właściwość dostępu publicznego, kliknij przycisk Tak.
Ostrzeżenie programu Microsoft Visual Studio
W Eksploratorze serwera kliknij prawym przyciskiem myszy kontener obiektów blob images i wybierz pozycję Wyświetl kontener obiektów blob.
Wyświetlanie kontenera obiektów blob
Kontener images powinien zostać otwarty w nowym oknie, a legenda bez wpisów nie powinna być wyświetlana. Kliknij ikonę przekazywania, aby przekazać plik do kontenera obiektów blob.
Kontener
Kontener obrazów bez wpisów
W oknie dialogowym Przekazywanie obiektu blob przejdź do folderu Assets laboratorium. Wybierz plik logo-big.png i kliknij przycisk Otwórz.
Zaczekaj na przekazanie pliku. Po zakończeniu przekazywania plik powinien być wymieniony w kontenerze images. Kliknij prawym przyciskiem myszy wpis pliku i wybierz pozycję Kopiuj adres URL.
Kopiowanie adresu URL obiektu blob
Otwórz program Internet Explorer i wklej adres URL. Poniższa ilustracja powinna być wyświetlana w przeglądarce.
obrazlogo-big.png z Azure Blob Storage
Zadanie 3 — aktualizowanie rozwiązania w celu korzystania z zawartości statycznej z Azure Blob Storage
W tym zadaniu skonfigurujesz rozwiązanie GeekQuiz, aby używać obrazu przekazanego do Azure Blob Storage (zamiast obrazu znajdującego się w aplikacji internetowej), dodając regułę ponownego zapisywania adresu URL ASP.NET w pliku web.config.
W programie Visual Studio otwórz plik Web.config w projekcie GeekQuiz i znajdź <element system.webServer> .
Dodaj następujący kod, aby dodać regułę ponownego zapisywania adresu URL, aktualizując symbol zastępczy przy użyciu nazwy konta magazynu.
(Fragment kodu — WebSitesInProduction — Ex4 — UrlRewriteRule)
<system.webServer> <rewrite> <rules> <rule name="redirect-images" stopProcessing="true"> <match url="img/(.*)"/> <action type="Redirect" url="http://[YOUR-STORAGE-ACCOUNT].blob.core.windows.net/images/{R:1}"></action> </rule> </rules> </rewrite>
Uwaga
Ponowne zapisywanie adresów URL to proces przechwytywania przychodzącego żądania sieci Web i przekierowywania żądania do innego zasobu. Reguły ponownego zapisywania adresów URL informują aparat ponownego zapisywania, gdy żądanie musi zostać przekierowane i gdzie należy je przekierować. Reguła ponownego zapisywania składa się z dwóch ciągów: wzorzec do wyszukania w żądanym adresie URL (zwykle przy użyciu wyrażeń regularnych) i ciąg do zastąpienia wzorca, jeśli zostanie znaleziony. Aby uzyskać więcej informacji, zobacz Ponowne zapisywanie adresów URL w ASP.NET.
Naciśnij klawisze CTRL + S , aby zapisać zmiany.
Otwórz nową konsolę powłoki Git Bash, aby wdrożyć zaktualizowaną aplikację w celu Azure App Service.
Wykonaj następujące polecenia, aby wypchnąć zmiany na platformę Azure. Zaktualizuj symbol zastępczy [YOUR-APPLICATION-PATH] ścieżką do rozwiązania GeekQuiz . Zostanie wyświetlony monit o podanie hasła wdrożenia.
cd "[YOUR-APPLICATION-PATH]" git add . git commit -m "Added URL rewrite rule in web.config file" git push azure master
Wdrażanie aktualizacji na platformie Azure
Zadanie 4 — weryfikacja
W tym zadaniu użyjesz programu Internet Explorer do przeglądania aplikacji Geek Quiz i sprawdzisz, czy reguła ponownego zapisywania adresów URL dla obrazów działa i nastąpi przekierowanie do obrazu hostowanego na Azure Blob Storage.
Otwórz program Internet Explorer i przejdź do aplikacji internetowej (np.
http://<your-web-site>.azurewebsites.net
). Zaloguj się przy użyciu wcześniej utworzonych poświadczeń.Wyświetlanie aplikacji internetowej Geek Quiz z obrazem
Naciśnij klawisz F12, aby uruchomić narzędzia programistyczne, wybierz kartę Sieć i rozpocznij nagrywanie.
Uruchamianie nagrywania sieci
Naciśnij klawisze CTRL + F5 , aby odświeżyć stronę internetową.
Po zakończeniu ładowania strony powinno zostać wyświetlone żądanie HTTP dla adresu URL /img/logo-big.png z wynikiem HTTP 301 (przekierowanie) i innym żądaniem
http://[YOUR-STORAGE-ACCOUNT].blob.core.windows.net/images/logo-big.png
adresu URL z wynikiem HTTP 200 .Weryfikowanie przekierowania adresu URL
Ćwiczenie 5. Używanie autoskalu dla Web Apps
Uwaga
To ćwiczenie jest opcjonalne, ponieważ wymaga obsługi funkcji Web Load & Performance Testing, która jest dostępna tylko dla wersji Visual Studio 2013 Ultimate Edition. Aby uzyskać więcej informacji na temat konkretnych funkcji Visual Studio 2013, porównaj wersje tutaj.
Azure App Service Web Apps udostępnia funkcję autoskalowania dla aplikacji internetowych działających w trybie standardowym. Automatyczne skalowanie umożliwia platformie Azure automatyczne skalowanie liczby wystąpień aplikacji internetowej w zależności od obciążenia. Po włączeniu automatycznego skalowania platforma Azure sprawdza procesor aplikacji internetowej co pięć minut i dodaje wystąpienia zgodnie z potrzebami w tym momencie w czasie. Jeśli użycie procesora CPU jest niskie, platforma Azure usunie wystąpienia co dwie godziny, aby upewnić się, że wydajność aplikacji internetowej nie jest obniżona.
W tym ćwiczeniu wykonasz kroki wymagane do skonfigurowania funkcji autoskalowania dla aplikacji internetowej Geek Quiz . Zweryfikujesz tę funkcję, uruchamiając test obciążeniowy programu Visual Studio w celu wygenerowania wystarczającego obciążenia procesora CPU w aplikacji w celu wyzwolenia uaktualnienia wystąpienia.
Zadanie 1 — konfigurowanie autoskalowania na podstawie metryki procesora CPU
W tym zadaniu użyjesz witryny Azure Management Portal, aby włączyć funkcję autoskalowania dla aplikacji internetowej utworzonej w ćwiczeniu 2.
W witrynie Azure Management Portal wybierz pozycję Witryny internetowe i kliknij aplikację internetową utworzoną w ćwiczeniu 2.
Przejdź do strony Skalowanie . W sekcji Pojemność wybierz pozycję Procesor CPU dla konfiguracji Skalowanie według metryk .
Uwaga
Podczas skalowania według procesora CPU platforma Azure dynamicznie dostosowuje liczbę wystąpień używanych przez aplikację, jeśli użycie procesora CPU ulegnie zmianie.
Wybieranie do skalowania według procesora CPU
Zmień konfigurację docelowego procesora CPU na 20-40 procent.
Uwaga
Ten zakres reprezentuje średnie użycie procesora CPU dla aplikacji internetowej. Platforma Azure doda lub usunie wystąpienia, aby zachować aplikację internetową w tym zakresie. Minimalna i maksymalna liczba wystąpień używanych do skalowania jest określona w konfiguracji Liczba wystąpień . Platforma Azure nigdy nie przekroczy tego limitu ani nie przekroczy tego limitu.
Domyślne wartości docelowego procesora CPU są modyfikowane tylko na potrzeby tego laboratorium. Konfigurując zakres procesora CPU z małymi wartościami, zwiększasz prawdopodobieństwo wyzwolenia autoskalowania, gdy w aplikacji zostanie umieszczone umiarkowane obciążenie.
Zmiana docelowego procesora CPU na wartość od 20 do 40 procent
Kliknij przycisk Zapisz na pasku poleceń, aby zapisać zmiany.
Zadanie 2 — testowanie obciążenia za pomocą programu Visual Studio
Po skonfigurowaniu automatycznego skalowania utworzysz projekt web performance and Load Test w programie Visual Studio w celu wygenerowania obciążenia procesora CPU w aplikacji internetowej.
Otwórz Visual Studio Ultimate 2013 i wybierz pozycję Plik | Nowy | Projektu... aby rozpocząć nowe rozwiązanie.
Tworzenie nowego projektu
W oknie dialogowym Nowy projekt wybierz pozycję Projekt testu wydajności i obciążenia sieci Web w obszarze Visual C# | Karta Testuj. Upewnij się, że wybrano .NET Framework 4.5, nadaj projektowi nazwę WebAndLoadTestProject, wybierz lokalizację i kliknij przycisk OK.
Tworzenie nowego projektu internetowego i testu obciążeniowego
W narzędziu WebTest1.webtest kliknij prawym przyciskiem myszy węzeł WebTest1 i kliknij pozycję Dodaj żądanie.
Zmienianie właściwości Adresu URL
W oknie WebTest1.webtest kliknij prawym przyciskiem myszy pozycję WebTest1 i kliknij polecenie Dodaj pętlę....
Dodawanie pętli do platformy WebTest1
W oknie dialogowym Dodawanie reguły warunkowej i elementów do pętli wybierz regułę Dla pętli i zmodyfikuj następujące właściwości.
Wartość zakończenia: 1000
Nazwa parametru kontekstu: Sterująca
Wartość przyrostowa: 1
Wybieranie reguły pętli for i aktualizowanie właściwości
W sekcji Elementy w pętli wybierz utworzone wcześniej żądanie jako pierwszy i ostatni element pętli. Kliknij przycisk OK, aby kontynuować.
Wybieranie pierwszych i ostatnich elementów dla pętli
W Eksplorator rozwiązań kliknij prawym przyciskiem myszy projekt WebAndLoadTestProject, rozwiń menu Dodaj i wybierz pozycję Test obciążeniowy....
Dodawanie testu obciążeniowego do projektu WebAndLoadTestProject
W oknie dialogowym Kreator nowego testu obciążeniowego kliknij przycisk Dalej.
Kreator nowego testu obciążeniowego
Na stronie Scenariusz wybierz pozycję Nie używaj czasów myślenia i kliknij przycisk Dalej.
Wybieranie, aby nie używać czasów myślenia
Na stronie Wzorzec obciążenia upewnij się, że wybrano opcję Stałe obciążenie . Zmień ustawienie Liczba użytkowników na 250 użytkowników, a następnie kliknij przycisk Dalej.
Zmiana liczby użytkowników na 250
Na stronie Test Mix Model wybierz pozycję Na podstawie kolejności testu sekwencyjnego , a następnie kliknij przycisk Dalej.
Wybieranie modelu mieszanki testów
Na stronie Test Mix Model kliknij przycisk Dodaj... aby dodać test do mieszanki.
Dodawanie testu do mieszanki testowej
W oknie dialogowym Dodawanie testów kliknij dwukrotnie pozycję WebTest1 , aby dodać test do listy Wybrane testy . Kliknij przycisk OK, aby kontynuować.
Dodawanie testu WebTest1
Ponownie na stronie Test Mix kliknij przycisk Dalej.
Kończenie strony Test Mix
Na stronie Połączenie sieciowe kliknij przycisk Dalej.
Kliknięcie przycisku Dalej na stronie Połączenie sieciowe
Na stronie Kombinacja przeglądarki wybierz pozycję Internet Explorer 10.0 jako typ przeglądarki, a następnie kliknij przycisk Dalej.
Wybieranie typu przeglądarki
Na stronie Zestawy liczników kliknij przycisk Dalej.
Kliknięcie przycisku Dalej na stronie Zestawy liczników
Na stronie Ustawienia uruchamiania ustaw czas trwania testu obciążeniowego na 5 minut , a następnie kliknij przycisk Zakończ.
Ustawianie czasu trwania testu obciążeniowego na 5 minut
W Eksplorator rozwiązań kliknij dwukrotnie plik Local.settings, aby zapoznać się z ustawieniami testu. Domyślnie program Visual Studio używa komputera lokalnego do uruchamiania testów.
Uwaga
Alternatywnie możesz skonfigurować projekt testowy tak, aby uruchamiał testy obciążeniowe w chmurze przy użyciu Azure Test Plans. Azure Test Plans zapewnia opartą na chmurze usługę testowania obciążenia, która symuluje bardziej realistyczne obciążenie, unikając ograniczeń środowiska lokalnego, takich jak pojemność procesora CPU, dostępna pamięć i przepustowość sieci. Aby uzyskać więcej informacji na temat używania Azure Test Plans do uruchamiania testów obciążeniowych, zobacz Load testing scenarios (Scenariusze testowania obciążenia).
Zadanie 3 — weryfikacja automatycznego skalowania
Teraz wykonasz test obciążeniowy utworzony w poprzednim zadaniu i zobaczysz, jak działa aplikacja internetowa pod obciążeniem.
W Eksplorator rozwiązań kliknij dwukrotnie plik LoadTest1.loadtest, aby otworzyć test obciążeniowy.
Otwieranie pliku LoadTest1.loadtest
W oknie LoadTest1.loadtest kliknij pierwszy przycisk w przyborniku, aby uruchomić test obciążeniowy.
Uruchamianie testu obciążeniowego
Poczekaj na zakończenie testu obciążeniowego.
Uwaga
Test obciążeniowy symuluje wielu użytkowników, którzy jednocześnie wysyłają żądania do aplikacji internetowej. Po uruchomieniu testu można monitorować dostępne liczniki w celu wykrywania błędów, ostrzeżeń lub innych informacji związanych z przebiegiem testu obciążeniowego.
Uruchomiony test obciążeniowy
Po zakończeniu testu wróć do portalu zarządzania i przejdź do strony Skalowanie aplikacji internetowej. W sekcji pojemność powinna zostać wyświetlona na wykresie, że nowe wystąpienie zostało wdrożone automatycznie.
Nowe wystąpienie zostało wdrożone automatycznie
Uwaga
Może upłynąć kilka minut, aby zmiany pojawiały się na wykresie (okresowo naciśnij klawisze CTRL + F5 , aby odświeżyć stronę). Jeśli nie widzisz żadnych zmian, możesz spróbować wykonać następujące czynności:
- Zwiększ czas trwania testu obciążeniowego (np. do 10 minut)
- Zmniejsz maksymalne i minimalne wartości zakresu procesora DOCELOWEGO w konfiguracji autoskalowania aplikacji internetowej
- Uruchom test obciążeniowy w chmurze przy użyciu Azure Test Plans. Więcej informacji można znaleźć tutaj
Podsumowanie
W tym praktycznym laboratorium przedstawiono sposób konfigurowania i wdrażania aplikacji w produkcyjnych aplikacjach internetowych na platformie Azure. Rozpoczęto od wykrywania i aktualizowania baz danych przy użyciu migracje Code First platformy Entity Framework, a następnie ciągłego wdrażania nowych wersji witryny przy użyciu narzędzia Git i wycofywania do najnowszej stabilnej wersji witryny. Ponadto przedstawiono sposób skalowania aplikacji przy użyciu usługi Storage w celu przeniesienia zawartości statycznej do kontenera obiektów blob.
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla