A Software Architecture Primer


Book Description

The authors present a fresh, pragmatic approach to the study of software architecture. This edition contains a series of chapters that introduce and develop an understanding of software architecture by means of careful explanation and elaboration of a range of key concepts. (Computer Books)




Software Architecture: A Case Based Approach


Book Description

The book discusses the discipline of Software Architecture using real-world case studies and poses pertinent questions that arouse objective thinking. With the help of case studies and in-depth analyses, it delves into the core issues and challenges of software architecture.




System Design Interview - An Insider's Guide


Book Description

The system design interview is considered to be the most complex and most difficult technical job interview by many. Those questions are intimidating, but don't worry. It's just that nobody has taken the time to prepare you systematically. We take the time. We go slow. We draw lots of diagrams and use lots of examples. You'll learn step-by-step, one question at a time.Don't miss out.What's inside?- An insider's take on what interviewers really look for and why.- A 4-step framework for solving any system design interview question.- 16 real system design interview questions with detailed solutions.- 188 diagrams to visually explain how different systems work.




An Embedded Software Primer


Book Description

Simon introduces the broad range of applications for embedded software and then reviews each major issue facing developers, offering practical solutions, techniques, and good habits that apply no matter which processor, real-time operating systems, methodology, or application is used.




Large-Scale Software Architecture


Book Description

The purpose of large-scale software architecture is to capture and describe practical representations to make development teams more effective. In this book the authors show how to utilise software architecture as a tool to guide the development instead of capturing the architectural details after all the design decisions have been made. * Offers a concise description of UML usage for large-scale architecture * Discusses software architecture and design principles * Technology and vendor independent




Foundations for Architecting Data Solutions


Book Description

While many companies ponder implementation details such as distributed processing engines and algorithms for data analysis, this practical book takes a much wider view of big data development, starting with initial planning and moving diligently toward execution. Authors Ted Malaska and Jonathan Seidman guide you through the major components necessary to start, architect, and develop successful big data projects. Everyone from CIOs and COOs to lead architects and developers will explore a variety of big data architectures and applications, from massive data pipelines to web-scale applications. Each chapter addresses a piece of the software development life cycle and identifies patterns to maximize long-term success throughout the life of your project. Start the planning process by considering the key data project types Use guidelines to evaluate and select data management solutions Reduce risk related to technology, your team, and vague requirements Explore system interface design using APIs, REST, and pub/sub systems Choose the right distributed storage system for your big data system Plan and implement metadata collections for your data architecture Use data pipelines to ensure data integrity from source to final storage Evaluate the attributes of various engines for processing the data you collect




Problem Seeking


Book Description

The classic programming guide for architects and clients-fully updated and revised. Architectural programming is a team effort that requires close cooperation between architects and their clients. Problem Seeking, Fourth Edition lays out a five-step procedure that teams can follow when programming any building or series of buildings, from a small house to a hospital complex. This simple yet comprehensive process encompasses the entire range of factors that influence the design of buildings.




Head First Software Architecture


Book Description

What will you learn from this book? If you're a software developer looking for a quick on-ramp to software architecture, this handy guide is a great place to start. From the authors of Fundamentals of Software Architecture, Head First Software Architecture teaches you how to think architecturally and explores the unique challenges of software architecture. You'll learn the distinction between architecture and design and the relationship between code, components, and architectural styles. You'll also learn how to work with some common architectural styles through vivid, fun examples. Quick, easy, and entertaining, this book is a valuable introduction to the world of software architecture. Why does this book look so different? Based on the latest research in cognitive science and learning theory, Head First Software Architecture uses a visually rich format to engage your mind, rather than a text-heavy approach that puts you to sleep. Why waste your time struggling with new concepts? This multisensory learning experience is designed for the way your brain really works.




Software Architecture


Book Description

As a software architect you work in a wide-ranging and dynamic environment. You have to understand the needs of your customer, design architectures that satisfy both functional and non-functional requirements, and lead development teams in implementing the architecture. And it is an environment that is constantly changing: trends such as cloud computing, service orientation, and model-driven procedures open up new architectural possibilities. This book will help you to develop a holistic architectural awareness and knowledge base that extends beyond concrete methods, techniques, and technologies. It will also help you to acquire or expand the technical, methodological, and social competences that you need. The authors place the spotlight on you, the architect, and offer you long-term architectural orientation. They give you numerous guidelines, checklists, and best practices to support you in your practical work. "Software Architecture" offers IT students, software developers, and software architects a holistic and consistent orientation across relevant topics. The book also provides valuable information and suggestions for system architects and enterprise architects, since many of the topics presented are also relevant for their work. Furthermore, IT project leads and other IT managers can use the book to acquire an enhanced understanding of architecture. Further information is available at www.software-architecture-book.org.




Microservices


Book Description

The Most Complete, Practical, and Actionable Guide to Microservices Going beyond mere theory and marketing hype, Eberhard Wolff presents all the knowledge you need to capture the full benefits of this emerging paradigm. He illuminates microservice concepts, architectures, and scenarios from a technology-neutral standpoint, and demonstrates how to implement them with today’s leading technologies such as Docker, Java, Spring Boot, the Netflix stack, and Spring Cloud. The author fully explains the benefits and tradeoffs associated with microservices, and guides you through the entire project lifecycle: development, testing, deployment, operations, and more. You’ll find best practices for architecting microservice-based systems, individual microservices, and nanoservices, each illuminated with pragmatic examples. The author supplements opinions based on his experience with concise essays from other experts, enriching your understanding and illuminating areas where experts disagree. Readers are challenged to experiment on their own the concepts explained in the book to gain hands-on experience. Discover what microservices are, and how they differ from other forms of modularization Modernize legacy applications and efficiently build new systems Drive more value from continuous delivery with microservices Learn how microservices differ from SOA Optimize the microservices project lifecycle Plan, visualize, manage, and evolve architecture Integrate and communicate among microservices Apply advanced architectural techniques, including CQRS and Event Sourcing Maximize resilience and stability Operate and monitor microservices in production Build a full implementation with Docker, Java, Spring Boot, the Netflix stack, and Spring Cloud Explore nanoservices with Amazon Lambda, OSGi, Java EE, Vert.x, Erlang, and Seneca Understand microservices’ impact on teams, technical leaders, product owners, and stakeholders Managers will discover better ways to support microservices, and learn how adopting the method affects the entire organization. Developers will master the technical skills and concepts they need to be effective. Architects will gain a deep understanding of key issues in creating or migrating toward microservices, and exactly what it will take to transform their plans into reality.