Przez ostatni rok z planów udało się zrealizować co prawda jedną rzecz, ale tą najważniejszą a do tego wiele pobocznych rzeczy, które też opisze, bo okazały się priorytetowe.
Zacznę od tego, że sporą część czasu poświeciłem na projekt kierunkowy na studiach. Postanowiłem, że wykorzystam tą sytuacje, aby zrobić swoistą dokumentację mojego projektu inteligentnego domu. Pchnęło mnie to mocno w kierunku ustandaryzowania i ulepszenia dotychczasowych elementów IoT. Również w część backend’owej nastąpiło wiele zmian. Największą z nich są migracje z mikroserwis’ów do modularnego monolitu, które opiszę w kilku artykułach na blogu.
Jestem już bliski, by wpiąć Grafane oraz Promoeteusza do aplikacji IoT, gdyż wykorzystam Grafana Loki jako składowisko i wyszukiwarkę logów dla moich aplikacji i urządzeń. Wiec niestety, ale ElasticSearch’a bardzo możliwe, że w ogóle nie wykorzystam.
Również dzięki projektowi na studia dość mocno podszkoliłem się w Kubernetesie. Udało mi się od zera skonfigurować cały deployment (kilku serwisów i bazki) oraz podzielić go na odpowiedni pliki i uruchomić na chmurze Azure. Nie jest to jakiś spektakularny wyczyn, ale dużo mnie nauczyło, z czego jestem zadowolony. Jedna z niewielu użytecznych rzeczy, które wyniosłem ze studiów.
Co jeszcze się udało zrealizować:
Sporo czasu zajęło programowanie sterownika do samochodu, który by pozwolił na obsługę wyświetlaczy, poprawny odczyt z czujnika obrotów silnika i jeszcze sterowanie kilkoma urządzeniami. Na co nowy ECU nie pozwala. Ma to pośredni związek z pracą na stanowisku programisty oraz z samym programowaniem raptem połowę, ale mimo wszystko zajął sporo czasu, więc wypadałoby wspomnieć o tym.
Zmieniło się moje podejście do mikroserwis’ów oraz pracy z monorepo, ale na razie tylko w projektach realizowanych przez jedną osobę. Otóż utrzymywałem moją infrastrukturę inteligentnego domu cały czas jako komplet mikroserwis’ów i to na dodatek w osobnych repozytoriach. Przyznam, że jeżeli pracujemy w pojedynke to rozwijanie takiego systemu stawało się coraz trudniejsze i czasochłonne, stąd też decyzja o migracji, najpierw do monorepo, gdzie już na starcie się łatwiej pracuje, bo można łatwo uruchomić cały backend z a pomocą jednego pliku docker-compose oraz mając wszystkie pliki pod ręką znacznie łatwiej dokonywać zmian. Czekam na moment, kiedy uda mi się przeprowadzić migracje do modularnego monolitu, aby zobaczyć jak w tamtym przypadku będzie wyglądał workflow, ale to będę opisywał w dedykowanych do tego celu artykułach 🙂
Plany na kolejny rok:
- Migracja aplikacji IoT do modularnego monolitu
- Zastosowanie Kubernetesa do deploymentu aplikacji IoT na produkcje
- Podpięcie Grafany do aplikacji IoT
- Rozwój aplikacji IoT oraz urządzeń
- Powoli zacząć myśleć o zmianie stanowiska z programisty na DevOps’a :p