Table of Contents
What is an Application?
An application is a collection of programs that consists of three layers:
Frontend (UI): Angular, React JS, Vue JS
Backend (Business Logic): Java, .Net, Python, Node JS, PHP
Database: Oracle, MySQL, Postgres, SQL Server, Mongo DB
Application Tech Stack
Applications have multiple environments for testing purposes:
DEV Environment: Developer Testing
SIT Environment: Testing Team (QA) - System Integration
UAT Environment: Client Side Testing - User Acceptance Testing
PILOT Environment (Pre-Production): Testing with Live Data
Application Architecture
The application architecture consists of three layers:
Frontend (UI)
Backend (Business Logic)
Database
Life without Docker
Without Docker, challenges arise due to software installations, version mismatches, and maintaining consistency across different environments.
Life with Docker
Docker is a containerization platform that simplifies application deployment by packaging applications and their dependencies into containers.
What is Docker
Docker is a containerization software that builds and deploys applications along with their dependencies, bridging the gap between development and deployment.
What is Virtualization?
Virtualization involves installing multiple guest operating systems within a host operating system using hypervisor software. Each guest OS requires its own set of software.
What is Containerization?
Containerization packages software and application code into a single container for execution, making deployment consistent and manageable.
Docker Architecture
Docker architecture includes components like Dockerfile, Docker Image, Docker Registry, and Docker Container. Docker containers contain runtime processes for applications.
Virtualization
Virtualization involves creating multiple guest operating systems within one host operating system. It requires installing all required software for each guest OS.
Containerization
Containerization packages all software and application code into a single container. Containers include everything needed to run an application, making it easy to deploy consistently.
Conclusion
Docker simplifies application deployment by handling dependencies. It's a containerization software that bridges the gap between development and deployment.