The Future of the Operating System - Keynote LinuxCon 2015

Post on 03-Aug-2015

6.788 views 2 download

Tags:

Transcript of The Future of the Operating System - Keynote LinuxCon 2015

The Future of the Operating

System

What is an Operating System ?

OS Manages Processes & Resources

OS Provides Portability

(same app runs on different hardware)

OS Provides Isolation & Reliability

Operating Systems &

Apps Over Time

1960s &1970s

Mainframe Era

OS in 1960s

• IBM OS/360 – First OS that kept track of system resources (program, memory, storage)

• CTSS – Introduce scheduling

• Univac Exec 8, Burrows MCP, Multics

OS in 1970s

• UNIX takes over mainframes – only IBM’s MVS and DEC’s OpenVMS remain

• UNIX (written in C) first portable OS

Apps in 1960s & 1970s

• Ran on mainframe • Many apps ran on one mainframe (multi-tenancy) • Very few operators • Relatively small set of “users” • Users didn’t interact with application

• CHALLENGE: Very limited reach

1980s & 1990s

Microcomputer Era

OS in 1980s & 1990s

• UNIX dominates mainframes/servers • PC emerges & brings lots of users

(expanded reach) –DOS & Windows –Mac System Software –OS2, Amiga OS & BeOS

Apps in 1980s & 1990s

• Application ran on a desktop • Single user • Operator became the user

• CHALLENGE : Distribution – Physical media – Ship times measured in months/years

1995 - 2005

Dawn of the Internet Era

OS in 1995 - 2005• Browser becomes gateway to Internet

applications • Desktop ruled by Windows • Linux emerges as the “OS of the

Internet” • LAMP Stack

Apps in 1995 - 2005• Internet emerges, brings easier distribution • Applications are monoliths running on a few

machines • Applications run on owned / leased hardware • Applications accessed through browser • Apps have millions of users

• CHALLENGE: Scale

2005 - 2015

Distributed Applications Era

Apps in 2005 - 2015• Browser solidified as window (view) to

applications • Mobile emerges… most apps merely

component (view) to server based applications

• Apps have 1+ billion users

APPS IN 2005 - 2015• Apps evolved to be composed of services • Distributed applications running on clusters • NoSQL & Cloud

• CHALLENGE : Operations & Deployment – Many services require coordination – Need duplicate environments (dev, stage, prod)

Applications Run on ClustersStatic

Website

Web Front EndBackground Workers

User DB Analytics DB

Queue API Endpoint

one application

Components Need to Work Together

Static Website

Web Front End

Background Workers

User DB Analytics DB

QueueAPI Endpoint

one application

New OS needs to schedule not only

processes, but components across nodes

Development VM

QA ServerPublic Cloud

Disaster Recovery

Developer Laptop

Server Cluster

Data Center

Distributed Applications ChallengeStatic

Website

Web Front EndBackground Workers

User DB Analytics DB

Queue API Endpoint

Development Test & QA Production Scale Out

one application

OS no longer providing

application portability

OS needs to evolve to meet

Application

Linux provides foundation for

Solution.. but needs another layer

Docker + Linux

Modern Application Portability

The Docker Mission

Build Ship Run

Anywhere

Any Application

Local Cloud Data Center

Docker EngineCreates, Ships & Runs containers • Deployable anywhere • Communicates with Docker Hub

BUILD

Package app and dependencies together

SHIP

Deploy locally, in the cloud or in the data center

RUN

Run containers with monitoring and stats anywhere

Application Portability

Run Docker containers unchanged in any environment, on any infrastructure

Build Ship Run

Schedule Components &

Resources

OrchestrationCompose • Configure multi-container applications with a simple file

Machine • Auto-provision hosts and install Engine with a single

command • Drivers to integrate with 12 infrastructure partners

Swarm • Running and scheduling clusters of containers

Isolation & Reliability

Isolation

Container provides true isolation of components

Build Ship Run

Service Reliability

Faithful representation of app with encompassed dependencies

Build Ship Run

Development VM

QA ServerPublic Cloud

Disaster Recovery

Developer Laptop

Server Cluster

Data Center

Distributed Applications Solution

Development Test & QA Production Scale Out

Static Website

Web Front End

Background Workers

Analytics DB

Queue API Endpoint

User DB

one application

The Docker Un-Enabled

Organization

Case Study: Gilt Groupe

Before Docker • 7 Monolithic apps • Wasted time implementing monolithic PaaS

•Dev-to-Prod: weeks

Case Study: ING

Before Docker •9+ months from commit to deploy

• Poorly rated applications •Redundant processes and apps

The Docker Enabled

Organization

Case Study: Gilt Groupe

After Docker • 400+ microservices • 100+ innovations a day • Easily burst capacity at peak times

•Dev-to-Prod: minutes

Case Study: ING

After Docker • 15 minutes from commit to live

• 1,500 deployments per week

The Future…

… is written by people willing to

disrupt the established

UBER

Distributed Apps are the

Future

Linux + Docker is the Future of

Operating Systems

THANK YOU