Key Terms
- Advanced Package Tool (apt)
- used to install new packages and update existing packages
- Amazon Elastic Compute Cloud (EC2)
- cloud based, on-demand, compute platform that can be auto-scaled to meet demand
- Amazon Web Service (AWS)
- Amazon cloud computing platform that offers a wide range of services that allow customers to build, deploy, and manage applications and services in the cloud
- API gateway
- used to route traffic between client apps and microservices
- AWS CLI
- command-line interface used to manage Amazon cloud services
- AWS Portal
- web-based console that allows customers to manage their cloud services and subscriptions
- Azure
- cloud computing platform that offers a wide range of services that allow customers to build, deploy, and manage applications and services in the cloud
- Azure Function App
- event-driven serverless compute platform without provision or managing infrastructure
- Azure Portal
- web-based console that allows customers to manage their cloud services and subscriptions
- Backend as a Service (BaaS)
- third-party service that can be integrated with an application where the BaaS code does not need to be managed, and there are no servers
- bare metal server
- high-performance cloud server that is composed of a single-tenant, nonvirtualized physical server
- cloud computing
- delivery of computing services, such as databases, software, analytics, and storage over the Internet
- cloud mashup
- combines multiple cloud applications or services with shared datasets and integrated functionalities
- cloud-native application
- uses microservices architecture that takes full advantage of the benefits of the cloud, such as scalability and on-demand services
- community cloud
- cloud deployment model where resources are only accessible by a selected group of organizations
- Container as a Service (CaaS)
- type of IaaS specifically geared toward efficiently deploying, running, scaling, and managing a single application using a container-based virtualization
- container image
- binary state that is built by “layering” an application and its dependencies on top of the required “layer” of binaries and libraries of the OS where there is a parent-child relationship between image layers
- containerization
- packaging of a standardized unit of software that isolates an application enabling it to run independently of physical resources
- continuous delivery
- automates the deployment stage
- continuous integration
- automates the application compile, build, package, and testing process, enabling it to run independent of physical resources, which allows for a more consistent integration process
- continuous integration and continuous deployment (CI/CD)
- set of DevOps operating principles that enable development teams to focus on rapid and frequent integrations of new code into the application in development as well as fast and frequent delivery or deployment of new iterations of the application
- DevOps
- methodology that combines Agile software development and IT operations to deliver software faster and of higher quality
- disaster recovery
- ability of the application to recover from rare but major incidents: nontransient, wide-scale failures, such as service disruption that affects an entire region
- Django
- open-source web application framework
- Docker
- open-source platform that creates, deploys, and manages containers using a common operating system; it isolates resources allowing multiple containers to use the same OS without contention
- Docker Compose
- tool used for defining, via descriptor files, and managing applications that consist of multiple Docker containers
- Docker Engine
- open-source containerization platform used to build Docker images and manage Docker containers
- enterprise service bus (ESB)
- implements a bus-like communication system between interacting service providers and service consumers
- event-driven architecture
- architecture where functions are invoked by an event
- Express.js
- back-end Node web application framework used to implement RESTFul APIs
- Function as a Service (FaaS)
- compute platform for serverless where developers can run functions that are single units of deployment of the code, which is run by events
- GitHub
- cloud-based developer platform used for software development, collaboration, and security
- GitLab
- cloud-based DevOps platform used to monitor, test, and deploy application code
- high availability
- ability for an application to continue running in a healthy state without significant downtime
- high-performance computing (HPC)
- when a workload is compute- and memory-intensive
- Homebrew
- open-source package management system used to install and manage packages on MacOS and Linux operating systems
- hybrid cloud
- combines private and public clouds, and bare metal or virtual environments
- Infrastructure as a Service (IaaS)
- on-demand access to a cloud-hosted computing infrastructure that includes servers, storage, and network resources
- integrated development environment (IDE)
- software application that provides developers access to resources (e.g., source code editor, build automation tools, debuggers) to design, develop, debug, and test programs
- Kuard (Kubernetes Up and Running Demo)
- basic dashboard highlighting exposed application metrics
- Kubectl
- Kubernetes command-line tool that is used to manage Kubernetes clusters
- kubelet
- responsible for scheduling and making sure applications deployed within the worker nodes are running properly
- Kubernetes
- open-source orchestration platform used for automating deployment, scaling, and management of container-based workloads
- monolith
- application that conforms to a monolithic architecture
- monolithic architecture
- not designed to leverage an orchestration platform and requires the use of load balancers
- Next.js
- open-source React framework used to create full-stack web applications
- object-relational mapping (ORM)
- technique to convert a data object in the Express.js code to a table in the PostgreSQL relational database
- Octant
- open-source web interface for Kubernetes that is used to inspect Kubernetes clusters and applications deployed in them
- orchestration platform
- helps schedule microservices and containers, and optimizes the use of the computing resource
- Platform as a Service (PaaS)
- on-demand access to a cloud-hosted platform for developing, running, and managing applications by prepackaging middleware, language runtimes, and tools as containers
- pod
- small, logical unit that runs a container in a worker node in the Kubernetes cluster
- Prisma
- Node ORM used to map data objects to tables in a relational database
- private cloud
- cloud deployment model where resources are dedicated to one customer such as a single organization for internal use where cloud resources are accessed and managed by an organization
- public cloud
- cloud deployment model where resources are remotely accessible by anyone offered through subscriptions or on-demand pricing plans
- remote procedure call (RPC)
- request-response protocol used by one program to request services from other programs over a network in a distributed computing environment
- representational state transfer (REST)
- architectural style for providing standards between resources so they can communicate with each other over the Web
- resiliency
- ability of a system to recover from failures and continue to function
- resource group
- container that holds related resources used in a cloud solution
- Sequelize
- used as an ORM to convert data objects in the Express.js code to data records in the inventory table the database
- serverless computing
- cloud-native development model where developers can build and run applications but are not responsible for provisioning, maintaining, and scaling the server infrastructure as this is outsourced to the cloud service provider (CSP)
- service-oriented architecture (SOA)
- requires that conforming applications be structured as discrete, reusable, and interoperable services that communicate through an enterprise service bus (ESB)
- Software as a Service (SaaS)
- cloud-hosted, ready-to-use software or application that end users access with a client (e.g., web browser, desktop client, mobile app) via a subscription model
- Tanzu
- modular, application platform that provides a rich set of developer tools and a pre-paved path to production to build and deploy applications quickly and securely on any compliant public cloud or on-premises Kubernetes cluster
- Terraform
- open-source infrastructure as code tool used to build, update, and version cloud and on-premises resources
- unikernel
- single-purpose machine image that is compile-time specialized into a dedicated stand-alone kernel with only the libraries needed to run the application
- virtual machine (VM)
- virtualization of a computer system
- web service
- unit of software that is available as a resource over the Internet
- workload
- application being run on Kubernetes