Life coding and everything

Posts

Platformy PaaS jako narzędzie do szybkiego prototypowania cz. 8. – zarządzanie infrastrukturą z poziomu GitLab

W poprzednich częściach pokazaliśmy jak możemy w naszej prototypowanej aplikacji szybko zbudować pełny pipeline CI/CD. Następnie udało nam się przeprowadzić deployment na chmurach Heroku i Azure, oraz cały kod przedstawić w postaci Terraformowego skryptu o stanie współdzielonym w zewnętrznym magazynie. Moglibyśmy teraz ruszyć o krok dalej, pozwalając naszemu repozytorium nie tylko zarządzać kodem, ale też dbać o aplikowanie zmian w chmurze.

Read More

Platformy PaaS jako narzędzie do szybkiego prototypowania cz. 7. – Terraform i zarządzanie stanem przez Azure Storage

Obiecałem w poprzednich rozdziałach, że zadbamy o lekkie usprawnienia security. Lokalny stan w terraform, nie stanowi najlepszego rozwiązania wystarczy, że podejrzymy wygenerowane pliki .tfstate i niezależnie od sposobu przekazania sekretów – lądują one tam czystym tekstem. Dodatkowo jeśli więcej niż jedna osoba pracuje nad zmianami infrastruktury – stan byłby ciągle trzymany niezależnie na różnych systemach. Potencjalnymi rozwiązaniami tego problemu mógłby być wspóldzielony dysk lub nawet lepiej inny rodzaj bezpiecznego składowiska.

Read More

Platformy PaaS jako narzędzie do szybkiego prototypowania cz. 6. – Terraform

W poprzednich częściach cyklu przeszliśmy szybką drogę do stworzenia aplikacji mobilnej w oparciu o Azure App Service. Wszystkie przykłady przedstawiałem w oparciu o interfejs graficzny, którego intuicyjność pozwala poznać ogrom możliwości chmury. W pewnych okolicznościach wyklikiwanie wszystkiego może okazać się niepraktyczne, a co gorsza może prowadzić do poważnych błędów.

Read More

Platformy PaaS jako narzędzie do szybkiego prototypowania cz. 4. – Azure App Service

Zanim ruszymy dalej z artykułami chmurowymi, krótkie ostrzeżenie -korzystając z AWS, czy Azure powinniśmy pamiętać, że subskrybujemy usługi płatne – do założenia konta potrzebna jest karta debetowa lub kredytowa (i niestety wszelkiego rodzaju prepaidy odpadają). Dodatkowo wiele oferowanych usług klasy Enterprise po prostu kosztuje krocie, należy więc za każdym razem sprzątać testowane przez nas usługi i kontrolować koszty. Powinniśmy też zadbać o ochronę naszego konta i dostępu do zasobów tj. włączyć MFA, chronić tokeny, stosować zasadę minimalnych uprawnień itd.
Jakiekolwiek zaniedbanie w tej dziedzinie może narazić nas na spore koszty.
Sami dostawcy oferują na swoich stronach zestawy najlepszych praktyk dot. bezpieczeństwa https://aws.amazon.com/architecture/security-identity-compliance/ i https://azure.microsoft.com/mediahandler/files/resourcefiles/security-best-practices-for-azure-solutions/Azure%20Security%20Best%20Practices.pdf z którymi zdecydowanie warto się zapoznać.

Read More

Platformy PaaS jako narzędzie do szybkiego prototypowania cz.2.

W poprzednim artykule cyklu zaprezentowaliśmy prostą aplikację, którą w ekspresowy sposób można wdrożyć z wykorzystaniem Heroku. Co w przypadku, gdy oczekujemy czegoś więcej niż tylko połączenia z zewnętrznym API jak np. dodatkowej warstwy persystencji? Oczywiście dostawcy PaaS, aby dostarczyć dojrzałe rozwiązania musieli udostępnić odpowiednie oprzyrządowanie. W przypadku Heroku w sukurs przychodzą nam Add-ony (dodatki), które można w dowolny sposób podłączać do już stworzonej aplikacji. Oczywiście w modelu PaaS nie mamy takiej dowolności w porównaniu do własnoręcznego zarządzania, ale w zamian otrzymujemy prekonfigurowane komponenty, które działają właściwie od razu.
Jednak każdy z dodatków jakie możemy użyć na platformie ma swoją cenę i pewne ograniczenia regionalne, ale w zamian odpadają wszelkie dodatkowe koszty związane z administracją i utrzymaniem.

Read More

Platformy PaaS jako narzędzie do szybkiego prototypowania cz.1.

Koncepcja PaaS stanowi jeden z modeli chmury obliczeniowej opierającej się o usługi związane z uruchamianiem i zarządzaniem aplikacjami w ramach określonego ekosystemu. Wśród dostawców występuje ogromne zróżnicowanie oferowanych usług i rodzajów wsparcia. W ramach krótkiej serii artykułów chciałbym pokazać jak „ugryźć” temat i jak możemy za w miarę niewielkie pieniądze lub całkowicie za darmo z naszej lokalnej aplikacji wylądować z projektem działającym gdzieś w sieci.

Read More

Nie taki znowu zwykły SQL Server cz. 2 – CTE w modelach hierarchicznych cd.

Nadszedł czas na kontynuację naszej przygody z CTE. W poprzednim odcinku pokazałem jak bardzo wspólne wyrażenia tablicowe zbliżone są do podzapytań oraz jak można z nich korzystać. Wspomniałem też na samym początku, że pozwalają na obsługę modeli hierarchicznych z poziomu języka SQL, zatem postaram się nieco przybliżyć to zagadnienie.

Read More

WeeklyJavaSnippets#1 Splitting and joining Strings in Java

Wpadłem na pomysł kolejnego cyklu, który mógłby się przewijać na tym blogu, stanowiącego zbiór krótkich kawałków kodu czasem oczywistych, czasem nie, które… robią swoją robotę. Czy kiedykolwiek czułeś, że wynajdujesz koło po raz n-ty? Czy pozornie prosta operacja to kolejne i kolejne linijki kodu? Wezwij Drużynę A… Wybaczcie zapędziłem się. Po prostu zerknij na Java Snippets! A zatem nie przeciągając…

Read More

ZeroTurnaround cheatsheets – nie tylko dla Javowców

Zapewne większość z was kojarzy firmę ZeroTurnaround – to twórcy świetnego narzędzia JRebel, pozwalającego na przeładowywanie kodu w locie, co znacząco pomaga przy pracy z cięższymi projektami. W zasadzie największą wadą tego rozwiązania były koszty licencji, jednak kto pracował, ten miał okazję docenić, gdy nie musiał czekać X minut na cały redeploy aplikacji.. Ale nie o tym i nie jest wpis sponsorowany 🙂 Chłopaki i dziewczyny z ZT na swoim blogu wrzucają fajne skrótowe cheatsheety, które mogą przydać się każdemu z was:

Read More

Nie taki znowu zwykły SQL Server cz. 1 – słów kilka o CTE

Niniejszym artykułem chciałbym rozpocząć cykl poświęcony przydatnym, ale rzadziej wykorzystywanym elementom języka SQL jak i samego MS SQL Server’a. Podstawowe operacje CRUD wykonujemy bez większych trudności już po krótkim szkoleniu, jednak niejednokrotnie brakuje narzędzia upraszczającego życie oraz lepiej pasującego do aktualnych okoliczności.

Read More