Moje pytanie brzmi: co to znaczy, że przejście do mikrousług powoduje problem w czasie wykonywania?
To jest nie to, co te tweety mówią! Nie mówią nic o przejściu na mikrousługi , ani nie mówią o tworzeniu problemów. Mówią tylko o problemach ze zmianą biegów .
I nakładają kontekstowe ograniczenie na swoje twierdzenia, a mianowicie, że twoja organizacja jest dysfunkcyjna.
Tak więc to, co w zasadzie mówi pierwszy tweet, to dwie rzeczy:
- „jeśli Twoja organizacja nie jest w stanie teraz tworzyć złożonych systemów bez mikrousług, magicznie nie będzie w stanie zaprojektować złożonych systemów za pomocą mikrousług”
- „problemy spowodowane tą niezdolnością, które pojawiają się teraz podczas kompilacji, tj. podczas programowania, pojawią się w czasie wykonywania, tj. podczas produkcji” (technicznie rzecz biorąc, mogą się również pojawić podczas testowania, ale pamiętaj, że cytat ogranicza się organizacjom dysfunkcyjnym, które prawdopodobnie mają nietypowy system testów)
Sekund tweet mówi, że fakt, że problemy tylko objawiają się w produkcji, czyli gdzie klienci je zobaczyć, to cecha, a nie błąd, bo gdy klienci skarżą się, że ma tendencję do bycia wysłuchanym w różnych miejscach, niż wtedy, gdy przerwy budować, a mianowicie w miejscach, które są w stanie coś zrobić z dysfunkcją organizacyjną (np. zarządzanie na wysokim szczeblu). Ponieważ dysfunkcja organizacyjna zwykle jest porażką kierownictwa wysokiego poziomu, oznacza to, że niezadowoleni klienci źle odbijają się na tych, którzy są ostatecznie odpowiedzialni za to niezadowolenie, podczas gdy niska jakość kodu spowodowana awariami zarządzania wyższego poziomu zwykle odbija się źle na deweloperach, którzy są jednak nie jest to wina i nie można nic z tym zrobić.
Tak więc, pierwszy tweet mówi, że mikrousługi przenoszą problemy spowodowane złym zarządzaniem z czasu kompilacji, gdzie widzą je tylko programiści, do czasu wykonywania, w którym widzą je klienci. Drugi tweet mówi, że to dobra rzecz, ponieważ wtedy problemy boli tych, którzy są za nie odpowiedzialni.