Back in business

Ostatni raz byłem w pracy 23 grudnia. Tak, ponad 5 tygodni temu. No tak się jakoś złożyło, że do po świętach był urlop do końca roku, potem jedno dziecko zachorowało i nie mogło chodzić do przedszkola, potem drugie dziecko wzięło i się urodziło, więc tatuś kolejne dwa tygodnie spędził w domu… No i się nazbierało.

Żeby było jasne – uwielbiam swoją żonę i dzieci, ale dziś wyszło na jaw, że brakowało mi troszkę innego trybu, do którego przywykłem i że ja jednak lubię tę robotę. Cały dzień latałem między ludźmi dowiadując się o coraz to ciekawszych problemach i projektach, w które powinienem włożyć paluchy. To był dobry dzień i chyba od razu udało się pomóc paru osobom. Połapałem właściwie więcej niż planowałem i jestem diablo zadowolony.

Wracając do domu utknąłem w korku, ale to nic, wygrzebałem ze schowka płytę Blind Guardian, -10 do wieku. Pozostaje tylko zacytować klasyka:

Oh, it’s good to be back!

– Tony Stark

Go Azure!

Tak się zabawnie złożyło, że niedawno rozpoczął się nowy rok. Wtedy obroty siłowni rosną, a programiści robią postanowienia, że w wolnej chwili ogarną jakiś nowy język. Dla odświeżenia szarych komórek, dla sportu, dla satysfakcji, obojętnie, ale ogarną.
Jednocześnie Gutek pisze o nauce i poznawaniu języków, zapowiada serię wpisów o Go, a ja dowiedziałem się (no jakoś nie trafiłem na to info wcześniej, chociaż projekt na GitHubie jak widzę rozpoczął się pod koniec 2014), że trwają prace nad Azure Go SDK.
No i co? No i chyba trzeba będzie się wgryźć w tą serię i czegoś o języku dowiedzieć. Skoro będzie się dało z tego ogarniać Azure, którego używam na co dzień, to ciężko znaleźć jakąś wymówkę. Tylko lista rzeczy do nauczenia się w tym roku jakoś niebezpiecznie się rozrasta, a to dopiero styczeń 😉

Zarządzanie usługami z kodu C#

Czyli biblioteki Azure Management Libraries for .NET. Właśnie wyszła Beta 4, do której dodano obsługę całkiem pokaźnej paczki usług:

  • App Service
  • Azure SQL
  • Application Gateway
  • Traffic Manager
  • DNS
  • CDN
  • Redis Cache

To zaczyna być na prawdę interesujące rozwiązanie i opcje zaczynają być szerokie. Co prawda być może nie każdy ma na co dzień potrzebę dynamicznego tworzenia i usuwania usług, pewne scenariusze są zaadresowane przez inne usługi i rozwiązania (np. DevTest Labs), ale wykonywanie takich operacji z zarządzanego kodu, możliwość wplecenia tego w aplikację i tak jest ciekawe. Przyszło mi nawet do głowy jedno ciekawe, chociaż troszkę szalone rozwiązanie… Jak znajdę czas żeby się pobawić tą biblioteką to się podzielę bo to chyba fajna opcja do pokazania “a da się”. O ile się faktycznie da 😉 Zobaczymy.

Źródło: Manage App Service, SQL Database, and more – Azure Management Libraries for .NET

Nowe funkcje w T-SQL oraz niespodziewane odkrycie

Azure SQL wzbogacił się o kilka nowych funkcji z grupy String. Nie wchodząc w szczegóły i przykłady:

  • TRIM – wycina podane znaki z początku i końca napisu
  • STRING_AGG – skleja wartości wybranego pola z kolejnych wierszy w tabeli oddzielając je podanym znakiem (np. zrobi comma-separated listę e-maili per dział w firmie)
  • CONCAT_WS – skleja podane w parametrach wartości rozdzielając podanym znakiem (np. utworzy “nazwę” osoby łącząc spacjami pierwsze i drugie imię oraz nazwisko)

No i spoko, zawsze lepiej mieć gotowe (i prawdopodobnie wydajne) niż rzeźbić samemu i tworzyć własne rozwiązania w każdej bazie, w której się tego akurat potrzebuje.

Ale! Najlepsze jest to, że coś mnie tknęło w momencie kiedy chciałem zamarudzić “no dobra, contaty ładne, a gdzie jest split god damnit!?”. No i otworzyłem MSDNa, a tam pyk! STRING_SPLIT jest dostępny w SQL Server 2016, a że Azure SQL jest z nowinkami w miarę na bieżąco… Tadam!

Czego się to człowiek rykoszetem nie dowie przy okazji czytania newsów. Tak bardzo mi brakowało tego rodzaju funkcji jeszcze nie tak dawno. Już wiem co będę przerabiał jak wrócę z urlopu.

Źródło: New T-SQL string functions in Azure SQL Database

Query Editor w Azure Portal!

Dla mnie osobiście news dnia. Co prawda nie z dzisiaj, ale dziś się o nim dowiedziałem (dziwne, że RSS mi go nie zarzucił, no ale nic to). Portal Azure uzyskał, czy też raczej należałoby powiedzieć odzyskał, edytor zapytań. Można posłać zapytanie do bazy i obejrzeć wynik. Yay! Przydatne kiedy chce się z różnych dziwnych miejsc coś sprawdzić, albo puścić jakieś ratunkowe procedury.

To z zalet, a wady… no przeglądarka, czyli trzeba uważać na Backspace (jak nie będziemy akurat mieli focusa w okienku edycji to po grzybkach) oraz F5 – to Ci którzy korzystają z SSMS 🙂 Oprócz tego jest to dość wolne. Szybki test pokazał, że zapytanie, które odpalam z SSMSa mam zakończone w czasie ok 1 sekundy, a na ten sam wynik z portalu muszę czekać ok. 12 sekund. No ale jest to też funkcjonalność preview, więc nie ma co marudzić, a jako awaryjne narzędzie pewnie się przyda.

Źródło: Public preview: Interactive query experience for SQL databases

Nowy blog Microsoftu

Odkrywania ciekawostek ciąg dalszy. W styczniu start swojego bloga ogłosił azurowy CAT, czyli Customer Advisory Team, zespół w Microsoft odpowiedzialny za współpracę z klientami, analizowanie ich feedbacku i tworzenie na tej podstawie nowych rozwiązań. Tak przynajmniej o sobie napisali 🙂

Na razie jest hello worldowy post i garść linków do materiałów, w którym ten zespół maczał palce. Post wspomina o ponad 160 publikacjach ogółem (razem z SQL CAT) w różnych miejscach i zawiera odnośniki do wszystkich (nie liczyłem, ale na oko jest tego całkiem dużo, więc możliwe). Jest tam trochę fajnych materiałów, zarówno ogólno-poglądowych jak Checklists, Best Practices, Design Patterns czy adresujących konkretne zagadnienia developerskie, np. “How to implement a partitioned SendBatch method for Azure Service Bus entities”.

Skoro zdecydowali się na blogową formę to może i ciekawostek będzie więcej, albo chociaż szybciej będzie się można o nich dowiedzieć. Ja będę obserwował AzureCAT Guidance.

Awesome Azure IoT

Zgodnie z opublikowanymi pomysłami na 2017 co jakiś czas przebiegam wzrokiem po niedawnych publikacjach dotyczących różnych technologii (choć nadal głównie dotyczących Azure), których nie potrzebuję codziennie w pracy. Dziś mój wzrok przykuł taki tytuł. Otóż powstała lista rzeczy wartych do obejrzenia, sprawdzenia osobiście, przeczytania a dotyczących IoT w Azure.

Spis jest podzielony na różne kategorie i zaczyna od sprzętu, który z Azure potrafi współpracować, biblioteki, narzędzia i inne zasoby. Warto chyba przejrzeć, zwłaszcza jeśli dopiero zaczyna się przygodę z IoT w Azure. Czego mnie troszkę brakuje to oznaczenia jakichś najbardziej spektakularnych projektów przykładowych, z których można by zacząć podglądanie kodu i ogólne ogarnięcie jak to się całościowo prezentuje. Co prawda da się parę projektów znaleźć przez linki (np. zaraz na głównej stronie Windows 10 IoT Core), ale gdyby ktoś z pojęciem w temacie wybrał parę projektów dydaktycznie wartościowych i je tam podlinkował to chyba byłoby spoko. Zwłaszcza, że jest z czego wybierać, projektów, które są tworzone i publikowane, razem z kodem via github, jest mnóstwo i będąc na początku drogi czasem ciężko się przebić przez nie i wybrać coś co we właściwy sposób przeprowadzi przez pierwsze kroki.

Tak czy siak, do lekury: Awesome Azure IoT

Czyszczenia App Service ciąg dalszy

Dziś króciutko.

Po niedawnej zapowiedzi dotyczącej wyłączenia starych (niższych niż 1.x) wersji Azure Functions dziś informacja o przejściu w stan deprecated API Apps V1. Wersja ta przestanie funkcjonować 14 marca. Rozwiązaniem jest redeploy usługi na wersję V2. Więcej informacji pod linkiem niżej oraz w znajdujących się tam odnośnikach (np. do zmian w V2 względem V1).

Źródło: Preview API Apps Deprecation (Azure App Service Team Blog)

IaaS vs PaaS

Na blogach MSDN pojawił się wpis pokrótce (bo temat to rzeka głęboka, kręta i długa) porównujący pewne usługi, ich cechy, użyteczność w wybranych scenariuszach pod względem kategorii, czy też klasy – Infrastructure as a Service oraz Platform as a Service. Przewodni temat – co wybrać?

Dla mnie odpowiedź jest naturalna – chmura to PaaS. Oczywiście nie trzeba się z tym zgadzać, a biorąc pod uwagę co się u dostawców chmurowych wyprawia z różnymi projektami to nawet należy wytknąć palcem, że to jest czasem opcja lepsza (albo przynajmniej wygodniejsza). Nie liczę jakiegoś przenoszenia 1 do 1 aplikacji lub scenariuszy DR lokalnego centrum w chmurę, opieram się raczej na tworzeniu rzeczy nowych.

Niemniej, jakie by moje preferencje i zdanie nie były, wyboru dobrze jest dokonywać świadomie, dlatego takie zestawienia są spoko.

Źródło: What Microsoft Azure Service do I choose?

Zbawienny wpływ audiobooków

Ja to chyba zacząłem robić trochę podświadomie, ale zauważyłem po jakimś czasie, że tak jest – słuchanie audiobooków w samochodzie może poprawić bezpieczeństwo na drogach!

U mnie wygląda to tak, że od kiedy zacząłem słuchać podcastów i audiobooków podczas jazdy samochodem to (zakładając, że akurat nie ciśnie mnie krytycznie czas, np. przedszkole się zaraz zamyka) to zacząłem jeździć wolniej – raz, że jadę trochę dłużej i odrobinę więcej sobie zdążę przesłuchać; dwa, jadąc wolniej, spokojniej, znacznie łatwiej jest ogarnąć słuchanie ze zrozumieniem i zapamiętywanie nie przestając jednocześnie myśleć o tym co się dzieje na drodze.

Wygląda na to, że sytuacja win-win. Na razie sprawdza mi się kiedy jadę sam. Ciekawe czy uda mi się przekonać rodzinę do swojego doboru książek “samochodowych”?

No i skoro mowa o podcastach to linki – dwa azurowe audio podcasty, które uskuteczniam w samochodzie:

The Azure Podcast
Microsoft Cloud Show

Poza tym jest też Devtalk, no ale to oczywista oczywistość, jak mawia klasyk.

Edit: zastanawiam się, czy nie złapię się kiedyś na jeżdżeniu dookoła osiedla żeby dojechać do końca rozdziału. To by trochę umniejszało fajność rozwiązania 😉