Glossary
Behavior-Driven Development (BDD)
A software development process that emerged from test-driven development (TDD), combining the general techniques and principles of TDD with ideas from domain-driven design
Containerization
A form of operating system virtualization, through which applications are run in isolated user spaces called containers, all using the same shared operating system (OS)
Continuous Deployment (CD)
A software engineering approach in which software functionalities are delivered frequently through automated deployments
Continuous Integration (CI)
A development practice that requires developers to integrate code into a shared repository frequently, each integration verified by an automated build and automated tests
Domain-Driven Design (DDD)
An approach to developing software for complex needs by deeply connecting the implementation to an evolving model of the core business concepts
Infrastructure as Code (IaC)
The process of managing and provisioning computer data centers through machine-readable definition files, rather than physical hardware configuration or interactive configuration tools
Kubernetes
An open-source system for automating deployment, scaling, and management of containerized applications
Microservices Architecture
An architectural style that structures an application as a collection of services that are highly maintainable and testable, loosely coupled, independently deployable, organized around business capabilities
Serverless Computing
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
Test-Driven Development (TDD)
A software development process relying on software requirements being converted to test cases before software is fully developed, and tracking all software development by repeatedly testing the software against all test cases