a greybeard s worst nightmare
play

A Greybeard's Worst Nightmare How Kubernetes and Containers are - PowerPoint PPT Presentation

A Greybeard's Worst Nightmare How Kubernetes and Containers are re-defining the Linux OS Daniel Riek Fosdem 2020 1 Introduction Name: Daniel Riek Twitter: llunved Using GNU/Linux since 1994 Co-founded Free Software start-up


  1. A Greybeard's Worst Nightmare How Kubernetes and Containers are re-defining the Linux OS Daniel Riek Fosdem 2020 1

  2. Introduction ● Name: Daniel Riek Twitter: llunved ● Using GNU/Linux since 1994 ● Co-founded Free Software start-up ID-Pro in Europe in 1997 ● Worked at Alcove, a french GNU/Linux company 2001-2003 ● Red Hat, EMEA Sales Engineering 2003-2005 ● Red Hat, ran RHEL Product Management 2005-2011 ● CTO at trading startup Vincorex 2011-2012 ● Product Management at back-up company Acronis 2012-2013 ● Red Hat, managing cross-product integration, container initiative 2013-2017 ● Red Hat, Office of the CTO, Artificial Intelligence since 2017 ○ Working on FOSS AI incl. projects such as https://opendatahub.io and https://github.com/thoth-station

  3. DISCLAIMER So yes, I work at Red Hat, which is a subsidiary of IBM. Red Hat is a Free and Open Source Cloud Software Company. However, while I may use the Red Hat stack as an example, nothing I say here can be misconstrued into an official position of any of my former, current, or future employers. It’s just me.

  4. Greybeard Greybeards fight Balrogs. They hate systemd. They fork distributions.

  5. The Role of the Linux OS Infrastructure or Application Application Platform? View GNU / Linux In abstract representations of the modern software stack, ● the OS is often considered part of the Infrastructure. Infrastructure However, an alternative, application-centric view would View ● consider it’s primary role to provide a common runtime for applications, abstracting from infrastructure.

  6. Meanwhile: Growing Software Stack Complexity Source: www.modulecounts.com

  7. Historic Role of GNU/Linux Breaking the vertical lock-in of Mainframe & Mini-Computers, UNIX MAINFRAME UNIX GNU/Linux - e.g. RHEL Complete vertical integration Vertical integration of Completely Open HW and ISV infrastructure & app platform ecosystem with the GNU/Linux Vendor-controlled OS as the neutral enterprise HW/OS/Ecosystem. Semi-open ecosystem. app platform ISV ECOSYSTEM OPEN APPLICATION CONTENT ISV ECOSYSTEM ISV ECOSYSTEM APPLICATION CONTENT APPLICATION CONTENT LINUX OS / RHEL OPERATING SYSTEM OPERATING SYSTEM INFRASTRUCTURE PHYSICAL ENTERPRISE VIRT PRIVATE CLOUD & PUBLIC CLOUDS APPLICATION PLATFORM APPLICATION PLATFORM INFRASTRUCTURE INFRASTRUCTURE

  8. Early GNU/Linux Stack Management In the beginning there was /usr/local/ - and stow, and binaries mounted on NFS. /MNT/APP3 Servers were special pets. - They were dog-show exhibits. ● ○ Inherited from Unix host tradition. Software often compiled on the production machine. ● COMMON SHARED USER SPACE High-maintenance. ● Fragile due to dependencies on each host's environment: ● LINUX KERNEL Application behaviour depends on the state of the individual ○ machine. Not efficient for managing artifacts. ○ HARDWARE Late-binding based on source-level API. ● Doesn't scale in distributed environments (aka PCs).

  9. Scalability Through Binary Packaging Then, There Be RPM and up2date, yum, dpkg, and apt... Frozen binary distribution, reproducible builds. ● Build once, distribute binary across multiple Linux servers. ○ OPTIONAL APPS Metadata, signatures. ○ Predictable behavior, dependency management. ○ Management of installed artifacts, updates. ○ Transport for a curated content stream from a trusted source. ○ COMMON SHARED USER SPACE Implicit lock into single instance, single version monolithic userspace. ● Implements a late-binding model for deploying software in Ops based ● LINUX KERNEL on an ABI contract. HARDWARE Welcome to Dependency Hell.

  10. Efficiency Through Central Control Finally kickstart, satellite, cfengine, and the likes… OPTIONAL APPS Mass deployment and recipes ● OPTIONAL APPS OPTIONAL APPS Efficiency through automation. Binary distribution at scale. ● OPTIONAL APPS Volatility of late-binding dependency resolution, conflicts & ● compatibility. COMMON SHARED USER SPACE COMMON SHARED USER SPACE Automate the stack composition on machines. ● COMMON SHARED USER SPACE Manage the lifecycle of the software stack. ● COMMON SHARED USER SPACE LINUX KERNEL LINUX KERNEL Centralize management control. ● LINUX KERNEL Components move across dev/test/ops independently. ● LINUX KERNEL Still in Dependency Hell. ● HARDWARE HARDWARE HARDWARE HARDWARE Model still largely used today, sometime with the same components plus newer tools like Ansible.

  11. A Whiff Of Freedom Virtualization, Appliances - Everything is a VM VM 1 VM 2 VM 3 Common model: Deploy as pre-built images, operate as pet ● Predictable initial stack behaviour ● APP 1 APP 2 APP 3 Abstraction from underlying HW ● Existing tools continue to work - it’s just virtual HW ● COMMON COMMON COMMON Multiple instances, multi-tenant ● SHARED SHARED SHARED USER USER USER Still monolithic inside the VM, still dependency conflicts in VM ● SPACE SPACE SPACE LINUX LINUX LINUX KERNEL KERNEL KERNEL Less Dependency Hell - Hello VM Sprawl and inconsistent management. HYPERVISOR HARDWARE

  12. Enterprise Virtualization Infrastructure Abstraction & Density VM VM VM Efficient sharing of physical HW due to sharing infrastructure. ● VM VM VM Linux inherited one VM per service from Windows. ● Multi-tier applications consisting out of multiple service. ○ VM VM VM Heavyweight compared to running multiple processes in a ○ single instance. VM VM VM Efficient cluster management on VM-level, ‘Software Defined’ ● Datacenter Potentially the a single artifact to move across DEV/TEST/PROD if ● COMPUTE NETWORK STORAGE integrated into a full image-based lifecycle. In theory clean delegation. - In practice: shared root access and a lot ● of virtual pets. PHYS PHYS PHYS PHYS HW HW HW HW Liberates your app from the HW lifecycle. Predominant operational paradigm for data centers in the earlier 2010s.

  13. Infrastructure as a Service Cloud Elastic Infrastructure VM VM VM Compute / Storage / Networking on demand ● VM VM VM Opex instead of CAPEX ● Elastically scale up and down as you need it ● VM VM VM Efficiency through scale ● Progressive reduction in cost passed through to customers ● VM VM VM SOMETHING THAT CONNECTS SOMETHING SOMETHING THAT STORES SOMETHING SOMETHING THAT COMPUTES SOMETHING SOMETHING THAT SCALES ON DEMAND

  14. Shifting Paradigms MACRO PREFERENCES & TECHNIQUES TRENDS BEHAVIOR & TOOLS • “Software is eating the world” • Aggregation of services replaces • Move towards Cloud Native monolithic systems behaviors • Business-value driven developers • DevOps enables developers to gaining influence over traditional • Preference to consume most manage rapid pace of change IT current versions • Automation, automation, • Shift from a broadcast-model to • Open source is the default; driving automation…. an on-demand model, SaaS rapid growth in content volume and stack complexity

  15. The (Modern) Cloud Operational paradigm that maximizes time-to-value: Elasticity ● SOMETHING VM VM THAT Developer Velocity through service abstraction, integration, EXECUTES A ● FUNCTION and availability APP APP Encapsulated Operational Excellence ● SOME SOMETHING THAT PROESSES DATA OTHER THING WITH AN Dominated by proprieatry public cloud offerings ● API SOMETHING THAT HAS AN API ‘GNU / Linux Distribution as a Service’ - Without the contributions ● back. SOMETHING THAT CONNECTS SOMETHING ‘Strip-mining’ FOSS and SW innovation in general. ● SOMETHING THAT STORES SOMETHING Move towards service aggregation, vertical integration. ● SOMETHING THAT COMPUTES SOMETHING SOMETHING THAT SCALES ON DEMAND

  16. Cloud Changed How People See Software Centralization of Operational Excellence ● SOMETHING VM VM THAT EXECUTES A FUNCTION 1990 / 2000s: ● APP APP Access to enterprise HW and Software is exclusive. ○ 2005 - 2015: ● SOME SOMETHING THAT PROCESSES DATA OTHER Free Software democratized access. ○ THING WITH AN Commercial offerings (e.g. Red Hat) enable Enterprise use. ○ API SOMETHING THAT HAS AN API You can get integration, stability, maintenance… But you have ○ to figure out how to deploy and operate. SOMETHING THAT CONNECTS SOMETHING 2020: ● SOMETHING THAT STORES SOMETHING The cloud operates your infrastructure and services. ○ SOMETHING THAT COMPUTES SOMETHING You focus on the components that differentiate your business. ○ SOMETHING THAT SCALES ON DEMAND Predominante operational paradigm for IT in the late 2010s

  17. The Cost of Cloud Vertically Integrated Public Cloud Dominated by proprietary public cloud offerings ● SOMETHING VM VM THAT Lock-in with black-box-services ● EXECUTES A FUNCTION Data Gravity ● APP APP Growing life cycle dependency ● High OPEX when scaled SOME ● SOMETHING THAT PROESSES DATA OTHER THING Reproducibility? ● WITH AN API SOMETHING THAT HAS AN API ‘GNU / Linux Distribution as a Service’ - Without the ● contributions back. SOMETHING THAT CONNECTS SOMETHING ‘Strip-mining’ FOSS and SW innovation in general. ● SOMETHING THAT STORES SOMETHING Move towards service aggregation, vertical integration. ● SOMETHING THAT COMPUTES SOMETHING SOMETHING THAT SCALES ON DEMAND

Recommend


More recommend