1/112
Vocabulary flashcards based on lecture notes about parallel programming in cloud computing.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
Parallel Computing
The execution of multiple computations simultaneously to improve performance and scalability.
Task Parallelism
Different tasks are executed simultaneously across different computing units.
Data Parallelism
The same operation is performed concurrently on subsets of a large dataset.
Pipeline Parallelism
A sequence of processing stages where the output of one stage serves as input to the next.
MapReduce
A programming model designed for processing large datasets in parallel across a distributed cluster.
Map Phase
Input data is split into smaller chunks and processed in parallel.
Reduce Phase
The processed data is aggregated and combined to generate the final output.
Hadoop
An open-source framework widely used for big data analytics.
HDFS (Hadoop Distributed File System)
A scalable and fault-tolerant storage system.
YARN (Yet Another Resource Negotiator)
A resource management layer that schedules and allocates resources efficiently.
MapReduce API
A programming interface for writing distributed applications.
Apache Spark
An in-memory distributed computing engine that processes data much faster than Hadoop.
RDD (Resilient Distributed Dataset)
An abstraction allowing data to be processed in-memory with fault tolerance.
DAG (Directed Acyclic Graph) Execution
Optimized execution plan for task dependencies.
Spark Streaming
Support for real-time data processing within Apache Spark.
Spark MLlib
Scalable machine learning algorithms provided by Spark.
GraphX
Enables graph computation at scale within Apache Spark.
Serverless Computing
Allows developers to deploy code without managing underlying infrastructure.
FaaS (Function-as-a-Service)
A cloud execution model where individual functions are executed in response to events.
AWS Lambda
A popular FaaS provider.
Google Cloud Functions
A popular FaaS provider.
Azure Functions
A popular FaaS provider.
Cloud-Native Applications
Applications designed specifically for cloud environments.
Microservices Architecture
Decomposing applications into small, independently deployable services.
Containerization
Using containers (e.g., Docker) to package and deploy applications.
Orchestration
Managing containerized applications using Kubernetes.
CI/CD Pipelines
Automating software delivery with DevOps tools.
Docker
A containerization platform that packages applications and dependencies into lightweight, portable containers.
Kubernetes
An orchestration system that manages containerized applications at scale.
Service Mesh
Tools that enhance communication and security between microservices (e.g., Istio, Linkerd).
Event-Driven Computing
A paradigm where applications respond to events (e.g., API calls, file uploads, database changes).
Message Queues
Facilitate asynchronous event processing (e.g., Kafka, RabbitMQ).
Event-Driven FaaS
Functions execute in response to events (e.g., AWS Lambda triggers from S3 uploads).
Stream Processing
Enables real-time data analytics (e.g., Apache Flink, Spark Streaming).
Scalability
The ability of a system to handle a growing amount of work by adding resources.
Fault Tolerance
The ability of a system to continue operating properly in the event of the failure of some of its components.
Agility
The ability to move quickly and easily.
Sidecar Pattern
A pattern where a service mesh is typically implemented as a scalable set of network proxies deployed alongside application code.
Data Plane
The component of a service mesh that handles communication between microservices.
Control Plane
The component of a service mesh that controls the data plane.
Cloud Native Application
An application might consist of hundreds of services; each service might have thousands of instances; and each of those instances might be in a constantly-changing state as they are dynamically scheduled by an orchestrator like Kubernetes.
Service-to-Service Communication
Communication in the cloud native world which is incredibly complex, it’s a fundamental part of the application’s runtime behavior.
Asynchronous
Not occurring at the same time.
Resilience
The capacity to recover quickly from difficulties; toughness.
Observability
A measure of how well internal states of a system can be inferred from knowledge of its external outputs.
Real-Time Data Processing
Processing data as soon as it is generated.
Event-Driven Applications
Applications are built such that they react to events in real time.
Scalable Machine Learning
Scalability in machine learning involves efficiently handling growing data volumes, model complexity, and user traffic while maintaining performance and resource utilization.
Containerized Applications
Applications packaged using containerization technologies like Docker.
Distributed Architectures
System in which components are located on different networked computers, which communicate and coordinate their actions by passing messages to one another.
Dynamically Allocate Resources
Allocation of the resources immediately prior to its use based on the conditions prevailing at the time of allocation.
Big Data Analytics
the process of examining large and varied data sets to uncover hidden patterns, unknown correlations, market trends, customer preferences and other useful information that can help organizations make more informed business decisions
Scalable Cloud Applications
The application has the ability to handle an increase workload.
Robust Cloud Computing
Has the ability to handle cloud functions with efficiency.
Scalable Applications
Applications designed to allow for upscaling and downscaling without having to change the code base.
Immutable distributed collections
Cannot be changed after creation. If wanting to modify the object, a copy that reflects the modifications need to be created.
Scalable Graph Computation
Computation of information on large amounts of data.
DevOps
a set of practices that combines software development and IT operations.
Cloud Execution Model
A subscription and usage-based service where resources can be accessed on-demand over the internet.
Scalable Services
Architecting services is critical to application scalability. These services must be stateless, so that all possible requests are handled in the same manner.
Cloud Environment
A collection of linked physical or virtual resources, such as hardware, networking, and storage, combined with cloud management software.
Lightweight Containers
Package dependencies into easily moveable containers.
Portable Containers
A standard unit of software that packages up code and all its dependencies so the application runs quickly and reliably from one computing environment to another.
Scalabe Kubernetes
Makes it easier for organizations to manage large clusters that support thousands upon thousands of containerized applications
Resilient Applications
Architecting a system that is resilient requires that a system respond when a problem occurs by remaining operational.
Cloud-Agnostic Applications
The ability to move and run our application to an alternative cloud provider quickly and seamlessly.
Cloud Infrastructure
The hardware and software components needed to support the computing requirements of a cloud computing model.
Communication Between Microservices
The act of two or more services working together.
Scalable Cloud Applications
A modular system that can handle increases and decreases in the amount of processes completed.
Automated Software Delivery
Using DevOps to automate the software pipeline.
Independently Deployable Services
Can be easily deployable within the cloud environment.
High-Performance Distributed Computing
Using parallel programming in the cloud to process distribute high performance applications.
Efficient Data Processing
Using cloud applications such as MapReduce, Spark, serverless computing, and microservices to process data efficiently.
Scalable Applications
Using cloud applications such as MapReduce, Spark, serverless computing, and microservices to create scalable applications.
Resilient Architecture
Using parallel programming in the cloud to create resilient architectural designs.
Harnessing the Power of Parallel Computing
Using cloud native design principles so developers can build robust, scalable, and event-driven applications.
Cloud Computing
Using remote servers to store, manage, and process data, rather than a local server or a personal computer.
API Calls
Requests made by application programming interface.
File Uploads
The process of uploading files to a cloud server or other destination.
Database Changes
Adjustments to data in a database that can trigger events.
Cloud Computing in 2025
Spring Cloud Computing course.
Flexibility
Enables efficient large-scale data processing and high-performance computing applications.
Real-Time Data Processing
Processing data as soon as it is created.
Scalable Applications
Architect for growth.
Sidecar
A second container running alongside the applications main container.
Network Proxies
A tool for adding security, reliability, and observability features to cloud native applications by transparently inserting this functionality at the platform layer rather than the application layer.
Cloud Platforms
A complete set of hardware and software that provides all of the elements needed to deliver online cloud services, including compute, storage, networking, and virtualization.
Compute Instances
A configuration of virtualized hardware and software that provides the computing resources an application uses to run.
Storage
Holding digital data in an electromagnetic or optical form for access by a computer processor.
Cloud Resources
The infrastructure and data available via the Internet for on-demand usage.
Memory
The area of a computer that holds data that are waiting to be processed.
Data Streams
A continuous flow of data.
Data Lakes
A centralized repository that allows you to store all your structured and unstructured data at any scale.
Dynamic Applications
Apps that are capable of changing.
Application Instances
A single deployment of your application running on a server.
Application Lifecycle
The software process of continuously planning, developing, testing, deploying and monitoring an application.
Event Processing
The continuous and incremental assessment of data as it arrives.
Application Programming Interface
A way for two or more computer programs to communicate with each other.
Cloud Management
Management capabilities for private, public, and hybrid cloud computing services.
Virtualization
An umbrella term for technology that allows you to create multiple virtual instances of resources such as computing, networking, and storage from a single physical resource or device.