Embracing Microservices Design

- Autorzy:
- Ovais Mehboob Ahmed Khan, Nabil Siddiqui, Timothy Oleson


- Ocena:
- Bądź pierwszym, który oceni tę książkę
- Stron:
- 306
- Dostępne formaty:
-
PDFePubMobi
Opis książki: Embracing Microservices Design
Microservices have been widely adopted for designing distributed enterprise apps that are flexible, robust, and fine-grained into services that are independent of each other. There has been a paradigm shift where organizations are now either building new apps on microservices or transforming existing monolithic apps into microservices-based architecture.
This book explores the importance of anti-patterns and the need to address flaws in them with alternative practices and patterns. You'll identify common mistakes caused by a lack of understanding when implementing microservices and cover topics such as organizational readiness to adopt microservices, domain-driven design, and resiliency and scalability of microservices. The book further demonstrates the anti-patterns involved in re-platforming brownfield apps and designing distributed data architecture. You'll also focus on how to avoid communication and deployment pitfalls and understand cross-cutting concerns such as logging, monitoring, and security. Finally, you'll explore testing pitfalls and establish a framework to address isolation, autonomy, and standardization.
By the end of this book, you'll have understood critical mistakes to avoid while building microservices and the right practices to adopt early in the product life cycle to ensure the success of a microservices initiative.
Wybrane bestsellery
-
A comprehensive guide in developing and deploying high performance microservices with Rust
-
A practical guide to testing your infrastructure security with Kali Linux, the preferred choice of pentesters and hackers Key Features Employ advanced pentesting techniques with Kali Linux to build highly secured systems Discover various stealth techniques to remain undetected and defeat modern...
Mastering Kali Linux for Advanced Penetration Testing Mastering Kali Linux for Advanced Penetration Testing
-
Leverage the features and libraries of Python to administrate your environment efficiently.
Mastering Python Scripting for System Administrators Mastering Python Scripting for System Administrators
-
Learn how to design and develop robotic process automation solutions with Blue Prism to perform important tasks that enable value creation in your work
Robotic Process Automation with Blue Prism Quick Start Guide Robotic Process Automation with Blue Prism Quick Start Guide
-
Learn and understand the need to architect cloud applications and migrate your business to cloud efficiently Key Features Understand the core design elements required to build scalable systems Plan resources and technology stacks effectively for high security and fault tolerance Explore core ar...
-
Build intelligent and smart conversational interfaces using Microsoft Bot FrameworkAbout This BookDevelop various real-world intelligent bots from scratch using Microsoft Bot FrameworkIntegrate your bots with most popular conversation platforms such as Skype, Slack, and Facebook MessengerFlaunt y...
-
A quick start guide to learning essential software architecture tools, frameworks, design patterns, and best practices
-
Overcome advanced challenges in building end-to-end ML solutions by leveraging the capabilities of Amazon SageMaker for developing and integrating ML models into production
-
Deploy and manage Kubernetes clusters on a cloud efficiently
-
Effectively implement and administer business solutions on any scale in a cost-effective way to have a competitive advantage using Gsuite Key Features Enhance administration with Admin console and Google Apps Script Prepare for the G suite certification using the concepts in the book Learn how ...
O autorze książki
1 Ovais Mehboob Ahmed Khan, Nabil Siddiqui, Timothy OlesonOvais Mehboob Ahmed Khan jest architektem z 14-letnim doświadczeniem w programowaniu, a także autorem książek i innych publikacji technicznych. Pracował w kilku firmach informatycznych w Pakistanie, USA oraz na Bliskim Wschodzie. Obecnie jest zatrudniony w państwowej firmie w Dubaju. Otrzymał tytuł MVP. Specjalizuje się w takich technologiach jak Microsoft .NET, chmura i tworzenie aplikacji internetowych.
Ovais Mehboob Ahmed Khan, Nabil Siddiqui, Timothy Oleson - pozostałe książki
-
Redefine your software development experience by understanding the extensive features and rich functionalities offered by Visual Studio CodeKey FeaturesLeverage the power of the free, cross-platform, and highly customizable code editor to build modern web and cloud applicationsEdit, debug and dep...
Developing Multi-Platform Apps with Visual Studio Code Developing Multi-Platform Apps with Visual Studio Code
-
Redefine your software development experience by understanding the extensive features and rich functionalities offered by Visual Studio Code
Developing Multi-Platform Apps with Visual Studio Code Developing Multi-Platform Apps with Visual Studio Code
-
Ta książka jest przeznaczona dla programistów .NET, którzy chcą przyspieszyć pracę swoich aplikacji. Opisuje nowe funkcje C# 7 i .NET Core 2.0 oraz ich wpływ na wydajność kodu. Przedstawia takie mechanizmy .NET Core jak proces kompilacji, odzyskiwanie pamięci czy wykorzystywanie wielu rdzeni proc...
C# 7 i .NET Core 2.0. Programowanie wielowątkowych i współbieżnych aplikacji C# 7 i .NET Core 2.0. Programowanie wielowątkowych i współbieżnych aplikacji
(29.40 zł najniższa cena z 30 dni)29.40 zł
49.00 zł(-40%) -
Conquer complex and interesting programming challenges by building robust and concurrent applications with caches, cryptography, and parallel programming.
Improving your C# Skills Improving your C# Skills
Ovais Mehboob Ahmed Khan, John Callaway, Clayton Hunt, Rod Stephens
-
Explore C# and the .NET Core framework to create applications and optimize them with ASP.NET Core 2 Key Features Get to grips with multi-threaded, concurrent, and asynchronous programming in C# and .NET Core Develop modern, cross-platform applications with .NET Core 2.0 and C# 7.0 Create effici...
C# 7 and .NET: Designing Modern Cross-platform Applications C# 7 and .NET: Designing Modern Cross-platform Applications
-
Improve the speed of your code and optimize the performance of your apps
-
Architect and design highly scalable, robust, clean and highly performant applications in .NET CoreAbout This BookIncorporate architectural soft-skills such as DevOps and Agile methodologies to enhance program-level objectivesGain knowledge of architectural approaches on the likes of SOA architec...
Enterprise Application Architecture with .NET Core Enterprise Application Architecture with .NET Core
Ganesan Senthilvel, Ovais Mehboob Ahmed Khan, Habib Ahmed Qureshi
Ebooka przeczytasz na:
-
czytnikach Inkbook, Kindle, Pocketbook, Onyx Boox i innych
-
systemach Windows, MacOS i innych
-
systemach Windows, Android, iOS, HarmonyOS
-
na dowolnych urządzeniach i aplikacjach obsługujących formaty: PDF, EPub, Mobi
Masz pytania? Zajrzyj do zakładki Pomoc »
Audiobooka posłuchasz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolonych urządzeniach i aplikacjach obsługujących format MP3 (pliki spakowane w ZIP)
Masz pytania? Zajrzyj do zakładki Pomoc »
Kurs Video zobaczysz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolonych urządzeniach i aplikacjach obsługujących format MP4 (pliki spakowane w ZIP)
Szczegóły książki
- Tytuł oryginału:
- Embracing Microservices Design
- ISBN Ebooka:
- 978-18-018-1349-5, 9781801813495
- Data wydania ebooka:
-
2021-10-29
Data wydania ebooka często jest dniem wprowadzenia tytułu do sprzedaży i może nie być równoznaczna z datą wydania książki papierowej. Dodatkowe informacje możesz znaleźć w darmowym fragmencie. Jeśli masz wątpliwości skontaktuj się z nami sklep@helion.pl.
- Język publikacji:
- angielski
- Rozmiar pliku Pdf:
- 11.2MB
- Rozmiar pliku ePub:
- 9.8MB
- Rozmiar pliku Mobi:
- 21.9MB
- Kategorie:
Systemy operacyjne
Spis treści książki
- Embracing Microservices Design
- Foreword
- Contributors
- About the authors
- About the reviewers
- Preface
- Who this book is for
- What this book covers
- Download the color images
- Conventions used
- Get in touch
- Share Your Thoughts
- Section 1: Overview of Microservices, Design, and Architecture Pitfalls
- Chapter 1: Setting Up Your Mindset for a Microservices Endeavor
- Philosophy of microservices
- Microservice design principles
- Single responsibility principle and domain-driven design
- Encapsulation and interface segregation
- Culture of autonomy, ownership, and shared governance
- Independently deployable
- Culture of automation
- Designing for failures
- Observability
- Building teams to deliver business value faster
- Benefits of microservices
- Agility
- Maintainability
- Scalability
- Time to market
- Technology diversity
- Increased reliability
- Challenges of microservices
- Organizational culture
- Adoption of DevOps practices
- Architectural and operational complexity
- Service orchestration and choreography
- Observability
- End-to-end testing
- Double mortgage period
- Platform investment
- Microservice architecture components
- Messages
- Persistence and state management
- Orchestration
- Service discovery
- API gateway
- Reviewing leadership responsibilities
- What business/technology leaders must know
- What architects must know
- The role of the product manager, product owner, and scrum master
- Defining core priorities for a business
- Using the twelve-factor app methodology
- Code base
- Dependencies
- Config
- Backing service
- Build, release, and run
- Processes
- Port binding
- Concurrency
- Disposability
- Dev/prod parity
- Logs
- Admin processes
- Additional factors for modern cloud-native apps
- API first
- Telemetry
- Security
- Summary
- Questions
- Further reading
- Chapter 2: Failing to Understand the Role of DDD
- What are microservices and how do they align with DDD?
- Autonomous
- Independently deployable
- Data ownership
- Communication
- Technology-agnostic
- Gateway pattern service discovery
- What are microservices and how do they align with DDD?
- Benefits and challenges of microservices as compared to DDD
- Lack of team alignment
- Lack of governance
- The whole is greater than the sum of its parts
- Autonomy
- What comes first the data or the events?
- Microservices are based on science
- Complex or not complex that is the question
- Obvious contexts "the domain of best practice"
- Snowdens complicated contexts "the domain of experts"
- Snowden's complex contexts "the domain of emergence"
- A thin line between complicated and complex
- Snowden's chaotic context "the domain of novel solutions"
- Snowden's disorder contexts "the space in the middle"
- Our path is clear
- Event storming
- DDD
- A lack of awareness of stakeholder needs
- A knowledge-crunching domain model
- UL
- Binding the model to the implementation of our services
- Not a silver bullet
- Boundaries are important
- Bounded contexts
- Context maps
- Relationships between teams
- Anti-corruption layer
- Open host
- Aggregates
- Transactional boundary
- Aligned teams
- Iterative process
- Summary
- Questions
- Further reading
- Chapter 3: Microservices Architecture Pitfalls
- Layered architecture and its challenges
- Microservice architecture
- Layered architecture and its challenges
- Over-architecting microservices
- Entity microservices
- The aggregator microservice
- Nanoservices
- Overusing frameworks and technologies
- Not abstracting common microservice tasks
- Dapr LEGO for microservices
- Lack of knowledge about the microservice platform
- Embracing containers
- Embracing the cloud-native approach
- Embracing micro platforms
- Neutralizing the benefits of microservices by adopting a frontend monolithic architecture
- Micro frontends
- Summary
- Questions
- Further reading
- Chapter 4: Keeping the Replatforming Brownfield Applications Trivial
- Not knowing the fundamentals when replatforming brownfield applications
- Why we should go for a microservice architecture
- Factors to consider when replatforming monolithic to a microservices architecture
- The decoupling approach
- Not knowing the fundamentals when replatforming brownfield applications
- Overlooking availability, reliability, and scalability when designing a microservices architecture
- Availability
- Reliability
- Scalability
- Sharing dependencies using older techniques
- Building self-contained services
- Reinventing is not an anti-pattern in microservices
- Summary
- Questions
- Further reading
- Section 2: Overview of Data Design Pitfalls, Communication, and Cross-Cutting Concerns
- Chapter 5: Data Design Pitfalls
- The pitfalls of keeping a single shared database
- Embracing polyglot persistence
- The pitfalls of keeping a single shared database
- Normalizing read models
- Denormalizing read operations or keeping flat tables
- Understanding the CQRS principle
- Types of CQRS
- CQRS and microservices
- The problem we are trying to solve with CQRS
- The solution
- Challenges when implementing the CQRS pattern in our microservices
- The pitfalls of not knowing how to handle transactions
- Not choosing the right consistency and concurrency
- The choreography implementation of a saga
- The orchestration implementation of a saga
- Knowing how to perform reporting
- The API composition pattern
- Summary
- Questions
- Chapter 6: Communication Pitfalls and Prevention
- The fundamentals of microservices communication
- Synchronous versus asynchronous communication
- Messages and message types
- Asynchronous message-based communication
- The fundamentals of microservices communication
- Different architectures and their communication styles
- Direct client-to-microservice communication
- The API gateway pattern
- The overly complicated API gateway
- Multiple gateways backends for the frontends
- Materialized view patterns
- Request timeout
- Retry patterns
- Circuit breaker patterns
- Long chains of synchronous calls the retry storm
- Scalable infrastructure
- Load balancing, throttling, and request classifications
- Exponential backoff, jittering, and circuit breakers
- Only allowing the immediate layer to retry
- The dark side of event-driven microservices
- Event design pitfalls
- Avoiding service versioning
- Semantic versioning
- HTTP/REST API versioning approaches
- gRPC service versioning
- Event versioning
- Service meshes
- Dapr versus service meshes
- Summary
- Questions
- Further reading
- Chapter 7: Cross-Cutting Concerns
- Microservices chassis patterns
- Microservices application needs
- Microservices chassis patterns
- Cross-cutting pitfalls
- Embedding security handling inside microservices
- Not considering resiliency when building microservices
- Not considering idempotency when building microservices
- Embedding protocol translation inside microservices
- Message transformation coupling with microservices
- Directly exposing microservices to consumers
- Keeping configuration inside microservices
- Undiscoverable microservices
- Not maintaining a service template or framework
- Not paying attention to logging and monitoring
- Summary
- Questions
- Section 3: Testing Pitfalls and Evaluating Microservices Architecture
- Chapter 8: Deployment Pitfalls
- Failing to establish a deployment strategy
- Rolling deployment
- Canary deployment strategy
- A/B testing deployment strategy
- Blue/green deployment strategy
- Traffic shadowing deployment strategy
- Deploying Pods in Kubernetes
- Failing to establish a deployment strategy
- Using outdated tools and technologies
- Failing to obtain cooperation from all teams
- Not considering Infrastructure as Code (IaC) for environment setup
- Not knowing the core principles of DevOps
- Feature management
- Agile practices
- Rollback strategy
- Using gates and approvals in Azure DevOps
- Deployment stamps pattern
- Deployment rings
- Geode pattern
- Summary
- Questions
- Chapter 9: Skipping Testing
- The shift-left testing strategy
- The testing pyramid
- The shift-left testing strategy
- Unit testing
- The unit testing life cycle
- Types of unit testing
- Scope of units
- Strategy
- Tools
- Frameworks and test maintenance
- End-to-end testing
- The two types of end-to-end testing
- White box and black box environments
- Journey testing
- Tools
- Integration testing
- Strategy
- Contract testing
- Tools
- Load testing
- Strategy
- Tools
- Summary
- Questions
- Further reading
- Chapter 10: Evaluating Microservices Architecture
- Identifying the core priorities of a business
- Managing architectural decisions
- Team structure
- Choosing the right methodology
- Decomposition strategy
- Evaluating the DevOps capability
- Understanding which part of the business is going to change more rapidly
- Infrastructure readiness
- Release cycles
- Communication protocol across services
- Exposing services to clients
- Distributed transaction handling
- Service development
- Capabilities of the hosting platform
- Deployment strategy
- Monitoring services
- Assigning a correlation token to each service request
- Defining a microservices chassis framework
- Shift-left approach for testing and security
- Summary
- Assessments
- Chapter 1: Setting Up Your Mindset for Microservices Endeavor
- Chapter 2: Failing to Understand the Role of DDD
- Chapter 3: Microservices Architecture Pitfalls
- Chapter 4: Keeping the Re-Platforming of Brownfield Applications Trivial
- Chapter 5: Data Design Pitfalls
- Chapter 6: Communication Pitfalls and Prevention
- Chapter 7: Cross-Cutting Concerns
- Chapter 8: Deployment Pitfalls
- Chapter 9: Skipping Testing
- Why subscribe?
- Other Books You May Enjoy
- Packt is searching for authors like you
- Share Your Thoughts
Packt Publishing - inne książki
-
Save time and effort when building 3D scenes with this essential guide to creating stunning photorealistic 3D environments in Blender
-
Solve classic computer science problems from fundamental algorithms, such as sorting and searching, to modern algorithms in machine learning and cryptography
40 Algorithms Every Programmer Should Know - Second Edition 40 Algorithms Every Programmer Should Know - Second Edition
-
Use modern Python libraries such as pandas, NumPy, and scikit-learn and popular machine learning and deep learning methods to solve financial modeling problems
-
Design, build, and deploy performant and maintainable web applications using Spring, Spring Boot, and Angular
-
Get up to speed with Oracle's Autonomous Databases and implementation strategies for any workload or use case, including transactional, data warehousing, and non-relational databases
Oracle Autonomous Database in Enterprise Architecture Oracle Autonomous Database in Enterprise Architecture
-
Build CD pipelines following GitOps principles like declarative and immutable changes stored in version control, all continuously reconciled by Argo CD, and minimize the failure of deployments.
Dzieki opcji "Druk na żądanie" do sprzedaży wracają tytuły Grupy Helion, które cieszyły sie dużym zainteresowaniem, a których nakład został wyprzedany.
Dla naszych Czytelników wydrukowaliśmy dodatkową pulę egzemplarzy w technice druku cyfrowego.
Co powinieneś wiedzieć o usłudze "Druk na żądanie":
- usługa obejmuje tylko widoczną poniżej listę tytułów, którą na bieżąco aktualizujemy;
- cena książki może być wyższa od początkowej ceny detalicznej, co jest spowodowane kosztami druku cyfrowego (wyższymi niż koszty tradycyjnego druku offsetowego). Obowiązująca cena jest zawsze podawana na stronie WWW książki;
- zawartość książki wraz z dodatkami (płyta CD, DVD) odpowiada jej pierwotnemu wydaniu i jest w pełni komplementarna;
- usługa nie obejmuje książek w kolorze.
W przypadku usługi "Druk na żądanie" termin dostarczenia przesyłki może obejmować także czas potrzebny na dodruk (do 10 dni roboczych)
Masz pytanie o konkretny tytuł? Napisz do nas: sklep[at]helion.pl.
Książka, którą chcesz zamówić pochodzi z końcówki nakładu. Oznacza to, że mogą się pojawić drobne defekty (otarcia, rysy, zagięcia).
Co powinieneś wiedzieć o usłudze "Końcówka nakładu":
- usługa obejmuje tylko książki oznaczone tagiem "Końcówka nakładu";
- wady o których mowa powyżej nie podlegają reklamacji;
Masz pytanie o konkretny tytuł? Napisz do nas: sklep[at]helion.pl.


Oceny i opinie klientów: Embracing Microservices Design Ovais Mehboob Ahmed Khan, Nabil Siddiqui, Timothy Oleson (0)
Weryfikacja opinii następuję na podstawie historii zamówień na koncie Użytkownika umieszczającego opinię. Użytkownik mógł otrzymać punkty za opublikowanie opinii uprawniające do uzyskania rabatu w ramach Programu Punktowego.