Ask Learn
Preview
Ask Learn is an AI assistant that can answer questions, clarify concepts, and define terms using trusted Microsoft documentation.
Please sign in to use Ask Learn.
Sign inThis browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Mam nadzieję, że dotarłeś tutaj, bo czytałeś 3 poprzednie nasze wpisy na temat oszczędzania i już wiesz, że chcesz poznać więcej trików. Jeśli nie czytałeś, wróć na początek serii. Zapraszam Cię do kolejnych 3 porad ale ostrzegam :), dziś będzie nieco bardziej technicznie. Dlaczego? Bo na koniec dnia koszty Twojego środowiska w chmurze w dużej mierze zależą od tego, jak wydajnie zbudowana jest Twoja aplikacja i z jakich rozwiązań korzysta. Paradygmat o tym, że lepiej optymalizować rozwiązanie niż "dorzucać więcej mocy przetwarzania" i w chmurze jest prawdziwy.
Zanim jednak wejdziemy w porady. Czy wiedziałeś, że ponad 16 usług w Azure możesz mieć zupełnie za darmo? https://azure.microsoft.com/en-us/free/pricing-offers/ Do pewnego poziomu użycia wiele usług nic nie kosztuje. Czy te darmowe oferty zawsze wystarczą by uruchomić coś produkcyjnego? Pewnie nie zawsze, ale aby poznać usługę, rozpocząć pierwsze konfiguracje czy nauczyć się choćby interfejsu, już tak.
Nie narzekaj też wtedy, że aplikacja działa wolno bo nawet nie będziesz umiał tego dobrze zdiagnozować. Zdecydowanie musisz poznać Application Insights. Nie tylko dowiesz się jakie są średnie czasy odpowiedzi Twojej strony, jak długo się ładuje, ilu ma unikalnych użytkowników ect… Najważniejszą cechą AppInsights jest to, że wykrywa sytuacji odbiegające od normy i pokazuje zależności zdarzenia od np. czasu odpowiedzi bazy czy innego serwisu z którego korzystasz. Daje to potężne wsparcie przy analizie zachowania aplikacji, rzuć okiem na przykłady App Insights Dependency. Polecam Ci też zobaczyć takie raporty jak 10 najdłużej ładujących się stron czy 10 najdłużej wykonujących się zapytań. Usługa poza zapisywaniem danych i prezentowaniem, pozwala Ci je szybko przeglądać i analizować. Narzędzie Analytics (tu masz demo https://analytics.applicationinsights.io/demo) pozwoli Ci zrobić własne analizy ale też pokaże miejsca, gdzie masz potencjalny problem (tzw. Smart Diagnostics). To nie koniec... Smart Detection samo wyśle Ci maila, jeśli zauważy, że wzrósł np. średni czas odpowiedzi. Poza tym, że dostaniesz maila, to na portalu zobaczysz na jakiej podstawie telemetria dokonała takiej analizy i pokaże Ci requesty, które za taki stan rzeczy odpowiadają.
Aha, mega ważne dla tych, którzy uważają, że Azure wspiera tylko technologie z Redmond. AppInsight nie działa tylko z .Net, lista wspieranych platform jest tutaj: /en-us/azure/application-insights/app-insights-platforms i co ciekawe, rozwija ją też community.
Pogadajmy wreszcie o kasie. Jeden z moich klientów ma… ponad 90 usług AppInsight. Płaci tylko za 6 z nich, pozostałe 84 są nieodpłatne. Te 6 usług monitoruje serwisy produkcyjne, gdzie zbierany jest duży wolumen danych (po ok. 5GB danych telemetrycznych per serwis). Łączny koszt miesięczny jest zawrotny, mniej niż 100$ .
Jeśli jeszcze nie masz AppInsight a chcesz zmniejszyć swój rachunek, zobacz jak działa Twoja aplikacja i pomóż jej działać wydajniej.
Ta porada powinna, tak naprawdę. być pierwsza. Architektura aplikacji to będzie przecież to, od czego zaczniesz budowę swojej aplikacji.
Warto przy tej okazji zadać sobie kilka pytań:
Chcesz więcej? Czy sprawdzałeś kiedyś jak działa Azure Tables? Co ty na to, by była to twoja prosta baza dla parametrów konfiguracji? Szybkie, tanie i łatwe w kodowaniu. Potrzebujesz kopiować dane po wielu kontach danych czy kopiować dane z DocumentDB? Azure Data Factory - znowu niezwykle tanie i bardzo pomocne przy wielu scenariuszach, a rzadko wykorzystywane. Robisz replikację Azure SQL do innego ośrodka? A czy wiesz, że baza w drugim ośrodku może być mniejsza (np. S0 zamiast S3)?
Takich pytań możemy postawić sobie wiele. Zanim zbudujesz aplikację w chmurze, zbuduj architekturę swojej aplikacji i sprawdź czy Twoje architektoniczne decyzje mają sens ekonomiczny. Warto zainwestować w kogoś, kto Ci pomoże w tym procesie. ROI dla takiej inwestycji jest nie policzalne, szczególnie na początku.
Środowisko zapasowe w tradycyjnym jego rozumieniu nie pasuje nieco do modelu chmurowego. Pytanie… czy naprawdę musisz mieć cały czas dostępne środowisko działające w drugim regionie? Nie wystarczy Ci np. replika danych do tego regionu czy kopie zapasowe? Jeśli boisz się, że całe DC wyleci w powietrze poza Backupem użyj DataFactory i kopiuj dane w inne miejsce. Pomyśl tak... być może możesz:) "oskryptować" tworzenie tego środowiska i stworzyć je, gdy będzie taka biznesowa potrzeba. "Infrastructure As a Code" to potężna koncepcja i trzeba nauczyć się z niej korzystać. Serio. Rzuć okiem na krótki a potężny wpis. Wraz z jednym zespołem przygotowaliśmy skrypt do postawienia środowiska w drugim ośrodku, ustawiliśmy "deployment" paczek z kodem, przygotowaliśmy skrypty do migracji parametrów, skrypty do rozgrzania aplikacji, ect. Efekt jest taki, że od momentu podjęcia decyzji o migracji do czasu postawienia drugiego, pełnego rozwiązania mija mniej niż 2 godziny a ciągle kilka zadań możemy zoptymalizować. Fajnie prawda? Najlepsze jest to, że za to drugie środowisko nie płacę dopóki nie muszę go postawić.
To była już 12 porada, przed nami jeszcze kilka. Epizod 5 już się pisze i to nie jest nasze ostatnie słowo! Miłego oszczędzania.
Ask Learn is an AI assistant that can answer questions, clarify concepts, and define terms using trusted Microsoft documentation.
Please sign in to use Ask Learn.
Sign in