Złożone zagadnienia architektury oprogramowania. Jak analizować kompromisy i podejmować trudne decyzje

Informacje szczegółowe Pokaż wszystkie

Format: 16.5 x 23.5 cm
Oprawa: Miękka
Wydawnictwo: Helion
Rok wydania: 2023
Ilość stron: 408
Opis

W epoce infrastruktur chmurowych, mikrousług czy wysublimowanych wzorców projektowych architekt oprogramowania musi sobie radzić z trudnym zadaniem, jakim jest wybór odpowiednich rozwiązań.

Będą one potem szczegółowo testowane podczas pracy w środowisku produkcyjnym, a także przy późniejszym dostosowywaniu i rozbudowywaniu oprogramowania. Tymczasem w wypadku architektury złożonych systemów nie ma łatwych kompromisów. Konieczne jest bardzo wnikliwe i krytyczne przemyślenie każdej decyzji projektowej, i to na możliwie najwcześniejszym etapie pracy.

Ta książka powinna zostać przestudiowana przez każdego architekta nowoczesnych systemów rozproszonych. Jej celem jest pokazanie sposobów rozwiązywania trudnych problemów związanych z projektowaniem takiego oprogramowania. W krytyczny i wszechstronny sposób omówiono w niej najważniejsze problemy utrudniające podejmowanie dobrych decyzji projektowych. Zaprezentowano najskuteczniejsze strategie doboru optymalnej architektury. Na jasnych przykładach pokazano, w jaki sposób należy przystąpić do analizy założeń projektowych ... począwszy od określenia `ziarnistości` usług, przepływów informacji i orkiestracji, poprzez eliminację sprzężenia kontraktów i określenie nadzoru nad transakcjami rozproszonymi, a skończywszy na metodach optymalizowania właściwości operacyjnych, takich jak skalowalność, elastyczność i wydajność.

Najciekawsze zagadnienia:

  • analiza kompromisów i dokumentowanie decyzji
  • podejmowanie decyzji dotyczących `ziarnistości` usług
  • złożoność procesu przekształcania aplikacji monolitycznych
  • eliminacja sprzężeń kontraktów wiążących usługi
  • obsługa danych w architekturze o dużym stopniu rozproszenia
  • wzorce zarządzania przepływami informacji i transakcjami

Architekt musi być prorokiem...

 

 

 

 

 

 

 

Frank Lloyd Wright

Szczegóły
  • Autorzy: Mark Richards, Neal Ford, Pramod Sadalage, Zhamak Dehghani
  • Wydawnictwo Helion
  • Oprawa: Miękka
  • Rok wydania: 2023
  • Ilość stron: 408
  • Format: 16.5 x 23.5 cm
  • Stan: nowy, pełnowartościowy produkt
  • Model: 9788328395275
  • Język: polski
  • Podtytuł: Jak analizować kompromisy i podejmować trudne decyzje
  • Oryginalny tytuł: Software Architecture: The Hard Parts: Modern Trade-Off Analyses for Distributed Architectures
  • Tłumacz: Pilch Piotr
  • ISBN: 9788328395275
  • EAN: 9788328395275
  • Wymiary: 16.5 x 23.5 cm
  • Dane producenta: HELION S.A., ul. Kościuszki 1C, 44-100 Gliwice, Polska, gpsr@grupahelion.pl, tel. (32) 230-98-63
Recenzje

Inne historie podobne do Złożone zagadnienia architektury oprogramowania. Jak analizować kompromisy i podejmować trudne decyzje

Jeśli interesuje Cię analiza trudnych decyzji architektonicznych i chcesz pogłębić praktyczne umiejętności projektowania systemów rozproszonych, dobrze jest spojrzeć na zagadnienia z kilku perspektyw: projektowych, operacyjnych i danych. Poniższe tytuły poszerzają te obszary - od wzorców projektowych i czystego kodu, przez rozwiązania chmurowe i bazy danych, po zarządzanie danymi i praktyki zespołowe.

  1. 1. UBU lab. Raporty techniczne 2016-2024

    Zbiór raportów UBU lab pokazuje innowacyjne podejścia i eksperymenty z obszaru twórczego programowania, które mogą inspirować niestandardowe rozwiązania architektoniczne. Prezentuje praktyczne projekty i refleksje z pracy badawczej, co bywa źródłem pomysłów przy rozwiązywaniu złożonych problemów. Daje obraz tego, jak eksperymentować z nowymi technikami bez utraty kontroli nad systemem produkcyjnym. To wartościowa lektura dla tych, którzy szukają kreatywnych sposobów na ograniczanie kompromisów.

  2. 2. Przewodnik po MongoDB. Wydajna i skalowalna baza danych, Eoin Brazil

    Przewodnik po MongoDB tłumaczy, kiedy baza dokumentowa jest dobrym wyborem i jak projektować modele danych dla elastyczności i skalowalności. Omawia kompromisy między spójnością a wydajnością oraz techniki indeksowania i shardingu, które wpływają na architekturę systemu. Pomaga przewidzieć konsekwencje wyboru konkretnego sposobu przechowywania danych w systemie rozproszonym. Dzięki tej wiedzy łatwiej podejmować świadome decyzje przechowywania i replikacji danych.

  3. 3. DAX i Power BI w analizie danych. Tworzenie zaawansowanych i efektywnych analiz dla biznesu, Henk Vlootman

    Książka o DAX i Power BI pomaga zrozumieć, jak projektować raporty i wskaźniki, które odzwierciedlają skutki decyzji architektonicznych dla biznesu. Omawia techniki modelowania danych i tworzenia efektywnych analiz, co ułatwia monitorowanie wydajności i zachowań systemu. Przydatna, gdy trzeba przetłumaczyć metryki techniczne na czytelne wskaźniki biznesowe. Pozwala lepiej zarządzać obserwowalnością i raportowaniem w organizacji.

  4. 4. Autodesk Fusion. Kompletne projektowanie CAD, Jakub Walczak

    Książka o Autodesk Fusion może zainteresować architektów pracujących nad oprogramowaniem wspierającym procesy projektowe lub integracje z narzędziami CAD. Wyjaśnia przepływy pracy projektanta i specyfikę danych 3D, co pomaga lepiej zrozumieć wymagania systemów obsługujących inżynierię produktu. Daje praktyczne wejście w problemy integracji i przetwarzania złożonych modeli, które wpływają na decyzje architektoniczne dotyczące przechowywania i wydajności. To ciekawe uzupełnienie dla projektantów systemów interakcji z narzędziami projektowymi.

  5. 5. Poznaj Microsoft Azure. Praktyczny przewodnik po chmurze obliczeniowej i programowaniu, Jonah Andersson

    Przewodnik po Microsoft Azure dostarcza praktycznych wskazówek dotyczących budowy i wdrażania rozproszonych aplikacji w chmurze, bezpośrednio związanych z decyzjami architektonicznymi opisanymi w głównej książce. Wyjaśnia usługi, wzorce wdrożeniowe i mechanizmy skalowania, które wpływają na koszty i niezawodność systemu. Pozwala lepiej ocenić kompromisy między rozwiązaniami natywnymi chmury a własną infrastrukturą. To solidne uzupełnienie dla osób projektujących systemy produkcyjne w środowisku chmurowym.

  6. 6. Prompt engineering i ChatGPT. Poradnik skutecznej komunikacji ze sztuczną inteligencją, Andrzej Kacprzak

    Poradnik o prompt engineeringu ułatwia zrozumienie, jak komunikować się z modelami językowymi w kontekście systemów rozproszonych. Wyjaśnia, jak projektować interfejsy i kontrakty między usługami wykorzystującymi LLM, aby ograniczyć nieprzewidywalność zachowań. Przydatna lektura dla architekta planującego integrację AI jako usługi, zwłaszcza pod kątem testowania i walidacji odpowiedzi. Pomaga zminimalizować ryzyko związane z nieliniowymi zależnościami między komponentami.

  7. 7. Architektura oprogramowania. Rusz głową! Przewodnik po myśleniu architektonicznym, Mark Richards

    Ta książka rozwija myślenie architektoniczne w sposób praktyczny i angażujący, proponując konkretne heurystyki projektowe. Przydatna będzie, kiedy potrzeba przetestować różne podejścia do ziarnistości usług czy ograniczania sprzężeń między komponentami. Zawiera przykłady i ćwiczenia, które pomagają przekuć teorię kompromisów w realne decyzje projektowe. Czyta się ją jak warsztat, który wzbogaca narzędzia architekta o elastyczne sposoby myślenia.

  8. 8. Elektrotechnika w pigułce. I wszystko jasne, Witold Krieser

    Elektrotechnika w pigułce to zwięzłe wprowadzenie do zagadnień związanych z prądem i układami, przydatne dla architektów projektujących systemy sprzętowo-programowe. Pomaga zrozumieć ograniczenia i wymagania sprzętowe, które determinują rozwiązania na poziomie oprogramowania w systemach wbudowanych. Dzięki temu łatwiej przewidzieć problemy z zasilaniem, kompatybilnością i komunikacją na krańcu systemu. Ułatwia projektowanie realistycznych interfejsów między światem softu i hardu.

  9. 9. Stwórz własne AI. Jak od podstaw zbudować duży model językowy, Sebastian Raschka

    Praktyczny przewodnik po budowie dużych modeli językowych przydaje się tam, gdzie architektura obejmuje komponenty AI wymagające integracji z resztą systemu. Omawia wymagania obliczeniowe, zarządzanie danymi treningowymi i wyzwania wdrożeniowe, które mają wpływ na skalowalność i koszty. Daje też obraz ograniczeń i punktów awarii, które trzeba uwzględnić przy projektowaniu niezawodnych rozwiązań. Pomaga osadzić modele językowe w architekturze w sposób świadomy i bezpieczny.

  10. 10. Tworzenie architektury oprogramowania. Wspieranie zespołów w podejmowaniu trafnych decyzji, Andrew Harmel-Law

    Ta pozycja kładzie nacisk na rolę architekta jako lidera wspierającego zespół w podejmowaniu decyzji, co doskonale uzupełnia techniczne spojrzenie książki o kompromisach. Omawia techniki facylitacji decyzji, dokumentowania trade-offów i pracy interdyscyplinarnej. Przydatna w sytuacjach, gdy potrzeba skoordynować wiele interesów i wymagań przy projektowaniu złożonych systemów. Pomaga budować proces decyzyjny, który zmniejsza ryzyko błędnych wyborów.

  11. 11. Myślenie statystyczne. Jak analizować dane i wydobywać z nich wiedzę, Allen B Downey

    Ta pozycja tłumaczy, jak myśleć statystycznie o pomiarach, eksperymentach i wynikach systemów - umiejętność niezbędna przy ocenie skutków decyzji architektonicznych. Pokazuje, jak analizować dane operacyjne i wyciągać wnioski na temat wydajności, regresji czy wpływu zmian. Pozwala lepiej projektować testy i metryki, które potwierdzą lub obalą podejmowane założenia projektowe. Dzięki tej wiedzy trudne decyzje stają się bardziej empiryczne i mniej intuicyjne.

  12. 12. Spring Boot LiveBook, Przemysław Bykowski

    Spring Boot LiveBook to skondensowane wprowadzenie do budowy usług w ekosystemie Spring, popularnym w architekturze mikrousług. Pokazuje praktyczne wzorce tworzenia, konfigurowania i testowania aplikacji, co ułatwia wdrożenie założeń architektonicznych w kodzie. Przydatne dla tych, którzy chcą szybko skonstruować prototypy zgodne z najlepszymi praktykami. Ułatwia przejście od decyzji projektowej do działającej implementacji.

  13. 13. Zaawansowany Python. Przejrzyste, zwięzłe i efektywne programowanie, Ramalho Luciano

    Zaawansowany Python pokazuje idiomatyczne podejście do realizacji usług i komponentów, które architekt projektuje na papierze. Omawia techniki poprawiające czytelność, wydajność i testowalność kodu, co ułatwia utrzymanie złożonych systemów. Przydatna jest w momencie przekładania decyzji architektonicznych na implementację w Pythonie. Dzięki lepszemu opanowaniu języka łatwiej kontrolować koszty techniczne wyborów projektowych.

  14. 14. Excel 2021 i Microsoft 365: VBA i makra, Bill Jelen

    Chociaż Excel i VBA to narzędzia biurowe, znajomość automatyzacji procesów i pracy z danymi bywa nieoceniona przy prototypowaniu rozwiązań i szybkim zbieraniu wymagań. Książka pokazuje sposoby automatyzacji rutynowych zadań i tworzenia prostych narzędzi analitycznych, które wspierają decyzje projektowe. Przydaje się zwłaszcza w kontaktach z analitykami biznesowymi i przy tworzeniu raportów do oceny wpływu zmian. To praktyczne uzupełnienie umiejętności komunikacyjnych architekta z zespołem biznesowym.

  15. 15. Wykorzystanie sztucznej inteligencji i nowych technologii cyfrowych w sferze gospodarczej i społeczn, Anna Milewska

    Publikacja koncentruje się na wpływie AI i nowoczesnych technologii na gospodarkę i organizacje, co pomaga ocenić szerszy kontekst decyzji architektonicznych. Omawia aspekty regulacyjne, społeczne i biznesowe, które determinują wymagania niefunkcjonalne systemów. Ta wiedza pomaga przewidzieć ryzyka wdrożeniowe i przygotować architekturę do realiów prawnych oraz oczekiwań użytkowników. Daje narzędzia do rozmowy z interesariuszami o kosztach i korzyściach technologicznych wyborów.

  16. 16. Siatka danych. Nowoczesna koncepcja samoobsługowej infrastruktury danych, Zhamak Dehghani

    Książka koncentruje się na podejściu do danych jako produktu, co ma kluczowe znaczenie w systemach rozproszonych zarządzających informacją. Wyjaśnia, jak organizować odpowiedzialność za dane i projektować samodzielne domeny danych, co ułatwia podejmowanie decyzji o skalowaniu i integracji. Przydatna lektura dla architektów, którzy muszą uwzględnić zarządzanie danymi przy projektowaniu przepływów i interfejsów usług. Pomaga zrozumieć konsekwencje architektoniczne wyborów dotyczących dostępu i właścicielstwa danych.

  17. 17. Czysty kod. Podręcznik dobrego programisty, Robert C. Martin

    Czysty kod to klasyka dotycząca praktyk programistycznych, które bezpośrednio wpływają na utrzymywalność architektury. Pokazuje, jak pisać kod, który ułatwia refaktoryzację, testowanie i ewolucję systemu po podjęciu decyzji projektowych. Daje konkretny zestaw zasad zmniejszających koszt wprowadzania zmian w systemie. Dzięki tej lekturze podejmowane kompromisy techniczne stają się mniej bolesne w realizacji.

  18. 18. Wzorce projektowe. Rusz głową!, Eric Freeman

    Wzorce projektowe dostarczają zestaw sprawdzonych rozwiązań, które pomagają unikać powtarzających się problemów przy projektowaniu architektury. Książka ułatwia wybór odpowiednich wzorców do konkretnych scenariuszy, co przekłada się na szybsze i bardziej przewidywalne decyzje. W kontekście kompromisów architektonicznych daje gotowe strategie radzenia sobie z typowymi ograniczeniami. To solidne uzupełnienie warsztatu architekta, łączące teorię z praktyką implementacyjną.

  19. 19. Leksykon.Sztuczna inteligencja. Pojęcia, technologie, zastosowania, Aleksander Żołnierski

    Leksykon AI stanowi poręczne źródło terminów i koncepcji związanych z uczeniem maszynowym i przetwarzaniem języka naturalnego. Przydaje się, gdy architekt napotyka na pojęcia używane przez zespoły ML i potrzebuje szybkiego wyjaśnienia ich znaczenia i konsekwencji. Ułatwia komunikację między specjalistami i podejmowanie świadomych decyzji integracyjnych. To praktyczne narzędzie referencyjne przy projektowaniu komponentów AI w systemie.

Te pozycje tworzą przekrojową bibliotekę, która pomaga łączyć strategiczne decyzje architektoniczne z umiejętnością ich praktycznej realizacji. Dalsze lektury ułatwią przekształcanie analiz i założeń w dobrze działające systemy.

Zobacz, dlaczego warto nam zaufać

taniaksiazka.pl

Doskonała komunikacja, perfekcyjne podejście do klienta, realizacja szybka i całkowicie zgodna z zamówieniem, do tego dobra cena, czyli całość na piątkę.

Anyszka

Polecam, polecam, polecam! Świetny wybór, książki w doskonałej cenie i co najważniejsze błyskawiczna realizacja zamówienia - dodaję do moich ulubionych sklepów.

magdape

Bardzo miła obsługa, szybko reagują na wiadomości pisane. Szybko rozwiązują problem i tłumaczą sytuację, oraz bardzo jasno i konkretnie piszą mail o każdej zmianie w zamówieniach.

Lenka

Kolejny raz robię zakupy w sklepie i jest super szybko, tanio i wygodnie. Aż żałuję, że nie mają innych propozycji, które mnie interesują. Gorąco polecam.

Beata

Transakcja przebiegła szybko i sprawnie. Książki super i wszystko porządnie zapakowane. Nie jest to na pewno moja ostatnia styczność ze sklepem. Polecam.

Agnieszka

Sklep godny polecenia, szybko zrealizował zamówienie. Dodatkowo otrzymałam rabat. Bardzo korzystna cena zamówionych książek. Łącznie z przesyłką wyszło taniej niż w księgarni stacj...

Zosia

Bardzo sprawnie zrealizowane zamówienie. Pomimo, że podano mi późniejszy termin dostarczenia przesyłki otrzymałam ją kilka dni wcześniej. Sklep cechuje solidność i profesjonalizm. ...

Joanna

Sklep bardzo fajny, pomocny i szybki. Realizacja zamówienia trwała kilka dni. Zamówienie doskonale zapakowane i nienaruszone.

Frau Sonne

Jestem zadowolona ze sklepu i przeprowadzonej transakcji. Duży wybór książek, dostawa zgodnie z podaną przez sprzedawcę datą, bardzo porządnie zapakowana. Polecam.

agnes352

Polecam sklep z czystym sumieniem. Kontakt bardzo dobry, ceny rewelacyjne, wybór książek ogromny. Na pewno wkrótce znów złożę zamówienie.

natka2817

Rewelacja!!! Zamówienie otrzymałam 5 dni od złożenia zamówienia, a mieszkam w Wielkiej Brytanii.

Adrianna

Pierwszy raz kupowałam książki przez internet i się nie rozczarowałam. Książki przyszły w oczekiwanym terminie, były dobrze zabezpieczone. Na pewno skorzystam jeszcze nie jeden raz...

Paula