Aplikacje w Microsoft Azure
Budujemy i wdrażamy aplikacje w chmurze Microsoft Azure. To dobry wybór dla aplikacji w .NET, dla firm, które mają już subskrypcję Azure, i dla danych, które muszą pozostać w Polsce, bo Azure ma region w Warszawie.
Kiedy aplikacja dobrze sprawdzi się w Azure
-
Aplikacja powstaje w .NET
Azure i .NET rozwija ten sam producent. Narzędzia wdrożeniowe, monitoring i biblioteki do usług Azure są dla .NET najpełniejsze, co skraca konfigurację.
-
Firma ma już subskrypcję Azure
Aplikację uruchamiamy w Twojej subskrypcji, obok systemów, które już tam działają. Rozliczenie chmury pozostaje w jednym miejscu.
-
Dane mają pozostać w Polsce
Region Poland Central działa w Warszawie. Aplikację, bazę danych i kopie danych możemy uruchomić w całości na terenie Polski.
-
Aplikacja ma korzystać z modeli AI
Azure OpenAI udostępnia modele GPT w regionach Unii Europejskiej, w ramach tej samej subskrypcji co aplikacja.
Kiedy wybrać Azure, a kiedy coś innego
Azure polecamy dla aplikacji w .NET, dla firm, które mają już subskrypcję Azure lub umowę z Microsoft, oraz wtedy, gdy dane muszą pozostać w Polsce. W takich projektach Azure skraca konfigurację, a rozliczenie chmury pozostaje w jednym miejscu.
Jeśli aplikacja powstaje w Node.js, ma bardzo nierówny ruch i opiera się na wielu zdarzeniach, szerszy wybór usług serverless daje AWS. Jeśli najważniejsze jest proste uruchamianie kontenerów i analiza dużych zbiorów danych, porównujemy Azure z Google Cloud. Przy małej aplikacji ze stałym ruchem pokazujemy też koszt wariantu z jednym serwerem.
Przykładowa architektura aplikacji w Azure
- Interfejs i backend .NET działają w Azure App Service, z osobnym slotem dla wersji testowej.
- Dane zapisujemy w Azure SQL Database albo Azure Database for PostgreSQL w regionie Poland Central.
- Pliki użytkowników trafiają do Azure Blob Storage.
- Zadania w tle, takie jak powiadomienia i dokumenty, wykonują Azure Functions, a kolejkuje je Service Bus.
- Hasła i klucze przechowuje Azure Key Vault, a aplikacja odczytuje je bez zapisywania w kodzie.
- Błędy i wydajność śledzimy w Application Insights, a próg wydatków ustawiony w Cost Management wysyła powiadomienie, zanim rachunek go przekroczy.
Przykład: aplikacja .NET dla firmy w regionie Poland Central
Tak może wyglądać aplikacja dla firmy, która pracuje już w Azure, a dane chce przechowywać w Polsce. Opisujemy scenariusz, a nie konkretne wdrożenie.
- Aplikacja .NET z interfejsem dla pracowników działa w Azure App Service, w regionie Poland Central w Warszawie.
- Dane zapisujemy w Azure SQL Database albo Azure Database for PostgreSQL w tym samym regionie, z automatycznymi kopiami i przywracaniem do wybranego momentu.
- Pracownicy logują się tymi samymi kontami firmowymi, których używają w innych usługach firmy w Azure. Gdy ktoś odchodzi z firmy, wyłączenie konta odcina mu też dostęp do aplikacji.
- Uprawnienia w aplikacji wynikają z grup, do których należy pracownik, więc dział IT nadaje je w jednym miejscu.
- Nowa wersja trafia najpierw do slotu testowego. Po akceptacji zamieniamy sloty i użytkownicy pracują już na nowej wersji, bez przerwy.
Taki układ wybieramy, gdy firma ma już subskrypcję Azure i chce, żeby nowa aplikacja korzystała z tych samych kont i zasad dostępu co reszta jej systemów.
O wyborze między .NET a Node.js piszemy na stronie aplikacje .NET na zamówienie. Co firma zyskuje na aplikacji dopasowanej do własnego procesu, opisujemy na stronie aplikacje webowe dla firm.
Co robimy
- Projektujemy architekturę aplikacji w Azure i szacujemy koszt w kalkulatorze cen Azure
- Wdrażamy aplikacje webowe w Azure App Service, a kontenery w Azure Container Apps
- Budujemy funkcje uruchamiane zdarzeniami w Azure Functions
- Dobieramy bazę danych, Azure SQL Database albo Azure Database for PostgreSQL
- Przekazujemy zadania i zdarzenia przez Azure Service Bus
- Przechowujemy pliki w Azure Blob Storage, a hasła i klucze w Azure Key Vault
- Opisujemy infrastrukturę w Bicep lub Terraform i automatyzujemy wdrożenia
- Konfigurujemy logi i alarmy w Azure Monitor i Application Insights
Dla kogo
- Planujesz aplikację w .NET i chcesz ją uruchomić w chmurze
- Twoja firma ma subskrypcję Azure i szuka zespołu, który zbuduje na niej aplikację
- Dane aplikacji muszą być przechowywane w Polsce
- Chcesz przenieść aplikację .NET z serwera do usług zarządzanych Azure
App Service i Container Apps
Aplikację .NET albo Next.js wdrażamy w Azure App Service, który zapewnia adres HTTPS, skalowanie i osobne sloty dla nowej wersji. Nową wersję uruchamiamy w slocie testowym, sprawdzamy ją i zamieniamy z produkcyjną bez przerwy w działaniu. Aplikacje złożone z kilku kontenerów uruchamiamy w Azure Container Apps, które skalują każdą usługę osobno.
- Sloty wdrożeniowe i zamiana wersji bez przerwy
- Skalowanie zależne od ruchu
- Kontenery bez zarządzania klastrem
Azure Functions i Service Bus
Zadania, które nie muszą działać przy użytkowniku, przenosimy do Azure Functions. Wysyłka powiadomień, generowanie dokumentów czy import danych uruchamiają się po zdarzeniu albo według harmonogramu. Gdy zadań jest dużo, kolejkuje je Azure Service Bus, więc żadne nie zginie przy chwilowym przeciążeniu.
- Funkcje uruchamiane zdarzeniem lub harmonogramem
- Kolejki chroniące przed utratą zadań
- Opłata za faktyczne wykonania
Bazy danych i monitoring
Dla aplikacji .NET często wybieramy Azure SQL Database, a gdy aplikacja korzysta z PostgreSQL, Azure Database for PostgreSQL. Obie bazy mają automatyczne kopie i aktualizacje po stronie Microsoft. Działanie aplikacji śledzimy w Application Insights: widzimy czas odpowiedzi, błędy i zależności między usługami.
- Zarządzane bazy SQL i PostgreSQL
- Kopie bazy z przywracaniem do wybranego momentu
- Śledzenie błędów i wydajności w Application Insights
Jak pracujemy
-
Przegląd subskrypcji
Sprawdzamy, co działa w Twojej subskrypcji Azure, jakie są zasady nazewnictwa i uprawnień oraz w którym regionie mają być dane.
-
Architektura i koszt
Rozpisujemy usługi Azure dla aplikacji i podajemy szacunkowy miesięczny koszt dla przewidywanego ruchu.
-
Budowa i środowisko testowe
Infrastrukturę tworzymy z plików Bicep lub Terraform, a aplikację wdrażamy automatycznie przy każdej zmianie.
-
Wdrożenie produkcyjne
Zamieniamy slot testowy z produkcyjnym, sprawdzamy Application Insights i dopiero wtedy kierujemy domenę na nową wersję.
Doświadczenie
- Backend platform Offer Exchange i Service Quotes zbudowaliśmy w .NET Core, technologii, w której Azure ma najpełniejsze wsparcie.
Realizacje
-
Offer Exchange
Platforma SaaS do zakupów firmowych, która łączy w jednym miejscu zapytania ofertowe, porównanie ofert od handlowców i zamówienia.
-
Service Quotes
Aplikacja dla firmy usługowej z klientami B2B. Obsługuje zlecenia, przydział pracowników, wycenę wykonanej usługi i płatność online.
Najczęstsze pytania
Czy uruchomicie aplikację w regionie Azure w Polsce?
Tak. Region Poland Central działa w Warszawie i obsługuje m.in. App Service, Azure Functions, Azure SQL i Azure Database for PostgreSQL. Przed startem sprawdzamy, czy wszystkie usługi potrzebne aplikacji są w nim dostępne.
Czy możemy użyć naszych kredytów lub umowy z Microsoft na Azure?
Tak. Aplikację uruchamiamy w Twojej subskrypcji, więc rozliczenie chmury przechodzi przez Twoją umowę z Microsoft lub partnerem. My dostajemy uprawnienia potrzebne do budowy i utrzymania aplikacji.
Czy przeniesiecie aplikację .NET z serwera do Azure?
Tak. Najczęściej zaczynamy od wdrożenia aplikacji w App Service bez zmian w kodzie, a potem stopniowo przenosimy zadania w tle do Azure Functions i bazę do Azure SQL. Kolejność ustalamy po przeglądzie kodu.
Zobacz także
-
Aplikacje webowe dla firm
Budujemy systemy do obsługi zleceń, wycen i zamówień z osobnymi panelami dla klientów, pracowników i menedżerów.
-
Utrzymanie i rozwój aplikacji webowych
W abonamencie dodajemy nowe funkcje, instalujemy poprawki bezpieczeństwa i dbamy o serwer. Czas reakcji określa umowa SLA.