Tym razem, gratka dla każdego developera oraz dev opsa, czyli cuda na kiju z netlify.com. Pierwszy raz miałem styczność z netlify.com około rok temu, podczas testowania frameworku gatsby.js. Postanowiłem sprawdzić jeden z starterów gatsby.js z proponowanym "once click install" na netlify.com.
Muszę przyznać, że to co znalazłem na tej platformie, bardzo mi zaimponowało. Netlify to platforma do zarządzania, automatycznego "deploy'a" (continuous integration) współczesnych projektów webowych zupełnie za darmo* (*do 100 000 odwiedzin w miesiącu), postanowiłem podzielić się swoim swoim doświadczeniem z tą usługa oraz dlaczego warto przyjrzeć się tej platformie na własną rękę.
Continuous integration
Pierwsza i główna zaleta netlify.com to integracja z projektem za pośrednictwem GitHuba, BitBucketa, GitLaba ... . Dla full stackowca takiego jak ja możliwość oddania pracy ustawień, deploya pod automatyczny system to niesamowita oszczędność czasu. Za każdym razem kiedy dajemy push na nasz master branch, netlify.com zaczyna działać i automatycznie budować nową wersje strony. Warto zaznaczyć, że nowe wersje aplikacji nie są nadpisywane a tworzona jest nowa wersja systemu, w każdej chwili możemy dać rollback do wcześniejszej lub nawet pierwszej wersji systemu jaka została wysłana na serwis, wszystko za pomocą panelu admina lub API netlify.com
Netlify także w swojej usłudze daje możliwość ustawienia powiadomień mailowych lub Slack'owych, kto gdzie i kiedy wypuszcza nową wersje. Mail może także zawierać link do nowego deploy'a ale także starszych wersji, przez co ewentualna ekipa testowa może porównywać sobie obecną wersja z starą. Netlify o dziwo trzyma wszystkie nasze wersje aplikacji ciągle online.
Nie jesteśmy ograniczeni tylko do wersji master, netlify pomoże także nam przy side-branch'ach, możliwość podejrzenia takiej wersji appki może okazać bardzo dużą pomocą środowisku produkcyjnym.
TESTY A/B
Następna usługa jak mnie zainteresowała to darmowe testy A/B aplikacji, dla nie wtajemniczonych jest to udostępnienie dwóch wersji tego samej strony czy appki na jednym adresie. Zazwyczaj takie testy wykonuje się w dużo późniejszym studium życia apki (kiedy mamy już co optymalizować). Netlify nie tylko bardzo ułatwia takie testy, ale także daje opcje puszczania traffic'u w zależności od upodobań, możemy dowolnie ustawiać wartość procentową ruchu internetowego do danej wersji systemu.
DNS, Let's Encrypt
Netlify.com daje nam do dyspozycji także swój panel obsługi DNS'ów oraz darmowe certyfikaty SSL (let's encrypt) na każdy z projektów jaki zapiszemy na tym portalu. Jedne o czym trzeba pamiętać to zanim przekażemy nasze domeny na ich serwery, musimy zadbać o własny serwer mailowy. Mamy pełen dostęp do rekordów DNS więc ustawienie odpowiednich rekordów MX nie powinno być problemem.
LAMBDA Functions
Serwis netlify siedzi na serwerach AWS, chyba z dobroci swoich serc twórcy serwisu pozwolili użytkownikom za darmo korzystać ze skryptów Lambda.
Forms i Identity
Netlify także ma do zaproponowania własną obsługę formularzy z automatycznymi powiadomieniami dla właścicieli apki, oraz coś w rodzaju ich własnej wersji Identity AWS, z której możemy skorzystać do autoryzacji użytkowników serwisu. W usłudze mamy opcje email i google oraz w wersji premium dostęp do innych providerów jak facebook czy Auth0
Proxy, redirect i headers.
Na koniec, możemy także za pomocą plików statycznych _redirects ustawiać własne proxy, redirects i rewrites. Mamy także kontrolę nad headers aplikacji gdzie możemy ustawić np. Content Security Policy (CSP) lub X-frame options.
Podsumowanie
Netlify jest jak własna ekipa dev'opsów pracujących cały dzień za darmo dla ciebie. Idealna na testy lub jako naj nie zwyklejszy hosting pod aplikacje webową. Nie jestem związany w jakikolwiek sposób z firmą netlify, po prostu uważam, że tak powinna wyglądać platforma hostingowa dla profesjonalnych developerów.
Pozdrawiam
SpaceGhost