Menu / szukaj

Zdalne włączanie \ wyłączanie Azure Function

Dziś trochę inny temat. Czy zastanawialiście się kiedyś jak można wbudować w system możliwość wyłączania Azure Functions? Tak, aby nasza aplikacja była w stanie włączyć jakąś funkcję w miarę potrzeb i potem ją wyłączyć. Powodów takich wymagań może być wiele. Możemy przykładowo chcieć odroczyć przetwarzanie jakiś wiadomości do godzin nocnych, tak aby w trakcie dnia nasza funkcja nie obciążała elementu naszej infrastruktury. Innym dość często spotykanym pytaniem w trakcie różnego rodzaju meetupów lub hackatonów jest to czy jesteśmy w stanie w jakiś sposób wyłączyć funkcję automatycznie jeśli wykorzystamy darmową ilość wykonań funkcji. Czytaj dalej

Zapraszam na wrześniowe warsztaty

Choć mamy jeszcze maj, to już teraz chciałbym zaprosić Was na warsztaty które będę prowadził we wrześniu.

Pierwsze z nich – CosmosDB jako baza danych dla rozwiązań typu serverless – odbędą się w trakcie konferencji ProgNET London 2018 w dniu 13 września 2018 roku. Przez 3,5 godziny będziemy poznawać dokumentową bazę danych CosmosDB. Zaczniemy od krótkiego wstępu, potem poznamy najważniejsze funkcjonalności tego typu bazy danych, a następnie skupimy się na optymalizowaniu zapytań. Na koniec zastanowimy się jak można zoptymalizować koszty bazy danych. Dodatkowo można przedłużyć pobyt w Londynie na weekend i poznać miasto.

Drugi z nich – Serverless w Microsoft Azure – obędzie się już w Polsce – w Krakowie. W trakcie DevConf 2018 w dniu 26 września 2018 roku. W ich trakcie poznacie Azure Functions, Logic Apps, Flow oraz Event Grid. Nauczycie się jak w bardzo prosty sposób można zbudować skalowalny back-end dla naszych rozwiązań. I co najważniejsze wykorzystując podejście Serverless tworzenie skalowalnych i bezpiecznych aplikacji stało się bardzo proste. Możesz więc wykorzystać swoją kreatywność w celu wymyślania nowych funkcjonalności.

Do września jest jeszcze trochę czasu, ale kupując bilety na konferencje już teraz możecie trochę zaoszczędzić.

Wysyłanie maili z Azure Functions – SendGrid

Staram się przekonać programistów, że obecnie powinniśmy zmienić nasze podejście do budowania aplikacji w sposób efektywny. Dotychczasowe budowanie aplikacji w sposób samodzielny od prawie zera powinniśmy zamienić na komponowanie rozwiązania przy wykorzystaniu gotowych elementów. Tak, aby ograniczyć ilość wytwarzanego przez nas kodu. Pewnie zgodzicie się, ze mną, że wraz ze zmniejszeniem ilości kodu, maleje również prawdopodobieństwo popełnienia błędu.

Taki podejście chciałbym zastosować w tym przypadku. Naturalnym wyborem dla wysyłania maili w przypadku Azure Functions jest usługa SendGrid. Czytaj dalej

Azure Function – Upload zdjęć do Azure Blob Storage

Dziś kolejny przykład użycia Azure Functions w kodzie produkcyjnym. Problem jest dość prosty – chcemy wykorzystać funkcję do wgrania zdjęcia do Azure Blob Storage. Oczywiście można było wgrać zdjęcie od razu do Azure Blob Storage, ale takie podejście powoduje dość silne uzależnienie się od tego rozwiązania. Z tego powodu została zastosowana funkcja jako element pośredni.

Funkcja ta stanowi API pozwalające na przesłanie zdjęcia zakodowanego w base64 do wybranego przez nas miejsca. Takie podejście pozwoli nam w przyszłości na łatwą zmianę wybranego rozwiązania służącego do przechowywania plików. Czytaj dalej

Optymalizacja kosztów korzystania z API RoyalMail za pomocą Azure Functions

Chciałbym się z Wami podzielić rozwiązaniem, które ostatnio zastosowałem w celu zmniejszenia kosztów związanych z wykorzystania API udostępnianego przez RoyalMail. W jednym z projektów, klient poprosił o możliwość uzupełniania adresu na podstawie wpisanego kodu pocztowego. Problem dotyczył systemu działającego w Anglii, a tam na podstawie kodu pocztowego można ustalić bardzo dokładnie adres. Pozwala to przyspieszyć znacząco wprowadzanie adresu w różnego rodzaju formularzach. Czytaj dalej

Azure Messaging – statystyki

Czasami możemy się zastanawiać jak duża jest chmura. Dlatego też, lubię pojawiać się czasem na prezentacjach osób z Microsoftu, nawet jeśli są one bardziej marketingowe niż praktyczne. Czasami zostają tam przedstawione dane statystyczne dotyczące ich produktów. Podobnie było we wrześniu w trakcie Progressive .NET 2017. W trakcie jednej z prezentacji zostały przedstawione dane dotyczące systemu Azure Messaging – 8 wskaźników, które pokazały rozmiar tego systemu.

W głowie od razu pojawiła się myśl, że z jednej strony Azure Messaging działa bardzo wydajnie i niezawodnie. Z drugiej natomiast pomimo tak dobrych wyników w każdej sekundzie przetwarzania średnio 13500 kończy się błędem.

Caching w Azure Function – czyli jak podpiąć Redis’a

Pewnie już wiecie, ale tak w ramach przypomnienia… Microsoft przygotował niewielki zestaw bardzo przydatnych komponentów, które pozwalają na zintegrowanie naszej funkcji z następującymi usługami: Azure Storage, Azure Event Hubs, Azure Service Bus, Azure Mobile Apps, Azure Cosmos DB, Azure Notification Hubs, Twilio, SendGrid. Lista ta pozwala na zaspokojenie różnorakich scenariuszy. Ale jak zawsze chcielibyśmy coś więcej.

Dzisiaj chciałbym Wam pokazać jak w bardzo łatwy sposób można dodać cache do naszej funkcji. W przykładzie zostanie wykorzystany Redis. Pewnie zastanawiacie się po co? Niejednokrotnie mówiłem, że funkcje powinny być atomowe, bezstanowe, szybkie, … Rzeczywistość nie zawsze jest taka różowa. Czasami musimy coś zoptymalizować i zrobić rzecz nie do końca zgodnie z teorią. I tak było w tym przypadku. Czytaj dalej