<<

GLOSSARY OF -Native Terms A ACID Active Directory AKS API server Azure Container Registry B build BOSH Cassandra cloud cloud Infrastructure cloud-native applications Cloud Span- ner cluster CNCF CNI Concourse CoreDNS container containerize containerized application containers container host container registry controllers CI/CD con- tinuous integration continuous delivery continuous deployment converged infrastructure D day one day two desired state DevOps developer-ready infrastructure digital transformation Docker Swarm E elastic ELK stack etcd F fault tolerance Fluentd G GCP open service broker Gemfire Cloud Platform Google Engine Greenplum Database GRPC H Hadoop Harbor Helm Chart horizontal pod autoscaler hybrid cloud hyper-converged infrastructure I image infrastructure as a service (IaaS) ingress J Jaeger JSON K K8s KaaS Kafka kops Kubernetes kubectl kubelet Kubo L LDAP Lightwave linkerd M Memcached microsegmentation Minikube MongoDB MySQL N namespace NodePort NoSQL NSX O OCI OpenTracing opinionated P platform orchestration PaaS PCF PKS Photon OS platforms platform developer platform operator pod PostgreSQL prescriptive platform private cloud Prometheus pull Q quality of service R RabbitMQ RBAC registry replica set repository refactoring repackaging replatforming rkt runC S scheduler service service discovery software-defined center (SDDC) (SaaS) Span- ner Spark spec Spring Cloud Data Flow StatefulSet swarm T tag the cloud traditional application V Volume W workload X XML Y YARN YAML Z ZooKeeper 12-fac- tor app A ACID Active Directory AKS API server Azure Container Registry B build BOSH C Cassandra cloud Infrastructure cloud-native applications Cloud Spanner cluster CNCF CNI Concourse CoreDNS container containerize containerized application containers as a service container host container registry controllers CI/CD continuous integration continuous delivery continuous deployment converged infrastructure D day one day two desired state DevOps developer-ready infrastructure digi- tal transformation Docker Docker Swarm E elastic ELK stack etcd F fault tolerance Fluentd G GCP open service broker Gemfire Google Kubernetes Engine Greenplum Database GRPC H Hadoop Harbor Helm Chart horizontal pod autoscaler hybrid cloud hyper-converged infrastructure I image infrastructure as a service (IaaS) ingress J Jaeger JSON K K8s KaaS Kafka kops Kubernetes kubectl kubelet Kubo L LDAP Lightwave linkerd M Memcached microservices microsegmentation Minikube MongoDB MySQL N namespace NodePort NoSQL NSX O OCI OpenTracing opinionated P platform orchestration PaaS PCF PKS Photon OS platforms platform as a service platform developer platform operator pod PostgreSQL prescriptive platform private cloud Prometheus pull Q quality of service R RabbitMQ RBAC Redis registry replica set repository refactoring repackaging replatforming rkt runC S scheduler service service discovery software-defined (SDDC) software as a service (SaaS) Span- ner Spark spec Spring Cloud Data Flow StatefulSet swarm T tag the cloud traditional application V Vagrant Volume W workload X XML Y YARN YAML Z ZooKeeper 12-fac- tor app A ACID Active Directory AKS API server Azure Container Registry B build BOSH C Cassandra cloud computing cloud Infrastructure cloud-native applications Cloud A ACID Active Directory AKS API server Azure Container Registry B build BOSH C Cassandra cloud computing cloud Infrastructure cloud-native ap- plications Cloud Spanner cluster CNCF CNI Concourse CoreDNS container containerize containerized application containers as a service container host container registry controllers CI/CD continuous integration continuous de- livery continuous deployment converged infrastructure D day one day two desired state DevOps developer-ready infrastructure digital transformation Docker Docker Swarm E elastic ELK stack etcd F fault tolerance Fluentd G GCP open service broker Gemfire Google Cloud Platform Google Kubernetes Engine Greenplum Database GRPC H Hadoop Harbor Helm Chart horizontal pod autoscaler hybrid cloud hyper-converged infrastructure I image infra- structure as a service (IaaS) ingress J Jaeger JSON K K8s KaaS Kafka kops Kubernetes kubectl kubelet Kubo L LDAP Lightwave linkerd M Memcached microservices microsegmentation Minikube MongoDB MySQL N namespace NodePort NoSQL NSX O OCI OpenTracing opinionated P platform orches- tration PaaS PCF PKS Photon OS platforms platform as a service platform developer platform operator pod PostgreSQL prescriptive platform private cloud Prometheus pull Q quality of service R RabbitMQ RBAC Redis registry replica set repository refactoring repackaging replatforming rkt runC S sched- uler service service discovery software-defined data center (SDDC) software as a service (SaaS) Spanner Spark spec Spring Cloud Data Flow StatefulSet swarm T tag the cloud traditional application V Vagrant Volume W workload X XML Y YARN YAML Z ZooKeeper 12-factor app A ACID Active Directory AKS API server Azure Container Registry B build BOSH C Cassandra cloud computing cloud Infrastructure cloud-native applications Cloud Spanner clus- ter CNCF CNI Concourse CoreDNS container containerize containerized ap- plication containers as a service container host container registry controllers CI/CD continuous integration continuous delivery continuous deployment converged infrastructure D day one day two desired state DevOps developer- ready infrastructure digital transformation Docker Docker Swarm E elastic ELK stack etcd F fault tolerance Fluentd G GCP open service broker Gem- fire Google Cloud Platform Google Kubernetes Engine Greenplum Database GRPC H Hadoop Harbor Helm Chart horizontal pod autoscaler hybrid cloud hyper-converged infrastructure I image infrastructure as a service (IaaS) in- Introduction

This glossary presents definitions for terminology in the cloud-native space. The definitions are not intended to be axiomatic, dictionary-style definitions but rather plain-language descriptions of what a term means and an explanation of why the technology associated with it matters. For some of the terms, meaning varies by usage, situation, perspective, or context. List of

Calico, 10 TERMS Cassandra, 10 Clarity, 10 cloud computing, 11 Container Runtime, 11 cloud infrastructure, 11 cloud-native applications, 12 Cloud Spanner, 12 cluster, 12 CNCF, 13 CNI, 13 Concourse, 13 CoreDNS, 13 container, 13 containerize, 14 containerized ACID, 8 application, 14 Active Directory, 8 containers as Admiral, 8 a service, 14 agile software container host, 14 development, 9 container registry, 14 AKS, 9 controllers, 14 API-first, 9 CI/CD, 14 API server, 9 continuous integration, 14 A Azure Container Registry, 9 continuous delivery, 15 continuous deployment, 15 converged build, 10 infrastructure, 15 B BOSH, 10 C CredHub, 15

4 Glossary of Cloud-Native Terms Hadoop, 20 day one, 15 Harbor, 20 day two, 15 Hatchway, 20 desired state, 15 Helm Chart, 20 DevOps, 15 horizontal pod developer-ready autoscaler, 21 infrastructure, 16 hybrid cloud, 21 Diego, 16 hyper-converged digital transformation, 16 H infrastructure, 21 Dispatch, 16 Docker, 17 D Docker Swarm, 17 image, 21 infrastructure as a service elastic, 17 (IaaS), 21 ELK stack, 17 ingress, 22 E etcd, 17 I Istio, 22

fault tolerance, 18 Flannel, 18 Fluentd, 18 Jaeger, 22 F , 18 J JSON, 22

GCP open service broker, 19 Gemfire, 19 K8s, 23 Go, 19 KaaS, 23 Google Cloud Kafka, 23 Platform, 19 kops, 23 Google Kubernetes Kubernetes, 23 Engine, 19 kubectl, 23 Greenplum Database, 19 kubelet, 24 G GRPC, 19 K Kubo, 24 PaaS, 29 PAS, 29 PCF, 29 LDAP, 24 Photon OS, 29 Lightwave, 24 PKS, 29 L linkerd, 25 platforms, 30 platform as a service, 30 platform developer, 30 platform operator, 31 MANO, 25 platform reliability Memcached, 25 engineer, 31 microservices, 25 pod, 31 microsegmentation, 26 PostgreSQL, 31 Minikube, 26 prescriptive platform, 32 MongoDB, 26 private cloud, 32 Multicloud, 26 Prometheus, 32 M MySQL, 26 P pull, 32

namespace, 27 namespace isolation, 27 network functions Q quality of service, 33 virtualization, 27 Node.js, 27 NodePort, 27 NoSQL, 28 RabbitMQ, 33 N NSX, 28 RBAC, 33 Redis, 33 registry, 34 replica set, 34 OCI, 28 repository, 34 OpenStack, 28 refactoring, 34 OpenTracing, 28 repackaging, 34 opinionated platform, 29 replatforming, 34 orchestration, 29 rkt, 34 O overlay network, 29 R runC, 34 Vagrant, 39 virtual infrastructure manager, 39 VMware Integrated OpenStack, 39 Volume, 39 vSphere Cloud Provider, 40 scheduler, 35 vSphere Integrated service, 35 V Containers, 40 service discovery, 35 service mesh, 35 sidecar, 36 software-defined data center (SDDC), 36 software as a service W workload, 41 (SaaS), 36 Spanner, 36 Spark, 36 spec, 37 Spring, 37 Spring Cloud X XML, 41 Data Flow, 37 StatefulSet, 37 S swarm, 37 YARN, 42 Y YAML, 42 tag, 38 Tern, 38 Terraform, 38 the cloud, 38 T traditional application, 38 Z ZooKeeper, 42

UID, 39 U underlay network, 39 # 12-factor app, 43 A

ACID Certificate (PAC), is a data ACID stands for Atomicity, structure in a Kerberos ticket that Consistency, Isolation, and contains group memberships, Durability—properties of database security identifiers, and other transactions that, taken together, information about a user’s profile. guarantee the validity of data See LDAP. in the face of power failures or system errors. Admiral An open source project from Active Directory VMware, Admiral is a container Active Directory management portal. It supplies (AD) is a directory service that a user interface for DevOps authenticates users and controls teams and others to provision access to personal , and manage containers. With servers, storage systems, Admiral, you can use Docker applications, and other resources. compose to combine different An Active Directory domain containers into an application. controller combines a Kerberos On vSphere Integrated Containers, key distribution center (KDC) you can use Admiral to manage with an LDAP server to provide container hosts and apply authentication and authorization. governance to their usage, including To authenticate the identity of capacity quotas. Admiral can also users, AD uses the highly secure show metrics and other information Kerberos protocol or the legacy NT about container instances. See LAN Manager (NTLM). To authorize vSphere Integrated Containers. access to resources, AD typically uses a Privilege Attribute

8 Glossary of Cloud-Native Terms A B C D E agile software development API server A methodology that emphasizes In Kubernetes, the API server F iterative, incremental, collaborative provides a frontend that handles G development using cross-functional REST requests and processes data teams optimized for rapidly for API “objects,” such as pods, H responding to changing services, and replication I requirements derived from controllers. feedback, learning, and new J information. Azure Container Registry K ACR is a private image registry AKS from Microsoft that includes L Azure Container Service (AKS) is geo-replication. Microsoft’s managed Kubernetes M service that runs in Azure. N

API-first O A guideline for developing P software that makes the API the cornerstone of the application. Q From the beginning of the R software-development project, the emphasis is on building an API to S be consumed by client applications T and services, and every functional requirement is to be fulfilled U through the API. V W X Y

9 Z B C build Calico With Docker, it is the process of Formally known as Project Calico, building Docker images by using this open source project provides a Dockerfile. In the context of the a software-defined Layer 3 network CI/CD pipeline, the build process fabric for containers. It integrates generates an artifact, such as a set with Kubernetes, OpenStack, and of binary files that contain an other cloud platforms. application. Cassandra BOSH A NoSQL database, Apache An open source system that unifies Cassandra manages structured release engineering, deployment, data distributed across commodity and lifecycle management for hardware. Common use cases large distributed systems. BOSH include recommendation and performs monitoring, failure personalization engines, product recovery, and software updates catalogs, play lists, fraud detection, with zero-to-minimal downtime. and message analysis. Just as Kubernetes maintains the desire state of a containerized Clarity application, BOSH maintains the An open source framework from desired state of the underlying VMware formally known as Project infrastructure, including Clarity, it is a design system for Kubernetes itself, on which crafting cohesive, interactive user the application runs. experiences in web applications. Clarity includes an HTML and CSS framework, user experience guidelines, and Angular components.

10 Glossary of Cloud-Native Terms A B C D E cloud computing Cloud Foundry Container Cloud computing is an umbrella Runtime F term for elastic, on-demand, shared Formerly called Kubo, for G computing resources and services– Kubernetes on BOSH, CFCR is an such as computational power, open source project for deploying H storage capacity, database usage, and managing Kubernetes by I analytics, and software applications– using BOSH. For more information delivered as a service over the on CFCR, see CloudFoundry.org. J , typically with metered See also: BOSH. pricing. The organizations that K provide cloud computing are cloud infrastructure L frequently referred to as cloud Encompasses the servers, virtual providers. See also the definitions of machines, storage systems, M the three cloud-computing service networking, and other components N models: IaaS, PaaS, and SaaS. For required for cloud computing and a formal definition and taxonomy of infrastructure as a service. Cloud O cloud computing, see the The NIST infrastructure provides the building P Definition of Cloud Computing, NIST blocks, or primitives, for creating Special Publication 800-145, at hybrid and private clouds that Q https://csrc.nist.gov/publications/ deliver cloud computing services. detail/sp/800-145/final. R S T U V W X Y

11 Z C cloud-native applications Cloud-native applications are Generally speaking, cloud-native typically developed and deployed applications are apps that are on a containers as a service platform developed and optimized to run in (CaaS) or a platform as a service a cloud as distributed applications. (PaaS). See also: 12-factor app. More specifically, according to the Cloud Native Computing Foundation, Cloud Spanner cloud-native applications, which A globally distributed, strongly are also generally referred to as consistent database service “modern” applications, are marked that combines the benefits of a by the following characteristics: relational database structure with • Containerized for reproducibility, non-relational horizontal scale. transparency, and resource isolation. cluster • Orchestrated to optimize Three or more interconnected resource utilization. virtual machines or physical computers that, in effect, form • Segmented into microservices to a single system. A in ease modification, maintenance, a cluster is referred to as a node. and scalability. An application running on a cluster Different organizations, however, is typically a distributed have different definitions. Dell EMC, application because it runs on for example, definescloud-native multiple nodes. By inherently application as a highly scalable next- providing high availability, fault generation distributed application tolerance, and scalability, clusters architecture that uses open are a key part of cloud computing. standards and is dynamic in nature.

12 Glossary of Cloud-Native Terms A B C D E CNCF not deployment. Concourse Cloud Native Computing automates the testing and F packaging of frequent code Foundation. An open source G project hosted by the commits. See CI/CD. Foundation, the CNCF hosts H CoreDNS Kubernetes and other key I open source projects, including An open source project, CoreDNS Prometheus, OpenTracing, Fluentd, can integrate with Kubernetes, J and linkerd. VMware is a member etcd, Prometheus, and other of the Linux Foundation and the software to provide DNS and K Cloud Native Computing service discovery with plugins. L Foundation. CoreDNS is hosted by the CNCF. M CNI container N Container Network Interface. A portable, executable format, It is an open source project known as an image, for packaging O hosted by the CNCF to provide an application with all its P a specification and libraries for dependencies and instructions configuring network interfaces on how to run it. When the Q in Linux containers. container image is executed, R it runs as a process on a computer Concourse or virtual machine with its own S isolated, self-described application, Concourse is a system for T continuous integration and file system, and networking. The continuous delivery that works use of containers is increasing U with Pivotal Cloud Foundry and because they provide a portable, other platforms to help enterprise flexible, and predictable way of V development teams release packaging, distributing, modifying, W software early and often. Note testing, and running applications. that in the context of Concourse, Containers speed up software X development and deployment. the D in CI/CD stands for delivery, Y

13 Z C containerize container registry To package an application See registry. in a container. controllers containerized application In Kubernetes, controllers An application that has been are processes started by the packaged to run in one or more Kubernetes Controller Manager containers. to perform the routine tasks associated with managing containers as a service a cluster. A container-as-a service platform helps developers build, deploy, CI/CD and manage containerized Refers to either the continuous applications, typically by integration and continuous delivery using Kubernetes or another pipeline or the continuous orchestration framework, such integration and continuous as Mesos or Docker Swarm. deployment pipeline. Context often, but not always, disambiguates container host the abbreviation. See continuous integration, continuous deliver, A Linux and continuous deployment. optimized for running containers. Examples include CoreOS and continuous integration Project Photon OS by VMware. Constantly combines source code from different developers or teams into an app and then tests it.

14 Glossary of Cloud-Native Terms A B C D D E continuous delivery day one Readies an application or part Refers to deployment. F of an application for production G by packaging and validating it. day two Refers to post-deployment H continuous deployment operations. I Automatically deploys an application or part of an desired state J application into production. A key benefit of Kubernetes is that K it automatically maintains the converged infrastructure desired state—the state that an L Technology that brings together administrator or platform operator M the disparate infrastructure specifies an application should be in. elements powering IT, including N servers, data storage devices, DevOps O networking functions, Delivering software in an virtualization, management expedient, reliable, sustainable P software, orchestration, and way requires collaboration Q applications. See hyper- between IT teams and developers. converged infrastructure. DevOps takes place when R developers and IT come together S CredHub to focus on operations in the name A component of Cloud Foundry of streamlining and automating T that manages and securely development and deployment. stores credentials like passwords, DevOps is a key practice driving U certificates, certificate authorities, the development and deployment V and keys. CredHub is deployed by of cloud-native applications. BOSH. See Pivotal Cloud Foundry W and BOSH. X Y

15 Z D developer-ready infrastructure the adoption of new technologies, VMware vSphere, VMware NSX, including cloud computing, mobile VMware vSAN, and VMware devices, social media, and big data vRealize Operations lays the analytics. At a lower level, cloud- foundation for a software-defined native technologies and practices— data center (SDDC). Running such as containers, Kubernetes, VMware Pivotal Container Service microservices, container or Pivotal Cloud Foundry on top platforms, DevOps, and the CI/CD of a VMware SDDC, for example, pipeline—converge into a powerful produces developer-ready recipe for digital transformation. infrastructure—agile, self-service infrastructure that is ready to use Dispatch to build and run cloud-native An open source framework from applications. VMware, Dispatch manages serverless applications and Diego services built using functions. The container management As a serverless solution, Dispatch system for Pivotal Cloud Foundry. uses a flexible driver interface to integrate with one or more digital transformation functions-as-a-service implementations. Dispatch Optimizing the use of manages function runtimes and your computing resources, containers built on Photon OS. organizational processes, and See function as a service. software development practices to extend your enterprise’s adaptability, productivity, innovation, competitive advantage, and global reach. At a high level, digital transformation often entails

16 Glossary of Cloud-Native Terms A B C E D E Docker elastic Docker is a widely used container A resource or service that can F format. Docker defines a standard dynamically expand or contract G format for packaging and porting to meet fluctuations in demand. software, much like ISO containers H define a standard for shipping ELK stack I freight. As a runtime instance of a Elasticsearch, Logstash, and Docker image, a container consists Kibana combine to form the ELK J of three parts: stack. Taken together, these three K • A Docker image open source projects provide • An environment in which a platform to collect, search, L the image is executed analyze, and visualize data. Elasticsearch is a distributed M • A set of instructions for search and analytics engine N running the image that lets data engineers query unstructured, structured, and O Docker Swarm time-series data. Logstash lets P Is the name of a standalone native you collect unstructured data, clustering tool for Docker. Docker enrich it, and route it to another Q Swarm combines several Docker application, such as Elasticsearch. R hosts and exposes them as a single Kibana is a visualization engine virtual Docker host. It serves the to display data in dashboards as S standard Docker API, so any tool graphics and maps. that already works with Docker T can transparently scale up to etcd U multiple hosts. A distributed key-value store that Kubernetes uses to store data V about its state and configuration. W X Y

17 Z F fault tolerance the context of the Internet of Fault tolerance is the property things. Here’s an example: When that lets a system continue to you wake up in the morning, your function properly in the event smart watch monitors your blood of component failure. sugar. When it reaches a certain level, the watch sends an event to Flannel a remote, vendor-managed server in the cloud, which uses a FaaS Flannel furnishes an overlay framework to process the event network for containers running with a function and send a request in Kubernetes. See overlay. to your networked microwave oven, triggering it to start cooking your Fluentd oatmeal. AWS Lambda is an example A data collector for unified logging. of a commercial serverless platform. Fluentd, which works with cloud- OpenFaaS is an example of a FaaS native applications, is hosted by framework for building serverless the CNCF. functions with Docker and Kubernetes. See Dispatch. function as a service FaaS is a cloud computing model that lets you run and manage application functions without managing a traditional server as the application’s backend—giving rise to the nomenclature “serverless.” The functions typically respond to events, making FaaS a useful method of processing events in

18 Glossary of Cloud-Native Terms A B C G D E GCP open service broker Greenplum Database It lets apps access Google cloud An ACID-compliant transactional F from anywhere. database that employs a shared- G nothing, massively parallel Gemfire processing architecture, Pivotal H Pivotal Gemfire is a distributed Greenplum complies with SQL I data management platform that standards. It interoperates with compresses operational data and industry-standard business J intelligence and ETL tools as well as holds it in memory to provide K real-time, consistent, and scalable Hadoop. With a library of analytics access to data-intensive NoSQL functions and a framework for L applications. building custom functions, Greenplum addresses data M Go warehousing use cases for big data. N Created at Google, Go is a GRPC O programming language popular with developers who build cloud- A project of the CNCF, GRPC is P native technology. Docker and a open-source universal remote Kubernetes are written in Go, procedure call (RPC) framework Q which is sometimes referred for distributed systems. You R to as golang. can use it to define a service by using Protocol Buffers, a binary S Google Cloud Platform serialization language. GRPC also lets you automatically generate T GCP. client and server stubs for a U service in various languages. Google Kubernetes Engine V It is a managed environment to deploy and scale containerized W applications that are orchestrated X by Kubernetes. Y

19 Z H

Hadoop Hatchway Hadoop comprises the Hadoop An open source storage project Distributed File System (HDFS) and from VMware formally known MapReduce. HDFS is a scalable as Project Hatchway, it provides storage system built for Hadoop storage infrastructure options and big data. MapReduce is a for containers in vSphere processing framework for data- environments, including hyper- intensive computational analysis of converged infrastructure (HCI) files stored in a Hadoop Distributed with VMware vSAN. Hatchway File System. is integrates with Kubernetes the free, open-source version of to let you consume storage Hadoop that is managed by the infrastructure as code. Data Apache Software Foundation. The services like snapshot, cloning, open-source version provides the encryption, deduplication, and foundation for several commercial compression can be made distributions, including Hortonworks, available at the level of a IBM Open Platform, and Cloudera. container volume. See https:// There are also Hadoop platforms vmware..io/hatchway/. as a service. Microsoft offers See also vSphere Cloud Provider. HDInsight as part of its public cloud, Azure. Amazon Elastic MapReduce, Helm Chart or EMR, delivers Hadoop as a web A package of Kubernetes resources service through AWS. that are pre-configured, customized, and reproducible; you can then Harbor manage a chart with the Helm tool. An open source project from The charts help improve the VMware formally known as portability of Kubernetes Project Harbor, it is a secure applications. A single chart can registry that hosts repositories contain an entire web application, of container images. including databases, caches, HTTP servers, and other resources.

20 Glossary of Cloud-Native Terms A B C I D E horizontal pod autoscaler image In Kubernetes, a horizontal pod With Docker, an image is the basis F autoscaler is a controller that adds of a container. An image specifies G resources to handle an increase in changes to the root file system demand when the requests to a and the corresponding execution H service exceed the threshold set parameters that are to be used in I by the administrator. the container runtime. An image typically contains a union of layered J hybrid cloud files systems stacked on top of each other. An image does not have K Any modernized infrastructure state and it never changes. that involves two or more delivery L models, such as private cloud and public cloud resources. infrastructure as a service (IaaS) M Infrastructure-as-a-service (IaaS) N hyper-converged infrastructure provides on-demand access to underlying IT infrastructure, O Integrates the same key types including resources for storage, of IT components that converged P networking, and compute. With infrastructure does, but in a IaaS, a user can provision IT services scalable rack or appliance that Q when they need them to deploy simplifies management, improves and run arbitrary software. Users R performance, and adds elastic typically pay only for the resources scalability. See converged S they consume. The user, however, infrastructure. does not manage or control the T underlying cloud infrastructure. U See cloud computing. V W X Y

21 Z I J ingress Jaeger In Kubernetes, ingress refers A distributed tracing system to an API object that controls released as open source software external access to the services by Uber Technologies, Jaeger in a Kubernetes clusters, such can monitor microservice-based as HTTP and HTTPS. Ingress architectures. Use cases include can perform load balancing. distributed transaction monitoring, root cause analysis, service Istio dependency analysis, and A platform that deploys a performance optimization. service mesh to connect, manage, Jaeger is hosted by the CNCF. and secure microservices on Kubernetes. Istio intercepts JSON network communications among JavaScript Object Notation is a the microservices that make up a minimalist data-interchange format containerized application deployed commonly used to annotate data, on Kubernetes to manage the such as API output. microservices as they interact. See also microservices, sidecar and service mesh.

22 Glossary of Cloud-Native Terms A B C K D E K8s kops An abbreviation of sorts for This term stands for Kubernetes F Kubernetes. Operations, a command-line tool G to help you install, maintain, and KaaS upgrade Kubernetes clusters. H Kubernetes as a service. Kubernetes I Kafka An orchestration system that J automates the deployment and Apache Kafka partitions data K management of containerized streams and spreads them over applications. As an application a distributed cluster of machines L and its services run in containers to coordinate the ingestion of vast on a distributed cluster of virtual M amounts of data for analysis. More or physical machines, Kubernetes formally, Kafka is a distributed N orchestrates all the moving pieces publish-subscribe messaging to optimize the use of computing O system. A key use of Kafka is to resources, to maintain the desired help Spark or a similar application P state, and to scale on demand. process streams of data. In such Kubernetes is also referred to as a use case, Kafka aggregates the Q an orchestration framework or an data stream—for example, log orchestration engine. See desired R files from different servers—into state and orchestration. “topics” and presents them to S Spark Streaming, which analyzes kubectl T the data in real time. A command-line interface that you U install on your computer and use to run commands that control and V manage Kubernetes clusters. W X Y

23 Z K L kubelet LDAP The agent that runs on each node Lightweight Directory Access in a Kubernetes cluster to manage Protocol. It is a standard protocol pods. A PodSpec specifies how for storing and accessing directory kubelet is to work. A PodSpec service information, especially is a YAML or JSON object that usernames and passwords. describes a pod. The kubelet Applications can connect to takes a set of PodSpecs that an LDAP server to verify users are provided through various and groups. mechanisms (primarily through the API server) and ensures that Lightwave the containers described in those An open source security platform PodSpecs are running and healthy. from VMware, Project Lightwave secures cloud platforms by Kubo providing a directory service, See Cloud Foundry Container Active Directory interoperability, Runtime. Kerberos authentication, and certificate services. Lightwave empowers IT security managers to impose the proven security policies and best practices of on-premises computing systems on their cloud computing environment. More specifically, Lightwave includes the following services: • Directory services and identity management with LDAP and Active Directory interoperability

24 Glossary of Cloud-Native Terms A B C M D E • Authentication services with MANO Kerberos, SRP, WS-Trust (SOAP), In the telecommunications industry F SAML WebSSO (browser-based and others, MANO stands for G SSO), OAuth/OpenID Connect management and orchestration of (REST APIs), and other protocols telco networking resources. In this H • Certificate services with a context, MANO includes vRealize I certificate authority and a Suite: vRealize Operations, certificate store vRealize Automation, vRealize J Network Insight, and vRealize linkerd Log Insight. K A service mesh that adds service L discovery, routing, failure handling, Memcached and visibility to cloud-native As a system that caches data M applications. linkerd is hosted in the distributed memory of a N by the CNCF. cluster of computers, Memcached accelerates the performance of O web applications by holding the P results of recent database calls in random-access memory (RAM). Q R microservices A “modern” architectural pattern S for building an application. A T microservices architecture breaks up the functions of an application U into a set of small, discrete, decentralized, goal-oriented V processes, each of which can be W independently developed, tested, deployed, replaced, and scaled. X See cloud-native application. Y

25 Z M microsegmentation Multicloud With VMware NSX, This approach to cloud computing microsegmentation policies combines several cloud providers, can specify granular traffic flow platforms, or services in one patterns among, for instance, the environment or architecture. Kubernetes namespaces in which A multicloud strategy reduces containerized applications are reliance on a single vendor, running. With microsegmentation, protects your cloud services from you can craft rules that impose outages, lets you tailor your security requirements on architecture to your needs, and workloads and isolate resources gives you the flexibility to switch at the level of microservices. solutions if your needs change. Using multiple cloud platforms and Minikube services, however, can complicate A tool that lets you run a single- security, governance, and node Kubernetes cluster inside a compliance. The portability of virtual machine or locally on a containers facilitates a multicloud personal computer. strategy.

MongoDB MySQL A distributed NoSQL document It is an open source relational database, MongoDB stores data database management system with a flexible, schema-free data (RDMS) that is commonly used model that can adapt to change. in various types of applications, MongoDB includes secondary especially web apps. It is also indexes, geospatial search, and widely embedded in the solutions text search. Common use cases distributed by independent include serving data to mobile software vendors (ISV) and applications and performing original equipment manufacturers real-time analytics. (OEM). In the name, SQL stands for Structured Query Language.

26 Glossary of Cloud-Native Terms A B C N D E namespace the telecommunications industry, In the context of a Linux computer, it is part of a cloud-native design F strategy. NFV-I stands for network a namespace is a feature of the G kernel that isolates and virtualizes functions virtualization infrastructure. system resources. Processes that In a telecommunications environment H in which NFV is being used, a are restricted to a namespace can I interact only with other resources virtual network function, or VNF, and processes in the same is a specific function that can be J namespace. combined with other functions to provide a communication service. K In Docker, namespaces isolate A VNF manager controls a system resources like networking collection of VNF functions, L and storage. including integrating a VNF with M In Kubernetes, when many virtual NFV infrastructure and assigning clusters are backed by the same resources to it. N underlying physical cluster, the O virtual clusters are called Node.js namespaces. An event-driven JavaScript P runtime environment that executes Q namespace isolation JavaScript code on a server to Limits the resources that a produce dynamic content in web R container can connect to or applications. S interact with. NodePort T network functions virtualization In Kubernetes, a NodePort U NFV refers to the concept presents a service, such as a web of virtualizing network node server, on a port on the nodes in V functions for creating a Kubernetes cluster for external W communication services. In access. X Y

27 Z N O

NoSQL OCI A NoSQL database stores data that Stands for Open Container is structured in a way other than the Initiative, an organization tabular relationships of traditional dedicated to setting industry-wide relational databases. NoSQL is also container standards. OCI was known as non-SQL, non-relational, formed under the auspices of the and not-only SQL. NoSQL databases Linux Foundation for the express are commonly used for big data and purpose of creating open industry real-time data processing. Popular standards around container examples of NoSQL databases formats and runtime. The OCI include MongoDB, Cassandra, contains two specifications: the and Pivotal Gemfire. Runtime Specification (runtime- spec) and the Image Specification NSX (image-spec). VMware is a member of OCI. See https://www. VMware NSX is a product that opencontainers.org/. provides software-defined network virtualization. OpenStack An open source platform for cloud computing that gives you control over pools of compute, storage, and networking resources through APIs and a dashboard. See VMware Integrated OpenStack.

OpenTracing A vendor-neutral standard for distributed tracing. It is hosted by the CNCF.

28 Glossary of Cloud-Native Terms A B C P D E opinionated platform PaaS See prescriptive platform. Platform as a service. F G orchestration PAS H Because it can automatically Pivotal Application Service. deploy, manage, and scale a Formerly known as Elastic I containerized application, Runtime, PAS runs Java, .NET, Kubernetes is often referred and Node apps on Pivotal Cloud J to as an orchestration framework Foundry. K or an orchestration engine. It orchestrates resource utilization, PCF L failure handling, availability, Pivotal Cloud Foundry, a private M configuration, desired state, platform as a service for and scalability. developing and deploying N cloud-native applications. overlay network O Most orchestration systems include Photon OS P a software-defined networking An open source project from Q component known as an overlay VMware, Project Photon OS is a network. The overlay rides on top of Linux operating system optimized R the underlay to provide networking, for running containers. such as IP addresses and ports, S for the lifecycle of containers and PKS T hosts. The overlay can isolate Pivotal Container Service, a communication among applications U Kubernetes-based container that use the same physical network. service. V Overlay technologies include Flannel, Calico, and VMware NSX. W See also NSX, underlay network, and orchestration. X Y

29 Z P platforms platform as a service The overarching business objective Platform-as-a-service (PaaS) is of using a container platform is a cloud-based environment for to accelerate the development developing, testing, and running and deployment of scalable, applications using programming enterprise-grade software that is languages, libraries, services, and easy to modify, extend, operate, tools supported or offered by the and maintain. Three types of platform’s provider. A platform as platforms provide varying degrees a service is sometimes referred to of support for container simply as an application platform. technology: In this context, an application platform helps developers not only • A platform for running individual write code but also integrate tools container instances. A platform and services, such as a database, for running container instances with their application as, for helps developers build and test instance, microservices. An a containerized application. It example of a private platform as does not, however, orchestrate a service that is also referred to as the containerized application an application platform is Pivotal with Kubernetes, nor does it Cloud Foundry. See containers provide a service broker so that as a service, infrastructure as a developers can integrate tools, service, and cloud computing. databases, and services with an app. An example of a container instance platform is VMware platform developer vSphere Integrated Containers. An engineer who customizes a Kubernetes platform (or another • Containers as a service. modern platform) to fit the needs • Platform as a service. of their project or organization.

30 Glossary of Cloud-Native Terms A B C D E platform operator into an instance of an application An engineer who manages a that will run on Kubernetes. Docker F platform like Kubernetes. is usually the container runtime used in a pod. A Kubernetes G platform reliability engineer administrator or application H developer specifies a pod by using An engineer who operates a a YAML file. Pods are commonly I platform, such as Pivotal Cloud managed by a deployment, Foundry. The work might include J which see. the management of disaster K recovery, networking, storage, PostgreSQL monitoring applications, and L service brokers. A key part of a Also known as Postgres, it is an platform reliability engineer’s job extensible object-relational M might be to establish and maintain database management system that N a continuous integration and securely stores data for large continuous delivery pipeline. Internet-facing applications or data O See DevOps. warehouses. Postgres is ACID- compliant; see ACID. P pod Q On Kubernetes, a pod is the R smallest deployable unit in which one or more containers can be S managed—in other words, you run T a container image in a pod. A set of pods typically wraps a U container, its storage resources, IP address, and other options up V W X Y

31 Z P prescriptive platform private cloud In the context of application A fully virtualized data center that platforms, a prescriptive platform includes two key capabilities that hides the platform’s complexity increase agility and are different from developers by prescribing from a virtualized data center: that developers use the system’s self-service and automation. formats, pipeline, and methods for building and running applications. Prometheus For example, a prescriptive A open source monitoring system container platform might prescribe for Kubernetes. Prometheus is a scheduler, a runtime engine, hosted by the CNCF. integration with the underlying infrastructure, continuous delivery, pull and other aspects of the platform. A prescriptive platform is also Downloading a container image referred to as an “opinionated” from a registry into a local cache platform. so that you can launch containers based on the image.

32 Glossary of Cloud-Native Terms A B C Q R D E quality of service RabbitMQ It is often abbreviated QoS. An open source message broker, F RabbitMQ implements the G Advanced Method Queuing Protocol to give applications a H common intermediate platform I through which they can connect and exchange data. J

RBAC K role-based access control. On L Kubernetes, RBAC is a module that authorizes access to resources by M role. RBAC empowers administrators N to dynamically configure access policies through the Kubernetes API. O P Redis A key-value database, Redis can Q store a dataset in a networked, R in-memory cache. Because keys in Redis can contain strings, hashes, S lists, sets, sorted sets, bitmaps, and T hyperlogs, Redis is often referred to as a data structure server. Data U scientists, for instance, can perform operations on these data types to do V things like compute set intersection, W union and difference, and ranking. X Y

33 Z R registry repackaging A hosted service that contains Placing a traditional application in repositories of container images. a container format. Harbor, an open source project from VMware, is an example of replatforming a registry. Moving an application to another, more efficient platform. If the replica set application being migrated is a In Kubernetes, a replica set is a traditional application and if the controller that manages the new platform uses containers, lifecycle of pods. See controllers. replatforming also involves repackaging. repository In the context of containers, a rkt repository is a set of container Pronounced like rocket, rkt is a images. The repository can be standards-based container engine shared with other users through from CoreOS. a registry server, and the images in the “repo” can be tagged runC with labels. The code module that launches containers. It is part of containerd refactoring and managed by OCI, which Re-architecting an application or stands for Open Container modifying its code to improve it. Initiative. See OCI. An application, for example, might be refactored by decomposing it into microservices.

34 Glossary of Cloud-Native Terms A B C S D E scheduler service discovery A module of a system or a software In the context of running cloud- F component that schedules and runs native applications built with G the deployment of containers, jobs, microservices, service discovery tasks, or another type of workload. automatically detects the H Most public cloud services, such as dynamically assigned networking I , include a scheduler information of the services or the that lets you create jobs in the cloud. devices on which they are running. J The jobs can, in turn, invoke services or tasks, such as backing up data or service mesh K cleaning up logs. When a containerized application L is built as a collection of services service or microservices, it forms a mesh M The definition ofservice varies of services. A service mesh creates N by context. In Kubernetes, it is an a layer above IP addresses and API object that describes how to ports to connect the services O access applications, such as a set and manage their interactions. P of pods, by using methods like A service mesh might deliver, ports or load-balancers. for instance, load balancing, Q monitoring, and service-to-service A service may also be a microservice authentication. Examples of R within the context of some larger technology that provides a application. An HTTP server, for S service mesh are Istio and linkerd. example, is a service. T U V W X Y

35 Z S sidecar software as a service (SaaS) A cloud-native architectural An application running on a cloud pattern that isolates a component infrastructure that is used over a or service of an application by network, typically the Internet, placing it in a separate but instead of being downloaded and co-located container for installed on local machines. The independence and flexibility. consumer of the service does not manage or control the underlying software-defined data center cloud infrastructure or the (SDDC) application’s capabilities. Also known as a web app. A data center in which infrastructure is virtualized and delivered as a service. The infrastructure of Spanner an SDDC includes virtualized See Cloud Spanner. networking and software-defined data storage and management. An Spark SDDC supports applications in a way Apache Spark is an engine for that is more flexible, agile, efficient, large-scale data processing that and cost-effective than traditional can be used interactively from approaches. In a SDDC, all the the Python shell. Spark combines components of infrastructure— streaming, SQL, and complex compute, networking, storage, analytics by powering a stack of security, and availability—are tools that can coexist in the same abstracted and delivered as application. Spark can access automated, policy-driven software. diverse data sources, including An SDDC radically reduces manual not only the Hadoop File System processes, speeds up IT service (HDFS) but also Cassandra and delivery, reduces costs, and MongoDB. Data scientists like improves ROI. Spark because they get access to Python’s powerful numeric processing libraries.

36 Glossary of Cloud-Native Terms A B C D E spec StatefulSet In Kubernetes, spec stands for In Kubernetes, a StatefulSet F specification. The specification manages the deployment and G is a description of a desired state, scaling of a set of pods according including the configuration to your desired state. A stateful H supplied by a user. set can, for example, manage I persistent storage and other Spring resources for stateful pods. J The Spring Framework is an open- K source Java framework by Pivotal swarm that handles the infrastructure for With Docker, a swarm is a cluster of L developing Java applications. one or more Docker Engines running M Spring includes Spring Boot, in swarm mode. Docker Swarm, Spring Cloud, and Spring Cloud however, is not the same thing as N Data Flow. the swarm mode features in Docker Engine. See Docker Swarm. O Spring Cloud Data Flow P A toolkit for building data integration and real-time data processing Q pipelines. The Spring Cloud Data R Flow server uses Spring Cloud Deployer to integrate pipelines with S Pivotal Cloud Foundry, Mesos, or T Kubernetes. Spring Cloud Data Flow helps engineers develop analytics U pipelines by providing a distributed system that unifies ingestion, real- V time analytics, batch processing, W and data export. X Y

37 Z T tag the cloud With Docker, a tag is a label that Computing resources available a user applies to a Docker image over the Internet. See cloud to distinguish it from other images computing. in a repository. traditional application Tern A traditional application is An open source tool from monolithic in design with an VMware that identifies the sources, n-tier application architecture versions, and licenses for packages that generally consists of installed in a Docker container. database, application, and web The resulting manifest can help servers. These components are ensure that the packages in a usually tightly coupled with the container comply with licensing infrastructure and dependent requirements. See https://github. on it for high availability. com/vmware/tern.

Terraform Software from HashiCorp for creating infrastructure as code in a cloud service provider’s environment, such as Google Cloud Platform.

38 Glossary of Cloud-Native Terms A B C U V D E UID Vagrant It can stand for user identifier, HashiCorp’s Vagrant turns a F user ID, or unique identifier, machine’s configuration into a G depending on the context or the distributable template to produce system. With Kubernetes, for a predictable development H example, a UID is a string that environment for applications. I uniquely identifies an object. virtual infrastructure manager J underlay network VIM manages the resources K The underlay network connects associated with network functions machines, whether virtual or virtualization infrastructure, or L physical, by using either a NFV-I. See network functions M traditional hardware-based virtualization. approach to networking or a N combination of hardware and VMware Integrated OpenStack O software. See also overlay A distribution of OpenStack network, service mesh, and NSX. supported by VMware, it lets P you run OpenStack on VMware infrastructure. See OpenStack. Q R volume S With Docker, a volume (or data volume) is a designated directory T within one or more containers that bypasses the Union File System. U Volumes are designed to persist V data independent of the container’s life cycle. W X Y

39 Z V vSphere Cloud Provider vSphere Integrated Containers It is a persistent storage solution It is a product from VMware that from VMware that supports creates container infrastructure stateful, data-intensive within VMware vSphere so that containerized applications, you can run containerized including those with databases. applications on virtual machines. vSphere Cloud Provider, which is The solution includes an engine to part of Kubernetes through Project run containers, a portal to manage Hatchway, enables VMware Pivotal containers, a registry to securely Container Service to support store container images, and a the following storage primitives Docker-compatible interface. A on vSphere storage: volumes, key benefit of vSphere Integrated persistent volumes (pv), persistent Containers is that it combines volumes claims (PVC), storage class, the portability of containers and stateful sets. The vSphere with the security, visibility, and Cloud Provider also furnishes management of vSphere. enterprise storage features like storage policy-based management. See Pivotal Container Service and Hatchway.

40 Glossary of Cloud-Native Terms A B C W X D E workload XML A workload is the computational Extensible Markup Language. F or transactional burden of a set It is a flexible but verbose format G of computing, networking, and for structuring and exchanging storage tasks associated with an data. XML is often used in legacy H application. Similar apps with the applications, Java applications, I same technology and tools can and web applications for a variety have radically different workloads of purposes, such as structuring J under different circumstances or configuration files or exchanging during different times. Workloads data. Although XML is sometimes K can often be measured by CPU used in cloud-native applications, L or memory consumption, network JSON or YAML (which see) are traffic, requests, database queries, the preferred data formats. M transactions, and so forth. In very N basic, broad terms, an application is a thing that processes O something; a workload is the processing that’s being done; P and a use case is the reason Q that you do it. In the context of cloud computing and Kubernetes R clusters, a workload can be seen S as the amount of work that an instance of an app or part of T an app performs during a certain time period. U V W X Y

41 Z Y Z

YARN ZooKeeper A sub-project of Apache Apache ZooKeeper coordinates Hadoop, YARN separates resource distributed applications management from computational masquerading as animals. processing to expand interactional It provides a registry for their patterns beyond MapReduce names. It configures and for data stored in HDFS. YARN synchronizes them. It keeps allocates resources for Hadoop them from running amok. applications such as MapReduce and Storm as they perform computations. YARN, in effect, stands at the center of a Hadoop environment by providing a data operating system and pluggable architecture for other applications.

YAML A human-readable data serialization standard commonly used in configuration files to structure information and commands. In Kubernetes, specification files are written in YAML.

42 Glossary of Cloud-Native Terms A B C # D E 12-factor app A methodology for developing F a software-as-a-service (SaaS) G application—that is, a web app— and typically deploying it on H a platform as a service or a I containers as a service. J K L M N O P Q R S T U V W X Y

43 Z A ACID Active Directory AKS API server Azure Container Registry B build BOSH C Cassandra cloud computing cloud Infrastructure cloud-native applications Cloud Span- ner cluster CNCF CNI Concourse CoreDNS container containerize containerized application containers as a service container host container registry controllers CI/CD con- tinuous integration continuous delivery continuous deployment converged infrastructure D day one day two desired state DevOps developer-ready infrastructure digital transformation Docker Docker Swarm E elastic ELK stack etcd F fault tolerance Fluentd G GCP open service broker Gemfire Google Cloud Platform Google Kubernetes Engine Greenplum Database GRPC H Hadoop Harbor Helm Chart horizontal pod autoscaler hybrid cloud hyper-converged infrastructure I image infrastructure as a service (IaaS) ingress J Jaeger JSON K K8s KaaS Kafka kops Kubernetes kubectl kubelet Kubo L LDAP Lightwave linkerd M Memcached microservices microsegmentation Minikube MongoDB MySQL N namespace NodePort NoSQL NSX O OCI OpenTracing opinionated P platform orchestration PaaS PCF PKS Photon OS platforms platform as a service platform developer platform operator pod PostgreSQL prescriptive platform private cloud Prometheus pull Q quality of service R RabbitMQ RBAC Redis registry replica set repository refactoring repackaging replatforming rkt runC S scheduler service service discovery software-defined data center (SDDC) software as a service (SaaS) Span- ner Spark spec Spring Cloud Data Flow StatefulSet swarm T tag the cloud traditional application V Vagrant Volume W workload X XML Y YARN YAML Z ZooKeeper 12-fac- tor app A ACID Active Directory AKS API server Azure Container Registry B build BOSH C Cassandra cloud computing cloud Infrastructure cloud-native applications Cloud Spanner cluster CNCF CNI Concourse CoreDNS container containerize containerized application containers as a service container host container registry controllers CI/CD continuous integration continuous delivery continuous deployment converged infrastructure D day one day two desired state DevOps developer-ready infrastructure digi- tal transformation Docker Docker Swarm E elastic ELK stack etcd F fault tolerance Fluentd G GCP open service broker Gemfire Google Cloud Platform Google Kubernetes Engine Greenplum Database GRPC H Hadoop Harbor Helm Chart horizontal pod autoscaler hybrid cloud hyper-converged infrastructure I image infrastructure as a service (IaaS) ingress J Jaeger JSON K K8s KaaS Kafka kops Kubernetes kubectl kubelet Kubo L LDAP Lightwave linkerd M Memcached microservices microsegmentation Minikube MongoDB MySQL N namespace NodePort NoSQL NSX O OCI OpenTracing opinionated P platform orchestration PaaS PCF PCS Photon OS platforms platform as a service

VMware, Inc. 3401 Hillview Avenue Palo Alto CA 94304 USA Tel 877-486-9273 Fax 650-427-5001 www.vmware.com. Copyright © 2018 VMware, Inc. All rights reserved. This product is protected by U.S. and international copyright and intellectual property laws. VMware products are covered by one or more patents listed at http://www.vmware.com/go/patents. VMware is a registered trademark or trade- mark of VMware, Inc. in the United States and/or other jurisdictions. All other marks and names mentioned herein may be trademarks of their respective companies.