Given as a keynote at LinuxCon + CloudOpen Japan
2015.
Linux has become the foundation for infrastructure everywhere as it defined
application portability from the desktop to the phone and from to the data
center to the cloud. As applications become increasingly distributed in nature,
the Docker platform serves as the cornerstone of Linux’s evolution solidifying
the dominance of Linux today and into tomorrow.
Slides Transcript
- 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 Clusters Static Website Web Front EndBackground Workers User DB Analytics DB Queue API Endpoint oneapplication
- Components Need to Work Together Static Website Web Front End Background Workers User DB Analytics DB QueueAPI Endpoint oneapplication
- New OS needs to schedule not only processes, but components across nodes
- Development VM QA Server Public Cloud Disaster Recovery Developer Laptop Server Cluster Data Center Distributed Applications Challenge Static Website Web Front EndBackground Workers User DB Analytics DB Queue API Endpoint Development Test & QA Production Scale Out oneapplication
- 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 Engine Creates, 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
- Orchestration Compose • 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 Server Public Cloud Disaster Recovery Developer Laptop Server Cluster Data Center Distributed Applications Solution Development Test & QA Production Scale Out Static Website Web Front End BackgroundWorkers Analytics DB Queue APIEndpoint User DB oneapplication
- 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