Czas na refaktoring

Do wewnętrznych notyfikacji (ale też np. do rozsyłania haseł jednorazowych) używam spiętego z modemem Huaweii e3131 napisanej aplikacji, która za pomocą gnokii komunikuje się z modemem umożliwiając wysyłkę/odbiór SMS. 

Aplikacja napisana jest w bashu, frontend (oraz proste api) generowane jest za pomocą skryptów cgi. Ponieważ planuję rozwój bramki, a obecne rozwiązanie nie jest wystarczające, czas na zmiany – przepisanie całej aplikacji.

Czas na nowe. Nową aplikacje opieram o Flask (Python) + Gunicorn + Nginx. Wszystko zamknięte w kontenerze Dockera.

PS. Pisałem wcześniej o Gnokii, był to jeden z pierwszych wpisów na tym blogu w 2015 roku: Gnokii – smsy z serwera

 

Nowe API „Tle2Czml”

Cesium to biblioteka wspomagająca renderowanie Ziemi w 3D. Z użyciem tej biblioteki jakiś czas temu pojawił się pomysł, aby renderować pozycję satelitów. Orbitę oraz aktualną pozycję satelity określam za pomocą formatu czml.

Do generowania czml używam prostego API, które zostało napisane w Pythonie (z użyciem Flask). Na podstawie przekazanych danych orbitalnych satelity (TLE) aplikacja generuje string (JSON) zawierający dane w formacie czml.

Na chwilę obecną w API wymagana jest autoryzacja, jeśli pojawią się chętne osoby, mogę wypuścić użytkowników 😉

 

Podsumowanie roku 2018

W mijającym już roku 2018 prężnie rozwijały się nasze aplikacje… Dla niektórych z nich trzeba było przygotować dodatkową infrastrukturę, a niektóre z nich przeszły gruntowną reorganizację infrastruktury (przykładowo aplikacja z serwera shared została migrowana na infrastrukturę rozproszoną pracującą na dwóch VPS, a w „sezonie” na trzech + loadbalancer). Wszytko za sprawą ruchu, który z dnia na dzień z 0,5 req/sec urósł do 15 req/sec, a w sezonie do 25 req/sec…

Poniższe screeny pokazują skalę gwałtownego przyrostu – i ciągle rośnie 🙂 

Pushe odbierane przez klientów.

 

Sesje w porównaniu do 2017 roku… w roku obecnym 2k sesji dziennie 🙂

 

Inne aplikacje również doświadczyły sporych zmian, część z nich została migrowania na WP 😉

Rok 2018 kończmy dość dobrze, oby 2019 nie był gorszy!

 

EDIT: 

czy udało się zrealizować plany częstszych  postów (https://aljandor.ovh/blog/nowy-rok-nowe-plany/) ? Chyba tak, choć w 2019 na pewno będzie ich więcej (więcej konkretów!) 🙂 

 

Prace serwisowe, okna serwisowe – jak je robimy

Jakiś czas temu pisaliśmy o deploymencie – jak je robimy (https://aljandor.ovh/blog/deployment-jak-je-robimy/). Dziś napiszemy o pracach serwisowych.

Okna serwisowe przeprowadzamy zazwyczaj w nocy (wtedy jest najmniejszy ruch na serwerach). Termin prac serwisowych planujemy conajmniej dwa tygodnie wcześniej. 

Gdy planujemy okno serwisowe dla konkretnej usługi bierzemy pod uwagę wiele czynników. Pierwszym z nich jest ruch – w jakich godzinach jest najmniejszy? Drugim czynnikiem jest możliwość przełączenia na zapasowe środowisko (blue / green). Cześć najwyżej infrastruktury posiada refundowane środowiska produkcyjne  – przeprowadzanie prac na takiej infrastrukturze jest mniej bolesne 🙂

Powyższy wykres przedstawia odwiedziny użytkowników jednej z aplikacji. Prace