Glossary of Key Terms
Glossary of Key Terms
| Term | Definition |
| Aggregator Pattern | A composition pattern where a single web module acts as a load balancer, calling different services as required and potentially applying business logic to their combined results. |
| Agile | A well-known process structure used in software development to facilitate good task management, especially for breaking down large applications into smaller tasks. |
| Autonomous | A characteristic of microservices where each service is an autonomous business unit of the entire application, leading to a loosely coupled system and reduced maintenance costs. |
| Back End as a Service (BaaS) | A service type, also known as Mobile Back-end as a Service (MBaaS), where the backend of an application (e.g., push notifications, social networking services) is provided to business units. |
| Branch Microservice Pattern | An extended version of the Aggregator and Chained patterns where the client can communicate directly with a service, and one service can communicate with more than one other service simultaneously. |
| Chained Pattern | A composition pattern where services are chained together so that the output of one service becomes the input for the next. The client communicates directly with the first service in the chain. |
| Corrective Control | A defensive security mechanism that involves working with different teams to fix issues that arise during the detective control phase. |
| Coupling | The degree of interdependence between software modules. In MSA, services should be “loosely coupled” so that changes in one do not affect another. |
| Data as a Service (DaaS) | A service type where data is shared with business conglomerates for research and analysis, bringing simplicity, agility, and security to the data access layer. |
| Detective Control | A defensive security mechanism that involves monitoring users to detect any potential risks or threats. |
| Deterrent Control | A defensive security mechanism focused on understanding potential threats in order to reduce cyber-attacks. |
| Distributed System | A system whose components are located on different networked computers, which communicate and coordinate their actions by passing messages to one another. This is cited as a primary disadvantage of MSA due to its complexity. |
| High Cohesion | A design principle for microservices stating that business models should be divided into the smallest possible business parts, with each service focused on performing only one business task. |
| Infrastructure as a Service (IaaS) | A service type where organizations provide virtual infrastructure, such as data centers and computing resources, via cloud computing. |
| Microservice | A service-based application development methodology where applications are divided into the smallest independent service units. It is considered a specialized implementation of SOA. |
| Monolithic Application | An application developed as a single, indivisible unit, often in one deployable file (e.g., a WAR or EAR file), where all modules are tightly integrated. |
| Platform as a Service (PaaS) | A service-oriented architecture where a platform is provided as a tool that can be customized for business needs, often used to provide a built-in infrastructure for developers. |
| Preventive Control | A defensive security mechanism focused on maintaining a high-level authentication policy to control access to the cloud environment. |
| Proxy Pattern | A variation of the Aggregator pattern where a proxy module is used instead of an aggregator. The proxy service may call different services individually and can add an extra layer of security. |
| Resilience | A property of isolating a software unit so that if one unit fails, it does not impact the entire business application. |
| Scaling | The process of breaking down software into different units. It is also defined in terms of scalability, which is the potential to implement more advanced features. |
| Service-Oriented Architecture (SOA) | A design paradigm for computer software where software components are exposed to the outer world for use in the form of services. MSA is considered a type or implementation of SOA. |
| Shared Resource Pattern | A composition pattern where the client or a load balancer communicates directly with each service as needed. It is described as the most effective and widely followed pattern. |
| Software as a Service (SaaS) | A software licensing model where software is centrally hosted and licensed on a subscription basis, commonly accessed through a web browser. |
| Two Pizza Rule | A rule for team management suggesting that a development team should be small enough to be fed by two pizzas (generally no more than 8 members). |
| X-Axis Scaling | Also known as horizontal scaling, this is a procedure where an application is sub-divided into different horizontal parts, such as in a typical Model-View-Controller (MVC) architecture. |
| Y-Axis Scaling | Also known as vertical scaling, this involves resource-level scaling, such as running multiple servers with the same application and using load balancing to direct traffic. |
| Z-Axis Scaling | A scaling methodology that occurs at the business level, where an application is scaled across different verticals or business units (e.g., different services in a cab booking app). |