Oh the irony…

Bloga ogarnęła pewna posucha, za co przepraszam. Przeciwności losu nie dały mi za bardzo dokończyć tego, co miałem zaplanowane. Obiecuję troszkę więcej aktywności w przyszłym tygodniu (community delivers!).

A tymczasem mała, niezbyt azurowa, za to cross-systemowa anegdotka. Postanowiłem zrobić lokalną kopię starego systemu napisanego w PHP i hostowanego gdzieś w Internetach na maszynie z linuksem.

Na początek zaznaczę, że jestem użytkownikiem Windows. Utworzyłem sobie pachnący nowością, pusty folder i rozpocząłem kopiowanie. Wszystko zgodnie z planem, aż do momentu gdy… „Plik o takiej nazwie już istnieje”.

W ciągu parunastu sekund przeszedłem od zaskoczenia, przez załamanie, po śmiech.

Etap 1) Irytacja. Co do licha, jak to istnieje?! Pusty folder!

Etap 2) Oświecenie z załamaniem. Nieeee, to niemożliwe… skrypty o „tej samej” nazwie, tylko dużą albo małą literą. W tym samym folderze. Rewelacja.

Etap 3) Śmiech. No nic, podamy inną nazwę i potem będziemy coś poprawiać. Jak to się tam nazywa? „checkunique.php”

The irony was strong with this one! 🙂

Nauka na przyszłość – nie zabierać się za legacy stuff w piątek 😉

Dziś klasyka – Storage i WebJobs

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. Czytaj dalej Dziś klasyka – Storage i WebJobs

Niespodzianka powiększonej quoty

Na przełomie poprzedniego i bieżącego roku pierwszy raz miałem przyjemność (czy też coś w rodzaju przyjemności) przeprowadzać operację powiększenia quoty na jednej z usług, konkretnie na Notification Hub Namespace.

Ograniczenie stanowiła maksymalna liczba hubów, które można założyć w pojedynczym namespace (w przypadki Tieru Standard – 100). Potrzeba posiadania ponad 100 hubów może się wydać nieco dziwna, ale jednak jest realna. Przy specyficznej działalności wydawniczej w zakresie aplikacji mobilnych, nie jest to szczególnie trudne do osiągnięcia, zwłaszcza dla większych wydawnictw. Czytaj dalej Niespodzianka powiększonej quoty

Fun with Functions – tanie schedulowanie

Jest taka usługa w Azure jak Scheduler. Usługa jak usługa – pozwala odpalać pewien zestaw akcji, zasadniczo przewidzianych pod kątem webjobów, via request HTTP (do tych ręcznie wywoływanych) albo via kolejka (do tych continuous) o zadanym czasie. Ma różne opcje i udogodnienia, ale ma też wady – przede wszystkim raczej proste ustawienie cyklu, ogarnia co prawda strefy czasowe, ale czas letni/zimowy już nie, w dodatku w opcji bezpłatnej wykonywać można najczęściej co godzinę. Czytaj dalej Fun with Functions – tanie schedulowanie

Azure SQL i wyczerpanie connection pool size

„Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached.”

Dla bardziej doświadczonych ode mnie programistów pewnie nie ma to żadnej tajemnicy. Wiedzą co może powodować takie zachowanie, potrafią napisać kod, który będzie bezpieczny od takiego „efektu”. Z kolei administratorzy DB wiedzą bez wątpienia jak namierzyć i monitorować takie niebezpieczne sytuacje. Czytaj dalej Azure SQL i wyczerpanie connection pool size