Tak się akurat złożyło, że ostatnio robiłem jakieś refactorowe zmiany i zwyczajne zmagania z tuningiem Storage i WebJobów wypełniały mi większość dnia. Tym bardziej, skoro jestem na bieżąco, przykuły moją uwagę posty z zasubskrybowanych blogów.
Najpierw Storage:
Super seria trzech artykułów o możliwościach Storage i best practices w programowaniu (ustawienia konkretnych parametrów dla konkretnych przypadków) oraz projektowaniu (np. partycjonowanie we wszystkich usługach Storage). Świetne artykuły, planuję wykorzystać niektóre rady.
- Microsoft Azure Storage Best Practices (Part 1)
- Microsoft Azure Storage Best Practices (Part 2)
- Microsoft Azure Storage Best Practices (Part 3)
No i WebJobs:
- nowe SDK 2.0 do WebJobów: https://github.com/Azure/azure-webjobs-sdk/releases/tag/v2.0.0
- jak to joby dalej pracują mimo zatrzymania ich Web Appa i jak to ogarnąć, żeby mieć nad tym kontrolę: Failed to run WebJob
Swoją drogą, jeśli chodzi o drugi punkt ostatnio zaliczyłem trochę odwrotnego (za mało uruchomień, nie za dużo), ale równie radosnego faila. Załatwiłem na cacy joby na starszym systemie, gdzie jeszcze nie pracowały w trybie Continuous wyzwalane z kolejki, a jako Scheduled jobs odpalane ze Schedulera.
Sprawa była bardzo prosta – puściłem sobie deployment na slot, zrobiłem swap… No i joby wylądowały na staging. Gdyby były Continuous to by sobie nadal ciągnęły z kolejki i nic strasznego by się nie stało (przynajmniej nie od razu). Ale nie były, wraz ze slotem zmienił się adres do nich, więc Scheduler powiedział “sie ma, ale nie ma takiego joba, nara!”. No i zanim się połapałem to był lekki smutek.
Tak to jest – albo pamiętać o tym co się ma na Web Appie, albo trzeba inaczej organizować wyzwalanie, albo mieć turbo zautomatyzowany deployment, który ogarnia całego WebAppa, ze wszystkimi jego projektami.
Jedna mądrość życiowa więcej. Szczęśliwie strat w ludziach i dolarach nie było 🙂
A i jeszcze jedno apropos Web Apps – w końcu moje modły zostały wysłuchane! Nie wiem kiedy to zmieniono, ale teraz zwróciłem na to uwagę – metryki nie swapują się razem ze slotami! Yay! Nic mnie bardziej nie wkurzało niż pusta historia po podmianie staging na produkcję.