Table of Contents
95 relations: Alistair Cockburn, Amazon (company), Apache Mesos, API, Application-release automation, Architectural pattern, Backup, Build automation, Case study, Cloud Native Computing Foundation, Code refactoring, Communication protocol, Compound annual growth rate, Computer network, Continuous delivery, Continuous deployment, Continuous design, Continuous integration, Conway's law, Coupling (computer programming), Cross-cutting concern, Data mesh, Database, DevOps, Distributed computing, Docker (software), Domain-driven design, Eclipse Foundation, Elasticsearch, Fallacies of distributed computing, Fault tolerance, Fluentd, Function (computer programming), Grafana, Granularity, GraphQL, GRPC, HATEOAS, Hewlett Packard Labs, Hexagonal architecture (software), HTTP, Interface (computing), Interface description language, Kibana, Kubernetes, Latency (engineering), Legacy system, Lightweight protocol, Load balancing (computing), Loose coupling, ... Expand index (45 more) »
- Architectural pattern (computer science)
Alistair Cockburn
Alistair Cockburn is an American computer scientist, known as one of the initiators of the agile movement in software development.
See Microservices and Alistair Cockburn
Amazon (company)
Amazon.com, Inc., doing business as Amazon, is an American multinational technology company, engaged in e-commerce, cloud computing, online advertising, digital streaming, and artificial intelligence.
See Microservices and Amazon (company)
Apache Mesos
Apache Mesos is an open-source project to manage computer clusters.
See Microservices and Apache Mesos
API
An is a way for two or more computer programs or components to communicate with each other.
Application-release automation
Application-release automation (ARA) refers to the process of packaging and deploying an application or update of an application from development, across various environments, and ultimately to production.
See Microservices and Application-release automation
Architectural pattern
An architectural pattern is a general, reusable resolution to a commonly occurring problem in software architecture within a given context. Microservices and architectural pattern are architectural pattern (computer science).
See Microservices and Architectural pattern
Backup
In information technology, a backup, or data backup is a copy of computer data taken and stored elsewhere so that it may be used to restore the original after a data loss event.
Build automation
Build automation is the practice of building software systems in a relatively unattended fashion.
See Microservices and Build automation
Case study
A case study is an in-depth, detailed examination of a particular case (or cases) within a real-world context.
See Microservices and Case study
Cloud Native Computing Foundation
The Cloud Native Computing Foundation (CNCF) is a Linux Foundation project that was started in 2015 to help advance container technology and align the tech industry around its evolution.
See Microservices and Cloud Native Computing Foundation
Code refactoring
In computer programming and software design, code refactoring is the process of restructuring existing source code—changing the factoring—without changing its external behavior.
See Microservices and Code refactoring
Communication protocol
A communication protocol is a system of rules that allows two or more entities of a communications system to transmit information via any variation of a physical quantity.
See Microservices and Communication protocol
Compound annual growth rate
Compound annual growth rate (CAGR) is a business, economics and investing term representing the mean annualized growth rate for compounding values over a given time period.
See Microservices and Compound annual growth rate
Computer network
A computer network is a set of computers sharing resources located on or provided by network nodes.
See Microservices and Computer network
Continuous delivery
Continuous delivery (CD) is a software engineering approach in which teams produce software in short cycles, ensuring that the software can be reliably released at any time.
See Microservices and Continuous delivery
Continuous deployment
Continuous deployment (CD) is a software engineering approach in which software functionalities are delivered frequently and through automated deployments.
See Microservices and Continuous deployment
Continuous design
Evolutionary design, continuous design, evolutive design, or incremental design is directly related to any modular design application, in which components can be freely substituted to improve the design, modify performance, or change another feature at a later time.
See Microservices and Continuous design
Continuous integration
Continuous integration (CI) is the practice of integrating source code changes frequently and ensuring that the integrated codebase is in a workable state.
See Microservices and Continuous integration
Conway's law
Conway's law describes the link between communication structure of organizations and the systems they design.
See Microservices and Conway's law
Coupling (computer programming)
In software engineering, coupling is the degree of interdependence between software modules; a measure of how closely connected two routines or modules are; the strength of the relationships between modules.
See Microservices and Coupling (computer programming)
Cross-cutting concern
In aspect-oriented software development, cross-cutting concerns are aspects of a program that affect several modules, without the possibility of being encapsulated in any of them.
See Microservices and Cross-cutting concern
Data mesh
Data mesh is a sociotechnical approach to building a decentralized data architecture by leveraging a domain-oriented, self-serve design (in a software development perspective), and borrows Eric Evans’ theory of domain-driven design and Manuel Pais’ and Matthew Skelton’s theory of team topologies.
See Microservices and Data mesh
Database
In computing, a database is an organized collection of data or a type of data store based on the use of a database management system (DBMS), the software that interacts with end users, applications, and the database itself to capture and analyze the data.
See Microservices and Database
DevOps
DevOps is a methodology in the software development and IT industry.
Distributed computing
Distributed computing is a field of computer science that studies distributed systems, defined as computer systems whose inter-communicating components are located on different networked computers.
See Microservices and Distributed computing
Docker (software)
Docker is a set of platform as a service (PaaS) products that use OS-level virtualization to deliver software in packages called containers.
See Microservices and Docker (software)
Domain-driven design
Domain-driven design (DDD) is a major software design approach, focusing on modeling software to match a domain according to input from that domain's experts.
See Microservices and Domain-driven design
Eclipse Foundation
The Eclipse Foundation AISBL is an independent, Europe-based not-for-profit corporation that acts as a steward of the Eclipse open source software development community, with legal jurisdiction in the European Union.
See Microservices and Eclipse Foundation
Elasticsearch
Elasticsearch is a search engine based on the Lucene library.
See Microservices and Elasticsearch
Fallacies of distributed computing
The fallacies of distributed computing are a set of assertions made by L Peter Deutsch and others at Sun Microsystems describing false assumptions that programmers new to distributed applications invariably make.
See Microservices and Fallacies of distributed computing
Fault tolerance
Fault tolerance is the ability of a system to maintain proper operation despite failures or faults in one or more of its components.
See Microservices and Fault tolerance
Fluentd
Fluentd is a cross-platform open-source data collection software project originally developed at Treasure Data.
Function (computer programming)
In computer programming, a function, procedure, method, subroutine, routine, or subprogram is a callable unit of software logic that has a well-defined interface and behavior and can be invoked multiple times.
See Microservices and Function (computer programming)
Grafana
Grafana is a multi-platform open source analytics and interactive visualization web application.
Granularity
Granularity (also called graininess) is the degree to which a material or system is composed of distinguishable pieces, "granules" or "grains" (metaphorically).
See Microservices and Granularity
GraphQL
GraphQL is a data query and manipulation language for APIs, that allows a client to specify what data it needs ("declarative data fetching").
GRPC
gRPC (gRPC Remote Procedure Calls) is a cross-platform high-performance remote procedure call (RPC) framework.
HATEOAS
Hypermedia as the engine of application state (HATEOAS) is a constraint of the REST software architectural style that distinguishes it from other network architectural styles.
Hewlett Packard Labs
Hewlett Packard Labs is the exploratory and advanced research group for Hewlett Packard Enterprise and its businesses.
See Microservices and Hewlett Packard Labs
Hexagonal architecture (software)
The hexagonal architecture, or ports and adapters architecture, is an architectural pattern used in software design. Microservices and hexagonal architecture (software) are architectural pattern (computer science).
See Microservices and Hexagonal architecture (software)
HTTP
HTTP (Hypertext Transfer Protocol) is an application layer protocol in the Internet protocol suite model for distributed, collaborative, hypermedia information systems.
Interface (computing)
In computing, an interface is a shared boundary across which two or more separate components of a computer system exchange information.
See Microservices and Interface (computing)
Interface description language
An interface description language or interface definition language (IDL) is a generic term for a language that lets a program or object written in one language communicate with another program written in an unknown language.
See Microservices and Interface description language
Kibana
Kibana is a source-available data visualization dashboard software for Elasticsearch.
Kubernetes
Kubernetes (K8s) is an open-source container orchestration system for automating software deployment, scaling, and management.
See Microservices and Kubernetes
Latency (engineering)
Latency, from a general point of view, is a time delay between the cause and the effect of some physical change in the system being observed.
See Microservices and Latency (engineering)
Legacy system
In computing, a legacy system is an old method, technology, computer system, or application program, "of, relating to, or being a previous or outdated computer system", yet still in use.
See Microservices and Legacy system
Lightweight protocol
A lightweight protocol in computer networking is a communication protocol that is characterized by a relatively small overhead (caused e.g. by bulky metadata) in transmitted on top of the functional data.
See Microservices and Lightweight protocol
Load balancing (computing)
In computing, load balancing is the process of distributing a set of tasks over a set of resources (computing units), with the aim of making their overall processing more efficient.
See Microservices and Load balancing (computing)
Loose coupling
In computing and systems design, a loosely coupled system is one. Microservices and loose coupling are service-oriented (business computing).
See Microservices and Loose coupling
Martin Fowler (software engineer)
Martin Fowler (18 December 1963) is a British software developer, author and international public speaker on software development, specialising in object-oriented analysis and design, UML, patterns, and agile software development methodologies, including extreme programming.
See Microservices and Martin Fowler (software engineer)
Message format
In telecommunication, a message Base station is a predetermined or prescribed spatial or time-sequential arrangement of the parts of a message that is recorded in or on a data storage medium.
See Microservices and Message format
Microfrontend
Micro frontends (singular: micro frontend) is a front-end web development pattern in which a single application may be built from disparate builds. Microservices and Microfrontend are architectural pattern (computer science).
See Microservices and Microfrontend
Microsoft
Microsoft Corporation is an American multinational corporation and technology company headquartered in Redmond, Washington.
See Microservices and Microsoft
Modular programming
Modular programming is a software design technique that emphasizes separating the functionality of a program into independent, interchangeable modules, such that each contains everything necessary to execute only one aspect of the desired functionality.
See Microservices and Modular programming
Monolithic application
In software engineering, a monolithic application is a single unified software application which is self-contained and independent from other applications, but typically lacks flexibility.
See Microservices and Monolithic application
Monolithic system
A monolithic system is a system that is integrated into one whole, analogous to a monolith.
See Microservices and Monolithic system
Native cloud application
A native cloud application (NCA) is a type of computer software that natively utilizes services and infrastructure from cloud computing providers such as Amazon EC2, Force.com, or Microsoft Azure.
See Microservices and Native cloud application
Netflix
Netflix is an American subscription video on-demand over-the-top streaming service.
Non-functional requirement
In systems engineering and requirements engineering, a non-functional requirement (NFR) is a requirement that specifies criteria that can be used to judge the operation of a system, rather than specific behaviours.
See Microservices and Non-functional requirement
OS-level virtualization
OS-level virtualization is an operating system (OS) virtualization paradigm in which the kernel allows the existence of multiple isolated user space instances, called containers (LXC, Solaris containers, AIX WPARs, HP-UX SRP Containers, Docker, Podman), zones (Solaris containers), virtual private servers (OpenVZ), partitions, virtual environments (VEs), virtual kernels (DragonFly BSD), or jails (FreeBSD jail or chroot jail).
See Microservices and OS-level virtualization
Outlier
In statistics, an outlier is a data point that differs significantly from other observations.
Pipeline (Unix)
In Unix-like computer operating systems, a pipeline is a mechanism for inter-process communication using message passing.
See Microservices and Pipeline (Unix)
Process (computing)
In computing, a process is the instance of a computer program that is being executed by one or many threads.
See Microservices and Process (computing)
Programmer
A programmer, computer programmer or coder is an author of computer source code someone with skill in computer programming.
See Microservices and Programmer
Programming language
A programming language is a system of notation for writing computer programs.
See Microservices and Programming language
Resource-oriented computing
Resource Oriented Computing (ROC) is a simple abstract computing model used for describing, designing, and implementing software and software systems.
See Microservices and Resource-oriented computing
REST
REST (representational state transfer) is a software architectural style that was created to guide the design and development of the architecture for the World Wide Web.
Robustness (computer science)
In computer science, robustness is the ability of a computer system to cope with errors during execution1990.
See Microservices and Robustness (computer science)
Scalability
Scalability is the property of a system to handle a growing amount of work.
See Microservices and Scalability
Scale cube
The scale cube is a technology model that indicates three methods (or approaches) by which technology platforms may be scaled to meet increasing levels of demand upon the system in question.
See Microservices and Scale cube
Self-contained system (software)
In computing, self-contained system (SCS) is a software architecture approach that focuses on a separation of the functionality into many independent systems, making the complete logical system a collaboration of many smaller software systems. Microservices and self-contained system (software) are architectural pattern (computer science).
See Microservices and Self-contained system (software)
Serverless computing
Serverless computing is a cloud computing execution model in which the cloud provider allocates machine resources on demand, taking care of the servers on behalf of their customers. Microservices and Serverless computing are architectural pattern (computer science).
See Microservices and Serverless computing
Service discovery
Service discovery is the process of automatically detecting devices and services on a computer network. Microservices and service discovery are service-oriented (business computing).
See Microservices and Service discovery
Service granularity principle
In the context of software engineering and software architecture, service granularity is a key design concern when applying the paradigm of service-orientation for instance during service-oriented modeling. Microservices and service granularity principle are service-oriented (business computing).
See Microservices and Service granularity principle
Service-oriented architecture
In software engineering, service-oriented architecture (SOA) is an architectural style that focuses on discrete services instead of a monolithic design. Microservices and service-oriented architecture are architectural pattern (computer science) and service-oriented (business computing).
See Microservices and Service-oriented architecture
SOAP
SOAP (formerly an acronym for Simple Object Access Protocol) is a messaging protocol specification for exchanging structured information in the implementation of web services in computer networks.
Software architect
A software architect is a software engineer responsible for high-level design choices related to overall system structure and behavior.
See Microservices and Software architect
Software component
A software component is a modular unit of software that encapsulates specific functionality.
See Microservices and Software component
Software deployment
Software deployment is all of the activities that make a software system available for use.
See Microservices and Software deployment
Software development
Software development is the process used to create software.
See Microservices and Software development
Software ecosystem
Software Ecosystem is a book written by David G. Messerschmitt and Clemens Szyperski that explains the essence and effects of a "software ecosystem", defined as a set of businesses functioning as a unit and interacting with a shared market for software and services, together with relationships among them.
See Microservices and Software ecosystem
Software engineering
Software engineering is an engineering approach to software development.
See Microservices and Software engineering
Software modernization
Legacy modernization, also known as software modernization or platform modernization, refers to the conversion, rewriting or porting of a legacy system to modern computer programming languages, architectures (e.g. microservices), software libraries, protocols or hardware platforms.
See Microservices and Software modernization
Software testing
Software testing is the act of checking whether software satisfies expectations.
See Microservices and Software testing
Spring Framework
The Spring Framework is an application framework and inversion of control container for the Java platform.
See Microservices and Spring Framework
Swagger (software)
Swagger is a suite of tools for API developers from SmartBear Software and a former specification upon which the OpenAPI Specification is based.
See Microservices and Swagger (software)
System integration
System integration is defined in engineering as the process of bringing together the component sub-systems into one system (an aggregation of subsystems cooperating so that the system is able to deliver the overarching functionality) and ensuring that the subsystems function together as a system, and in information technology as the process of linking together different computing systems and software applications physically or functionally, to act as a coordinated whole.
See Microservices and System integration
Two-phase commit protocol
In transaction processing, databases, and computer networking, the two-phase commit protocol (2PC, tupac) is a type of atomic commitment protocol (ACP).
See Microservices and Two-phase commit protocol
Uniform Resource Identifier
A Uniform Resource Identifier (URI), formerly Universal Resource Identifier, is a unique sequence of characters that identifies an abstract or physical resource, such as resources on a webpage, mail address, phone number, books, real-world objects such as people and places, concepts.
See Microservices and Uniform Resource Identifier
Unix philosophy
The Unix philosophy, originated by Ken Thompson, is a set of cultural norms and philosophical approaches to minimalist, modular software development.
See Microservices and Unix philosophy
Web service
A web service (WS) is either.
See Microservices and Web service
Web-oriented architecture
Web-oriented architecture (WOA) was coined in 2006 by Nick Gall of Gartner. Microservices and Web-oriented architecture are service-oriented (business computing).
See Microservices and Web-oriented architecture
World Wide Web
The World Wide Web (WWW or simply the Web) is an information system that enables content sharing over the Internet through user-friendly ways meant to appeal to users beyond IT specialists and hobbyists.
See Microservices and World Wide Web
YouTube
YouTube is an American online video sharing platform owned by Google.
See also
Architectural pattern (computer science)
- Action–domain–responder
- Active record pattern
- Architectural pattern
- Blackboard system
- Data access object
- Data mapper pattern
- Data transfer object
- Entity component system
- Entity-control-boundary
- Front controller
- Hexagonal architecture (software)
- Identity map pattern
- Interceptor pattern
- Interface-based programming
- Inversion of control
- JavaBeans
- LCHH Architecture
- List of software architecture styles and patterns
- Microfrontend
- Microservices
- Model–view–adapter
- Model–view–controller
- Model–view–presenter
- Model–view–viewmodel
- Multitier architecture
- Publish–subscribe pattern
- Self-contained system (software)
- Serverless computing
- Service locator pattern
- Service-oriented architecture
- Specification pattern
- Twelve-Factor App methodology
- Windows Open Services Architecture
References
Also known as Microservice, Microservice architecture, Microservices architecture, Nanoservice, Nanoservices.

