Browsed by
Tag: devops

Jak zrobić wdrożenie aplikacji bez przestojów?

Jak zrobić wdrożenie aplikacji bez przestojów?

Dziś porozmawiamy o wdrożeniach i o tym, w jaki sposób można zrobić wdrożenie aplikacji bez przestojów, żeby żaden z naszych klientów tego nie zauważył. Jak wygląda normalne wdrożenie aplikacji? Gdy wdrażamy kolejną wersję naszej aplikacji na serwer (mowa tu w szczególności o aplikacjach webowych), musimy wykonać kilka kroków: Wyłączamy usługę.  Wgrywany nowe pliki.  Włączamy usługę.  Poniższa animacja świetnie to obrazuje. Nie jest moja, ale bardzo mi się spodobała. Tak więc pomiędzy pierwszym a ostatnim krokiem mamy przestój w działaniu aplikacji….

Read More Read More

Rozwój aplikacji bez rewolucji u klientów

Rozwój aplikacji bez rewolucji u klientów

W pracy związanej z rozwojem oprogramowania naturalne jest, że każda aplikacja, każdy system, który tworzymy prędzej czy później będzie musiał być zmodyfikowany. To normalne, świat się zmienia, wymagania biznesowe też, dlatego nasze systemy muszą dopasowywać się do tych zmian. Niektóre modyfikacje są małe i nie wpływają zbyt mocno na system. Jednak prędzej czy później nadchodzą potężne zmiany, które potrafią wywrócić nasze dotychczasowe myślenie do góry nogami. Jak więc wdrażać takie zmiany w systemach w bezpieczny sposób, upewniając się, że nasi…

Read More Read More

Warstwa kompatybilności – najłatwiejszy sposób na zapewnienie kompatybilności wstecznej

Warstwa kompatybilności – najłatwiejszy sposób na zapewnienie kompatybilności wstecznej

W artykule Kompatybilność wsteczna – co to oznacza i jak o nią dbać? opowiedzieliśmy już sobie czym jest kompatybilność wsteczna. Z kolei w Rozwój aplikacji bez rewolucji u klientów pokazaliśmy, czym grozi wprowadzanie zmian niekompatybilnych wstecz.Tym razem skupimy się na jednym z wzorców pomocnym w zapewnieniu kompatybilności wstecznej jakim jest warstwa kompatybilności. Metaforycznie Jaki mamy problem? Na początku zastanówmy się jak zapewnić kompatybilność wsteczną na bardziej życiowym przykładzie.Załóżmy że: chcemy wyremontować odcinek drogi ekspresowej, przejeżdża nią ok. 20 000 samochodów…

Read More Read More

Kompatybilność wsteczna – co to oznacza i jak o nią dbać?

Kompatybilność wsteczna – co to oznacza i jak o nią dbać?

Czym jest kompatybilność wsteczna? Kompatybilność wsteczna – najłatwiej wytłumaczyć to, a nawet zobaczyć, na codziennym przykładzie. Pewnie większość z Was kojarzy, że w telefonach jeszcze niedawno standardem były ładowarki ze złączem USB Typu B, jednak od pewnego czasu standardem są już złącza typu C. Jak możecie zauważyć na diagramie – oba te złącza są kompletnie różne. Czyli po prostu wtyczka pasująca do gniazda pierwszego typu, nie będzie pasowała do gniazda drugiego złącza. Wtedy możemy powiedzieć, że te dwa interfejsy (wtyczki)…

Read More Read More

AppVeyor – Continues Integration for .NET/JavaScript – configuration

AppVeyor – Continues Integration for .NET/JavaScript – configuration

Some time ago I have been looking for some Continuous Integration engine for my Open Source project hosted on GitHub. I found a list of popular services https://github.com/ligurio/Continuous-Integration-services/blob/master/continuous-integration-services-list.md. My general requirement was support to JavaScript and .NET projects. Moreover it should be possible to run tests within this engine. I want to ensure the quality of my projects and I want to be able to detect failing test as quickly as possible after each commit. Also it would be nice to have a method to run deployment directly from this service.