We are working to restore the Unionpedia app on the Google Play Store
OutgoingIncoming
🌟We've simplified our design for better navigation!
Instagram Facebook X LinkedIn
Your own Unionpedia with your logo and domain, from 9.99 USD/month
Create my Unionpedia

Microservices

Index Microservices

In software engineering, a microservice architecture is an architectural pattern that arranges an application as a collection of loosely coupled, fine-grained services, communicating through lightweight protocols. [1]

Table of Contents

  1. 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) »

  2. 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.

See Microservices and API

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.

See Microservices and Backup

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.

See Microservices and DevOps

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.

See Microservices and Fluentd

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.

See Microservices and Grafana

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").

See Microservices and GraphQL

GRPC

gRPC (gRPC Remote Procedure Calls) is a cross-platform high-performance remote procedure call (RPC) framework.

See Microservices and GRPC

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.

See Microservices and HATEOAS

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.

See Microservices and HTTP

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.

See Microservices and Kibana

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.

See Microservices and Netflix

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.

See Microservices and Outlier

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.

See Microservices and REST

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.

See Microservices and SOAP

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 Microservices and YouTube

See also

Architectural pattern (computer science)

References

[1] https://en.wikipedia.org/wiki/Microservices

Also known as Microservice, Microservice architecture, Microservices architecture, Nanoservice, Nanoservices.

, Martin Fowler (software engineer), Message format, Microfrontend, Microsoft, Modular programming, Monolithic application, Monolithic system, Native cloud application, Netflix, Non-functional requirement, OS-level virtualization, Outlier, Pipeline (Unix), Process (computing), Programmer, Programming language, Resource-oriented computing, REST, Robustness (computer science), Scalability, Scale cube, Self-contained system (software), Serverless computing, Service discovery, Service granularity principle, Service-oriented architecture, SOAP, Software architect, Software component, Software deployment, Software development, Software ecosystem, Software engineering, Software modernization, Software testing, Spring Framework, Swagger (software), System integration, Two-phase commit protocol, Uniform Resource Identifier, Unix philosophy, Web service, Web-oriented architecture, World Wide Web, YouTube.