There are three steps to launch any website or app in the market
1. Idea in your mind & its Requirement.
2. Development of the idea through coding & System Design.
3. Deploy in the market and make it available for people to use.
From Development to Deployment There are so many steps in between.
This is called time to market, and less time to market --> the more advantage from your competitor.
In Today's world, we need agile, fast, and rapid business, which is possible only with the help of DevOps.
Suppose company X launches a new feature to the market in 5 days, and company Y launches it in 1 day only. In that case, X's customers will switch to Y.
We Have to do Performance tuning of the O.S according to the program, for Netflix video management, we need more GUI Centric Operating Systems.
Coding or programming Does 30% of the work to make a program efficient, while the Operating system does 70%. That's why we need to tune the operating system's performance.
If the Application is Closer to the Hardware, it will run faster. Bare Metal has maximum performance because it is directly on top of the Hardware.
There are three ways to "Install" the Operating System:-
1. Bare Metal:-
- Maximum Performance
- Resource Wastage
- Only One O.S at a time
2. Virtualization:-
- Less Performance than Bare Metal
- Can run Multiple O.S On a Single Hardware
- Use Hypervisor Technology
- Creates Virtual Machine / Guest O.S
3. Containerization:-
- Complete O.S Setup in <= 1 Second
- Require Minimum Libraries & Binaries
- Cost Effective & Time Effective.
There are "Two" Ways to Manage Operating System:-
1. On-Premises:-
- Laptops & PC's at Home
- Self Manage All the hardware & software
- Very Costly & requires maintenance
- Infrastructure is not easy to scale.
2. Cloud:-
- Infrastructure is easy to scale.
- EC2 instance on AWS & VM on Azure
- Infrastructure managed by cloud provider
- Follow Pay As You Go, Model,
Operating System Has Two Spaces:-
User Space & Kernel Space
User Space is the User or the Driver but control is in the hands of the Kernel
Kernel Space Controls the Entire Hardware so it is the controller, and acts like an Engine.
Docker Engine runs on top of Docker Host which is the O.S ( Linux )
And Docker Host runs on the top of Physical Hardware -> RAM / CPU
Docker Engine Creates Containers in less than 1 second with the help of Docker Image which we pull from Docker Hub.