Publisher: K-i-s-publishing
Adrian Ostrowski, Piotr Gaczkowski
Software architecture refers to the high-level design of complex applications. It is evolving just like the languages we use, but there are architectural concepts and patterns that you can learn to write high-performance apps in a high-level language without sacrificing readability and maintainability. If you're working with modern C++, this practical guide will help you put your knowledge to work and design distributed, large-scale apps. You'll start by getting up to speed with architectural concepts, including established patterns and rising trends, then move on to understanding what software architecture actually is and start exploring its components. Next, you'll discover the design concepts involved in application architecture and the patterns in software development, before going on to learn how to build, package, integrate, and deploy your components. In the concluding chapters, you'll explore different architectural qualities, such as maintainability, reusability, testability, performance, scalability, and security. Finally, you will get an overview of distributed systems, such as service-oriented architecture, microservices, and cloud-native, and understand how to apply them in application development.By the end of this book, you'll be able to build distributed services using modern C++ and associated tools to deliver solutions as per your clients' requirements.
Andrey Gavrilin, Adrian Ostrowski, Piotr Gaczkowski
Designing scalable and maintainable software with C++ requires more than language expertise—it demands strong architectural thinking. This practical guide equips you with the skills to design and build robust, distributed systems using modern C++.Starting with fundamental architectural principles and design philosophies, the book walks you through practical approaches to designing and deploying reliable systems. This edition contains significant updates across the book, including new chapters on observability, package management, and C++ modules to address real-world software challenges. You will explore software decomposition strategies, design and system patterns, fault tolerance, API management, and testability—all applied with C++.Additionally, the book covers modern CI/CD pipelines, cloud-native design, microservices, and modular development, helping developers navigate today's fast-evolving software landscape. With updated examples and a renewed emphasis on maintainable and observable architectures, this edition equips C++ professionals to architect modern systems. By the end of this book, you will be able to design, build, test, and deploy well-architected solutions using modern C++ and proven architectural techniques.*Email sign-up and proof of purchase required
Jason (Tsz Shun) Chow
Software Architecture with Kotlin explores the various styles of software architecture with a focus on using the Kotlin programming language. The author draws on their 20+ years of industry experience in developing large-scale enterprise distributed systems to help you grasp the principles, practices, and patterns that shape the architectural landscape of modern software systems.The book establishes a strong foundation in software architecture, explaining key concepts such as architectural qualities and principles, before teaching you how architectural decisions impact the quality of a system, such as scalability, reliability, and extendability. The chapters address modern architecture topics such as microservices, serverless, and event-driven architectures, providing insights into the challenges and trade-offs involved in adopting these architectural styles. You’ll also discover practical tools that’ll help you make informed decisions and mitigate risks. All architectural patterns in this book are demonstrated using Kotlin.By the end of this book, you’ll have gained practical expertise by using real-world examples, along with a solid understanding of Kotlin, to become a more proficient and impactful software architect.
Anand Balachandran Pillai
This book starts by explaining how Python fits into an application's architecture. As you move along, you will get to grips with architecturally significant demands and how to determine them. Later, you’ll gain a complete understanding of the different architectural quality requirements for building a product that satisfies business needs, such as maintainability/reusability, testability, scalability, performance, usability, and security.You will also use various techniques such as incorporating DevOps, continuous integration, and more to make your application robust. You will discover when and when not to use object orientation in your applications, and design scalable applications.The focus is on building the business logic based on the business process documentation, and understanding which frameworks to use and when to use them. The book also covers some important patterns that should be taken into account while solving design problems, as well as those in relatively new domains such as the Cloud.By the end of this book, you will have understood the ins and outs of Python so that you can make critical design decisions that not just live up to but also surpassyour clients’ expectations.
René Enríquez, Alberto Salazar
Spring 5 and its ecosystem can be used to build robust architectures effectively. Software architecture is the underlying piece that helps us accomplish our business goals whilst supporting the features that a product demands. This book explains in detail how to choose the right architecture and apply best practices during your software development cycle to avoid technical debt and support every business requirement. Choosing the right architecture model to support your business requirements is one of the key decisions you need to take when a new product is being created from scratch or is being refactored to support new business demands. This book gives you insights into the most common architectural models and guides you when and where they can be used. During this journey, you’ll see cutting-edge technologies surrounding the Spring products, and understand how to use agile techniques such as DevOps and continuous delivery to take your software to production effectively. By the end of this book, you’ll not only know the ins and outs of Spring, but also be able to make critical design decisions that surpass your clients’ expectations.
Wanderson Xesquevixos
Keep up with the fast-paced tech landscape with Software Architecture with Spring, your practical guide to making strategic architectural decisions that align seamlessly with your business objectives.Drawing from Wanderson's decades of experience, you'll journey through the complete software development lifecycle—from initial requirements gathering, through development and testing, to production deployment. You'll get hands-on with the evolution of an auction system, exploring its transformation through multiple architectural styles. You’ll discover how you can effectively transform a monolithic system into microservices using proven patterns and practices.As you progress, you’ll master advanced architectural paradigms such as Event-Driven Architecture, Filter-and-Pipeline Architecture, and Serverless Architecture.
Simon Amey
Software Test Design details best practices for testing software applications and writing comprehensive test plans. Written by an expert with over twenty years of experience in the high-tech industry, this guide will provide you with training and practical examples to improve your testing skills.Thorough testing requires a thorough understanding of the functionality under test, informed by exploratory testing and described by a detailed functional specification. This audiobook is divided into three sections, the first of which will describe how best to complete those tasks to start testing from a solid foundation.Armed with the feature specification, functional testing verifies the visible behavior of features by identifying equivalence partitions, boundary values, and other key test conditions. This section explores techniques such as black- and white-box testing, trying error cases, finding security weaknesses, improving the user experience, and how to maintain your product in the long term.The final section describes how best to test the limits of your application. How does it behave under failure conditions and can it recover? What is the maximum load it can sustain? And how does it respond when overloaded?By the end of this audiobook, you will know how to write detailed test plans to improve the quality of your software applications.
Simon Amey
Software Test Design details best practices for testing software applications and writing comprehensive test plans. Written by an expert with over twenty years of experience in the high-tech industry, this guide will provide you with training and practical examples to improve your testing skills.Thorough testing requires a thorough understanding of the functionality under test, informed by exploratory testing and described by a detailed functional specification. This book is divided into three sections, the first of which will describe how best to complete those tasks to start testing from a solid foundation.Armed with the feature specification, functional testing verifies the visible behavior of features by identifying equivalence partitions, boundary values, and other key test conditions. This section explores techniques such as black- and white-box testing, trying error cases, finding security weaknesses, improving the user experience, and how to maintain your product in the long term.The final section describes how best to test the limits of your application. How does it behave under failure conditions and can it recover? What is the maximum load it can sustain? And how does it respond when overloaded?By the end of this book, you will know how to write detailed test plans to improve the quality of your software applications.
Software Testing Strategies. A testing guide for the 2020s
Matthew Heusser, Michael Larsen
In today’s world, software is everywhere—from entertainment apps to mission-critical systems that support our health, finance, and infrastructure. Testing plays a vital role in ensuring these systems work reliably. Whether you're a software developer, hobbyist, or IT professional, this book will guide you in mastering the art of testing. It’s about asking the right What if? questions, uncovering vulnerabilities, and ensuring software performs as expected throughout its lifecycle. Testing isn't just about automation; it’s a human-driven, creative process that requires skill, and a deep understanding of software behavior. With practical examples and expert insights, this book helps you craft your own test strategies and explore novel approaches to problem-solving in the testing world. With its help, you’ll hone your testing skills with techniques and methodologies rather than tool-based solutions. Authored by experts Matt Heusser and Michael Larson, the book provides valuable strategies for making testing both effective and engaging. Matt is known for his leadership in project rescue initiatives, while Michael’s work in accessibility testing has helped shape industry standards. By the end of this book, you’ll be equipped to enhance your testing practices and ensure high-quality software in an ever-evolving tech landscape.
Software-Defined Networking (SDN) with OpenStack. Click here to enter text
Sreenivas Voruganti, Sriram Subramanian
Networking is one the pillars of OpenStack and OpenStack Networking are designed to support programmability and Software-Defined Networks. OpenStack Networking has been evolving from simple APIs and functionality in Quantum to more complex capabilities in Neutron.Armed with the basic knowledge, this book will help the readers to explore popular SDN technologies, namely, OpenDaylight (ODL), OpenContrail, Open Network Operating System (ONOS) and Open Virtual Network (OVN). The first couple of chapters will provide an overview of OpenStack Networking and SDN in general. Thereafter a set of chapters are devoted to OpenDaylight (ODL), OpenContrail and their integration with OpenStack Networking. The book then introduces you to Open Network Operating System (ONOS) which is fast becoming a carrier grade SDN platform. We will conclude the book with overview of upcoming SDN projects within OpenStack namely OVN and Dragonflow.By the end of the book, the readers will be familiar with SDN technologies and know how they can be leveraged in an OpenStack based cloud.
Software-Defined Networking with OpenFlow. Deliver innovative business solutions - Second Edition
SIAMAK AZODOLMOLKY, Oswald Coker
OpenFlow paves the way for an open, centrally programmable structure, thereby accelerating the effectiveness of Software-Defined Networking.Software-Defined Networking with OpenFlow, Second Edition takes you through the product cycle and gives you an in-depth description of the components and options that are available at each stage. The aim of this book is to help you implement OpenFlow concepts and improve Software-Defined Networking on your projects. You will begin by learning about building blocks and OpenFlow messages such as controller-to-switch and symmetric and asynchronous messages. Next, this book will take you through OpenFlow controllers and their existing implementations followed by network application development. Key topics include the basic environment setup, the Neutron and Floodlight OpenFlow controller, XORPlus OF13SoftSwitch, enterprise and affordable switches such as the Zodiac FX and HP2920.By the end of this book, you will be able to implement OpenFlow concepts and improve Software-Defined Networking in your projects.
Joe Dissmeyer, Joseph Dissmeyer
Orion Network Performance Monitor is a scalable, easy-to-use, cost-effective network monitoring system that provides a complete overview of network environments by monitoring performance and availability. Orion NPM enables you to be proactive in detecting, diagnosing, and resolving network issues and outages and has the benefit of supporting hundreds of types of server, OS, and network vendors including Cisco, HP, Microsoft, Linux, Motorola, Brocade, Foundry, and more.Orion NPM is a well-known product and is used by thousands of public and private companies, educational institutions, and government entities for network monitoring. In SolarWinds Orion Network Performance Monitor you will learn how to install, implement, and manage Orion NPM to ensure you maintain an efficient, healthy, and performant network.In this book you will start with an overview of the constituent features of Orion NPM. Leading you through installation and configuration this book will help you set up a flexible and dynamic monitoring solution.With Orion NPM in place the book will then take you on a journey through essential Orion NPM and network monitoring concepts and practices. You will cover device management, learning how to use the Network Sonar Wizard, as well as adding devices manually.Turning from novice to pro, you will then be introduced to the core of network monitoring with Orion NPM. You will learn about monitoring Windows and Linux solutions as well as Virtual Servers. You will then master wireless networks and virtual networks. You will then learn how to set up and edit alerts to make network monitoring more efficient and less time-consuming. You will also learn how to develop reports and network maps as well as essential administrative techniques.
Justin Brant
As a network or system administrator, your primary responsibility is to ensure high availability of all managed IT services. There are a number of monitoring tools available; but these can be complicated and expensive, and may only monitor certain areas of your network. SolarWinds Server & Application Monitor is an intuitive, all-encompassing, yet cost effective, enterprise-level network monitoring service.A concise and practical, hands-on guide that will teach you how utilize SolarWinds SAM. It provides step-by-step tutorials to walk you through every feature, while teaching you how to tailor the product to your own network environment.This book will guide you through equipping your network devices and servers for SolarWinds SAM utilization. It will provide a sequential, hands-on overview of the product, and is suited for networks of all sizes, ranging from small businesses to larger enterprises.You will learn how to populate SolarWinds SAM with nodes, then classify and group nodes to tailor the product to your network environment. By doing so, you will benefit from key features such as automated alerts, traps, and reports. Each feature is explained in a practical and useful manner via tutorials and real-world examples to help you start monitoring your network quickly and efficiently, while keeping security implications in mind by applying enterprise-level best practices.
Ritesh Modi
Solidity is a contract-oriented language whose syntax is highly influenced by JavaScript, and is designed to compile code for the Ethereum Virtual Machine. Solidity Programming Essentials will be your guide to understanding Solidity programming to build smart contracts for Ethereum and blockchain from ground-up.We begin with a brief run-through of blockchain, Ethereum, and their most important concepts or components. You will learn how to install all the necessary tools to write, test, and debug Solidity contracts on Ethereum. Then, you will explore the layout of a Solidity source file and work with the different data types. The next set of recipes will help you work with operators, control structures, and data structures while building your smart contracts. We take you through function calls, return types, function modifers, and recipes in object-oriented programming with Solidity. Learn all you can on event logging and exception handling, as well as testing and debugging smart contracts.By the end of this book, you will be able to write, deploy, and test smart contracts in Ethereum. This book will bring forth the essence of writing contracts using Solidity and also help you develop Solidity skills in no time.
Ritesh Modi
Solidity is a high-level language for writing smart contracts, and the syntax has large similarities with JavaScript, thereby making it easier for developers to learn, design, compile, and deploy smart contracts on large blockchain ecosystems including Ethereum and Polygon among others. This book guides you in understanding Solidity programming from scratch.The book starts with step-by-step instructions for the installation of multiple tools and private blockchain, along with foundational concepts such as variables, data types, and programming constructs. You’ll then explore contracts based on an object-oriented paradigm, including the usage of constructors, interfaces, libraries, and abstract contracts. The following chapters help you get to grips with testing and debugging smart contracts. As you advance, you’ll learn about advanced concepts like assembly programming, advanced interfaces, usage of recovery, and error handling using try-catch blocks. You’ll also explore multiple design patterns for smart contracts alongside developing secure smart contracts, as well as gain a solid understanding of writing upgradable smart concepts and data modeling. Finally, you’ll discover how to create your own ERC20 and NFT tokens from scratch.By the end of this book, you will be able to write, deploy, and test smart contracts in Ethereum.