SlideShare ist ein Scribd-Unternehmen logo
1 von 48
Downloaden Sie, um offline zu lesen
1
Microcontainers, Microservices, Microservers.
Less [Linux] is more!
Belfast Devops
15/09/2015
Dermot Bradley
dermot_bradley@yahoo.com
http://uk.linkedin.com/in/bradleydermot
2
My Background
1993-1997 Set up first ISP in Northern Ireland (Genesis Project Ltd)
1997-2006
Senior Technical Support Engineer @
Aldiscon/APiON/Openwave Systems
2006-2011
Mobile Technology Consultant @ SLA Mobile, on-site at
Vodafone Global in Germany
2011-2012
Contractor @ Alcatel-Lucent Network Services in
Germany
2012-2015 Contractor @ Vodafone Group Services in Germany
2015 April-August Sabbatical/career break
2015 September Senior Linux Administrator @ Proofpoint
3
Talk Overview
In a Microservices vision large scale services can be built by combining
Application Containers like Lego bricks. However App Containers are not
usually lightweight – a typical Docker container uses Ubuntu as its base.
Alternatively if based on minimal Linux distributions or (in a more extreme
case) applications are just statically linked, the resulting containers can be
far smaller. Lightweight means faster startup & migration time between
hosts and less RAM use. And as for the container hosts? Whether VM
instances or bare metal, the underlying OS can also be stripped right down
– CoreOS and RancherOS were designed with exactly this in mind.
Together lightweight containers and hosts mean savings – fewer, smaller,
cheaper cloud VM instances or bare metal servers (such as Microservers)
and potentially improved security.
4
The progression from physical machines to
application containers
5
Physical Machines
● Real machines hosting applications
● Individual machines often dedicated to hosting only a
single or a few applications
● Typically machines are underutilised (CPU, RAM use)
IBM HPDELL* * *
* apparently use of their logos requires prior written permission!
6
Virtual Machines
●
Provides a degree of application isolation allowing
several physical machines to be replaced by 1 physical
machine hosting multiple VMs
●
Results in better physical machine utilisation
7
OS Containers
●
Single kernel shared between containers – better I/O
(disk, network) performance than VMs but “weaker”
security isolation between containers
●
Faster startup time than VMs
8
Application Containers
●
An application plus “just enough” OS to support the app
(i.e. no sshd, no syslogd, no init, etc)
●
Immutable Infrastructure – no need to use
Puppet/Chef/Ansible/Salt to manage them
●
The same container is portable across physical hosts,
VMs, and multiple cloud providers
●
The exact same container can be run on a developer's
laptop, in a testlab, and in production environment
9
Various architectures of container use
Physical
Machine
Physical
Machine
Host OS
Host OSHost OS
Hypervisor
Cont
ainer
Cont
ainer
Cont
ainer
Cont
ainer
Cont
ainer
Cont
ainer
Cont
ainer
Cont
ainer
Cloud
Provider
Responsibility
Cloud
Provider
Responsibility
Bare Metal Virtualisation Cloud for VMs Cloud for
Containers
10
Reducing the size of App Containers
11
The range of sizes
Normal “full fat” Linux distribution
Lean but generic Linux distribution
Minimal application-specific container
(perhaps just a statically-linked binary)
Larger
Smaller
12
Minimal App Containers (1)
An application-specific container where the application
is compiled & either statically linked (resulting in just a
single binary file in the container) or dynamically
linked (resulting in a binary plus dependant libraries).
13
Minimal App Containers (2)
●
“dockerize” is a utility that analyses a dynamically-
linked binary to create a container with the binary plus
just the libraries it needs.
●
“gockerize” is a utility for building statically linked
golang binaries and creating Docker container
images.
14
Minimal App Containers (3)
Examples of “extreme” minimal containers:
●
Nginx (with Openssl) – 3.034MB
●
Python (StaticPython) – 8.5MB
●
PostgreSQL – 15.82MB
http://mwcampbell.us/blog/tiny-docker-musl-images.html
https://github.com/elyase/docker/tree/master/staticpython
http://yasermartinez.com/blog/posts/creating-super-small-docker-images.html
15
“Off the shelf” App Container base sizes
16
Alpine Linux (1)
● Distribution based on musl and Busybox
● Official base image size in Docker Hub is only 5MB in size!
● Comes with a package manager. Large number of common
applications already packaged.
● Provides a useful middle ground between normal “full fat”
distributions and handcrafted minimal app-specific containers.
17
Alpine Linux (2)
NGINX – 8MB
OpenJDK Java 7 JRE, 123MB
Oracle Java 8 JRE, 173MB
Example sizes of Alpine-based containers:
18
Reducing the size of the Host OS
19
Host OS Options (1)
● RancherOS, 20MB
● Boot2Docker, 24MB
● CoreOS, 190MB
● Vmware Photon OS, 207MB
● Intel ClearLinux, 800MB
● Project Atomic, 800MB
●
Snappy Core Linux, 3.9GB??
Container-oriented distributions:
20
Host OS Options (2)
●
TinyCore Linux, 10MB+
●
Alpine Linux, 87MB+
Generic distributions:
Size is of base distribution, does not take into account size of Docker tools etc...
21
Combined small App Containers with small Host
OS
22
Benefits of combined reductions
● Smaller spec Cloud VMs or physical servers can be utilised
● Cost savings!
● Quicker app container and/or host VM migration
● Smaller attack surface
23
Special case: App Container & slim VM merged
24
Intel Clear Containers
● KVM hypervisor
● Uses kvmtool (no need for BIOS/UEFI)
● Stripped-down Linux kernel (only Virtio devices)
● Systemd as init
● Rkt containers supported (docker support soon)
● Startup almost as fast (150ms) as native container
● Per-container RAM overhead of 18-20MB
● Container running inside a lightweight VM
25
Microservices
26
Microservices (1)
“Microservices is a software architecture style in which
complex applications are composed of small, independent
processes communicating with each other using language-
agnostic APIs. These services are small, highly decoupled and
focus on doing a small task, facilitating a modular approach to
system-building”
Wikipedia definition:
http://en.wikipedia.org/wiki/Microservices
27
Microservices (2)
●
“small independent processes”
●
“highly decoupled”
●
“modular approach to system building”
App Containers fit the Microservices model perfectly:
28
Microservices (3)
Database Database
Application
Content
Server
Load
Balancer
Content
Server
Application Application
Lego brick
approach to
building
services
29
Microservices (4)
●
Load Balancer: HAproxy
●
Content Server: Apache, Nginx
●
Application run-times: Perl, PHP, Python, Ruby,
Node.js, JVM
●
Database: MariaDB, PostgreSQL, MongoDB
●
Caching: Memcached, Varnish
Typical App Container building blocks:
30
Microservices (5)
Perhaps there is a demand for a curated set of such
minimal App Container building blocks?
Am I volunteering? Who knows...
31
Microservers
32
Microservers (1)
Dell CS5220 12 unit chassis
33
Microserver (2)
Facebook/OCP Mono Lake <90W microserver for Yosemite sled
34
Microservers (3)
35
Microservers (4)
● Low cost, low power usage, small size physical server
● Not every task needs high-end CPUs and lots of RAM
36
Micro Data Centre
37
Micro Data Centre (1)
38
Micro Data Centre (2)
● Small rack cabinet with multiple compute nodes,
storage nodes, admin node(s), network switch, UPS,
etc
● 10U cabinet capable of hosting 4000+ containers?
39
Micro Data Centre (3)
● No special (physical, power, cooling) room
requirements unlike a normal data centre
● Easier to keep data on-site for legal or privacy
reasons
● Potentially economical to have multi-site redundancy
with 2 MDCs in separate but geographically-close
(low network latency) locations
40
Personal experimentation – my current Micro
Data Centre
41
Testlab summary
● Multiple Compute Nodes
● 3+ Storage Nodes
● Admin Node
● Managed Switch
42
Compute Nodes (1)
●
Off-the-shelf Mini-ITX motherboards with low power
CPUs (with passive heatsinks or heatsink/fans)
●
Small amounts of RAM, 4-8Gb. Low power (1.35V)
DDR3L if possible.
●
No local storage
●
Low wattage small power supply
●
Machines PXE boot the Host OS and run directly from
RAM
43
Compute Nodes (2)
44
Compute Nodes (3)
●
My intention is to make a custom low-cost blade-type
chassis for nodes.
●
Chassis will be approx. 6U high and 250mm deep with
12 compute nodes per chassis.
●
Individual nodes will be approx. 6Ux 35mm x 245mm
45
Storage Nodes
●
Low power CPUs on Mini-ITX motherboards
●
Mix of SSDs and HDDs
●
Using CEPH to provide storage services
46
Admin Node
Pair of HDDs used with software mirroring
●
Provides DHCP/TFTP/HTTP services for PXE booting
Compute Nodes
●
Will run InfluxDB, ElasticSearch and Kibana for metric
and log analysis
47
Network Infrastructure
●
Gigabit Ethernet managed switch with VLAN, IPv6, and
SSH support
●
Use Ansible, via SSH, to configure the switch
●
Plan is for all containers & hosts to use only IPv6
addressing. The entry point to the “cloud” (i.e. Load
Balancer) will handle both IPv4 and IPv6 external
addresses and forward traffic onwards to internal IPv6
addresses.
48
The End!
Questions?

Weitere ähnliche Inhalte

Was ist angesagt?

Guaranteeing Storage Performance by Mike Tutkowski
Guaranteeing Storage Performance by Mike TutkowskiGuaranteeing Storage Performance by Mike Tutkowski
Guaranteeing Storage Performance by Mike Tutkowskibuildacloud
 
[OpenStack Day in Korea 2015] Track 1-4 - VDI OpenStack? It Works!!!
[OpenStack Day in Korea 2015] Track 1-4 - VDI OpenStack? It Works!!![OpenStack Day in Korea 2015] Track 1-4 - VDI OpenStack? It Works!!!
[OpenStack Day in Korea 2015] Track 1-4 - VDI OpenStack? It Works!!!OpenStack Korea Community
 
GPU Accelerated Virtual Desktop Infrastructure (VDI) on OpenStack
GPU Accelerated Virtual Desktop Infrastructure (VDI) on OpenStackGPU Accelerated Virtual Desktop Infrastructure (VDI) on OpenStack
GPU Accelerated Virtual Desktop Infrastructure (VDI) on OpenStackBrian Schott
 
Leostream Webinar - OpenStack VDI and DaaS
Leostream Webinar - OpenStack VDI and DaaSLeostream Webinar - OpenStack VDI and DaaS
Leostream Webinar - OpenStack VDI and DaaSLeostream
 
Delivering Infrastructure-as-a-Service with Open Source Software
Delivering Infrastructure-as-a-Service with Open Source SoftwareDelivering Infrastructure-as-a-Service with Open Source Software
Delivering Infrastructure-as-a-Service with Open Source SoftwareMark Hinkle
 
[OpenStack Day in Korea 2015] Keynote 5 - The evolution of OpenStack Networking
[OpenStack Day in Korea 2015] Keynote 5 - The evolution of OpenStack Networking[OpenStack Day in Korea 2015] Keynote 5 - The evolution of OpenStack Networking
[OpenStack Day in Korea 2015] Keynote 5 - The evolution of OpenStack NetworkingOpenStack Korea Community
 
Docker San Diego 2015-03-25
Docker San Diego 2015-03-25Docker San Diego 2015-03-25
Docker San Diego 2015-03-25Casey Bisson
 
Simplifying the Move to OpenStack
Simplifying the Move to OpenStackSimplifying the Move to OpenStack
Simplifying the Move to OpenStackOpenStack
 
Cloud stack design camp on jun 15
Cloud stack design camp on jun 15Cloud stack design camp on jun 15
Cloud stack design camp on jun 15Isaac Chiang
 
Manta Unleashed BigDataSG talk 2 July 2013
Manta Unleashed BigDataSG talk 2 July 2013Manta Unleashed BigDataSG talk 2 July 2013
Manta Unleashed BigDataSG talk 2 July 2013Christopher Hogue
 
Building a GPU-enabled OpenStack Cloud for HPC - Blair Bethwaite, Monash Univ...
Building a GPU-enabled OpenStack Cloud for HPC - Blair Bethwaite, Monash Univ...Building a GPU-enabled OpenStack Cloud for HPC - Blair Bethwaite, Monash Univ...
Building a GPU-enabled OpenStack Cloud for HPC - Blair Bethwaite, Monash Univ...OpenStack
 
The 7 characteristics of container native infrastructure, LinuxCon/ContainerC...
The 7 characteristics of container native infrastructure, LinuxCon/ContainerC...The 7 characteristics of container native infrastructure, LinuxCon/ContainerC...
The 7 characteristics of container native infrastructure, LinuxCon/ContainerC...Casey Bisson
 
Cloud OS development
Cloud OS developmentCloud OS development
Cloud OS developmentSean Chang
 
M.E.L.I.G. Unikernel and Serverless
M.E.L.I.G. Unikernel and ServerlessM.E.L.I.G. Unikernel and Serverless
M.E.L.I.G. Unikernel and ServerlessQNIB Solutions
 
OpenNebula TechDay Boston 2015 - Hyperconvergence and OpenNebula
OpenNebula TechDay Boston 2015 - Hyperconvergence and OpenNebulaOpenNebula TechDay Boston 2015 - Hyperconvergence and OpenNebula
OpenNebula TechDay Boston 2015 - Hyperconvergence and OpenNebulaOpenNebula Project
 
HVX: Virtualizing the Cloud
HVX: Virtualizing the CloudHVX: Virtualizing the Cloud
HVX: Virtualizing the CloudAlex Fishman
 
Cloud orchestration major tools comparision
Cloud orchestration major tools comparisionCloud orchestration major tools comparision
Cloud orchestration major tools comparisionRavi Kiran
 
Building a Microsoft cloud with open technologies
Building a Microsoft cloud with open technologiesBuilding a Microsoft cloud with open technologies
Building a Microsoft cloud with open technologiesAlessandro Pilotti
 
Cloudstack vs Openstack
Cloudstack vs OpenstackCloudstack vs Openstack
Cloudstack vs OpenstackHuzefa Husain
 

Was ist angesagt? (20)

Guaranteeing Storage Performance by Mike Tutkowski
Guaranteeing Storage Performance by Mike TutkowskiGuaranteeing Storage Performance by Mike Tutkowski
Guaranteeing Storage Performance by Mike Tutkowski
 
[OpenStack Day in Korea 2015] Track 1-4 - VDI OpenStack? It Works!!!
[OpenStack Day in Korea 2015] Track 1-4 - VDI OpenStack? It Works!!![OpenStack Day in Korea 2015] Track 1-4 - VDI OpenStack? It Works!!!
[OpenStack Day in Korea 2015] Track 1-4 - VDI OpenStack? It Works!!!
 
GPU Accelerated Virtual Desktop Infrastructure (VDI) on OpenStack
GPU Accelerated Virtual Desktop Infrastructure (VDI) on OpenStackGPU Accelerated Virtual Desktop Infrastructure (VDI) on OpenStack
GPU Accelerated Virtual Desktop Infrastructure (VDI) on OpenStack
 
Leostream Webinar - OpenStack VDI and DaaS
Leostream Webinar - OpenStack VDI and DaaSLeostream Webinar - OpenStack VDI and DaaS
Leostream Webinar - OpenStack VDI and DaaS
 
Delivering Infrastructure-as-a-Service with Open Source Software
Delivering Infrastructure-as-a-Service with Open Source SoftwareDelivering Infrastructure-as-a-Service with Open Source Software
Delivering Infrastructure-as-a-Service with Open Source Software
 
[OpenStack Day in Korea 2015] Keynote 5 - The evolution of OpenStack Networking
[OpenStack Day in Korea 2015] Keynote 5 - The evolution of OpenStack Networking[OpenStack Day in Korea 2015] Keynote 5 - The evolution of OpenStack Networking
[OpenStack Day in Korea 2015] Keynote 5 - The evolution of OpenStack Networking
 
Docker San Diego 2015-03-25
Docker San Diego 2015-03-25Docker San Diego 2015-03-25
Docker San Diego 2015-03-25
 
Simplifying the Move to OpenStack
Simplifying the Move to OpenStackSimplifying the Move to OpenStack
Simplifying the Move to OpenStack
 
Cloud stack design camp on jun 15
Cloud stack design camp on jun 15Cloud stack design camp on jun 15
Cloud stack design camp on jun 15
 
Cloud stack for_beginners
Cloud stack for_beginnersCloud stack for_beginners
Cloud stack for_beginners
 
Manta Unleashed BigDataSG talk 2 July 2013
Manta Unleashed BigDataSG talk 2 July 2013Manta Unleashed BigDataSG talk 2 July 2013
Manta Unleashed BigDataSG talk 2 July 2013
 
Building a GPU-enabled OpenStack Cloud for HPC - Blair Bethwaite, Monash Univ...
Building a GPU-enabled OpenStack Cloud for HPC - Blair Bethwaite, Monash Univ...Building a GPU-enabled OpenStack Cloud for HPC - Blair Bethwaite, Monash Univ...
Building a GPU-enabled OpenStack Cloud for HPC - Blair Bethwaite, Monash Univ...
 
The 7 characteristics of container native infrastructure, LinuxCon/ContainerC...
The 7 characteristics of container native infrastructure, LinuxCon/ContainerC...The 7 characteristics of container native infrastructure, LinuxCon/ContainerC...
The 7 characteristics of container native infrastructure, LinuxCon/ContainerC...
 
Cloud OS development
Cloud OS developmentCloud OS development
Cloud OS development
 
M.E.L.I.G. Unikernel and Serverless
M.E.L.I.G. Unikernel and ServerlessM.E.L.I.G. Unikernel and Serverless
M.E.L.I.G. Unikernel and Serverless
 
OpenNebula TechDay Boston 2015 - Hyperconvergence and OpenNebula
OpenNebula TechDay Boston 2015 - Hyperconvergence and OpenNebulaOpenNebula TechDay Boston 2015 - Hyperconvergence and OpenNebula
OpenNebula TechDay Boston 2015 - Hyperconvergence and OpenNebula
 
HVX: Virtualizing the Cloud
HVX: Virtualizing the CloudHVX: Virtualizing the Cloud
HVX: Virtualizing the Cloud
 
Cloud orchestration major tools comparision
Cloud orchestration major tools comparisionCloud orchestration major tools comparision
Cloud orchestration major tools comparision
 
Building a Microsoft cloud with open technologies
Building a Microsoft cloud with open technologiesBuilding a Microsoft cloud with open technologies
Building a Microsoft cloud with open technologies
 
Cloudstack vs Openstack
Cloudstack vs OpenstackCloudstack vs Openstack
Cloudstack vs Openstack
 

Ähnlich wie Microcontainers, Microservices, Microservers? Less [Linux] is more!

OpenNebula and StorPool: Building Powerful Clouds
OpenNebula and StorPool: Building Powerful CloudsOpenNebula and StorPool: Building Powerful Clouds
OpenNebula and StorPool: Building Powerful CloudsOpenNebula Project
 
Webinar: OpenEBS - Still Free and now FASTEST Kubernetes storage
Webinar: OpenEBS - Still Free and now FASTEST Kubernetes storageWebinar: OpenEBS - Still Free and now FASTEST Kubernetes storage
Webinar: OpenEBS - Still Free and now FASTEST Kubernetes storageMayaData Inc
 
Microservices , Docker , CI/CD , Kubernetes Seminar - Sri Lanka
Microservices , Docker , CI/CD , Kubernetes Seminar - Sri Lanka Microservices , Docker , CI/CD , Kubernetes Seminar - Sri Lanka
Microservices , Docker , CI/CD , Kubernetes Seminar - Sri Lanka Mario Ishara Fernando
 
Boyan Krosnov - Building a software-defined cloud - our experience
Boyan Krosnov - Building a software-defined cloud - our experienceBoyan Krosnov - Building a software-defined cloud - our experience
Boyan Krosnov - Building a software-defined cloud - our experienceShapeBlue
 
Automated Deployment and Management of Edge Clouds
Automated Deployment and Management of Edge CloudsAutomated Deployment and Management of Edge Clouds
Automated Deployment and Management of Edge CloudsJay Bryant
 
Comparisons of the most famous container Orchestrators
Comparisons of the most famous container OrchestratorsComparisons of the most famous container Orchestrators
Comparisons of the most famous container OrchestratorsThierry Gayet
 
VMworld 2015: The Future of Software- Defined Storage- What Does it Look Like...
VMworld 2015: The Future of Software- Defined Storage- What Does it Look Like...VMworld 2015: The Future of Software- Defined Storage- What Does it Look Like...
VMworld 2015: The Future of Software- Defined Storage- What Does it Look Like...VMworld
 
CoreOS and cloud provider integration: simple cloud-init example at Exoscale
CoreOS and cloud provider integration: simple cloud-init example at ExoscaleCoreOS and cloud provider integration: simple cloud-init example at Exoscale
CoreOS and cloud provider integration: simple cloud-init example at ExoscaleAntoine COETSIER
 
Distributech_Presentation DTECH_2013
Distributech_Presentation DTECH_2013Distributech_Presentation DTECH_2013
Distributech_Presentation DTECH_2013Dorian Hernandez
 
Linux container & docker
Linux container & dockerLinux container & docker
Linux container & dockerejlp12
 
Thinking inside the box (shared)
Thinking inside the box (shared)Thinking inside the box (shared)
Thinking inside the box (shared)Joe Brockmeier
 
OSDC 2018 | Three years running containers with Kubernetes in Production by T...
OSDC 2018 | Three years running containers with Kubernetes in Production by T...OSDC 2018 | Three years running containers with Kubernetes in Production by T...
OSDC 2018 | Three years running containers with Kubernetes in Production by T...NETWAYS
 
State of the Container Ecosystem
State of the Container EcosystemState of the Container Ecosystem
State of the Container EcosystemVinay Rao
 
Inside Triton, July 2015
Inside Triton, July 2015Inside Triton, July 2015
Inside Triton, July 2015Casey Bisson
 
”Bare-Metal Container" presented at HPCC2016
”Bare-Metal Container" presented at HPCC2016”Bare-Metal Container" presented at HPCC2016
”Bare-Metal Container" presented at HPCC2016Kuniyasu Suzaki
 
Containerizing GPU Applications with Docker for Scaling to the Cloud
Containerizing GPU Applications with Docker for Scaling to the CloudContainerizing GPU Applications with Docker for Scaling to the Cloud
Containerizing GPU Applications with Docker for Scaling to the CloudSubbu Rama
 
DCEU 18: Use Cases and Practical Solutions for Docker Container Storage on Sw...
DCEU 18: Use Cases and Practical Solutions for Docker Container Storage on Sw...DCEU 18: Use Cases and Practical Solutions for Docker Container Storage on Sw...
DCEU 18: Use Cases and Practical Solutions for Docker Container Storage on Sw...Docker, Inc.
 
[WSO2Con EU 2018] Architecting for a Container Native Environment
[WSO2Con EU 2018] Architecting for a Container Native Environment[WSO2Con EU 2018] Architecting for a Container Native Environment
[WSO2Con EU 2018] Architecting for a Container Native EnvironmentWSO2
 

Ähnlich wie Microcontainers, Microservices, Microservers? Less [Linux] is more! (20)

OpenNebula and StorPool: Building Powerful Clouds
OpenNebula and StorPool: Building Powerful CloudsOpenNebula and StorPool: Building Powerful Clouds
OpenNebula and StorPool: Building Powerful Clouds
 
Webinar: OpenEBS - Still Free and now FASTEST Kubernetes storage
Webinar: OpenEBS - Still Free and now FASTEST Kubernetes storageWebinar: OpenEBS - Still Free and now FASTEST Kubernetes storage
Webinar: OpenEBS - Still Free and now FASTEST Kubernetes storage
 
Microservices , Docker , CI/CD , Kubernetes Seminar - Sri Lanka
Microservices , Docker , CI/CD , Kubernetes Seminar - Sri Lanka Microservices , Docker , CI/CD , Kubernetes Seminar - Sri Lanka
Microservices , Docker , CI/CD , Kubernetes Seminar - Sri Lanka
 
Boyan Krosnov - Building a software-defined cloud - our experience
Boyan Krosnov - Building a software-defined cloud - our experienceBoyan Krosnov - Building a software-defined cloud - our experience
Boyan Krosnov - Building a software-defined cloud - our experience
 
Automated Deployment and Management of Edge Clouds
Automated Deployment and Management of Edge CloudsAutomated Deployment and Management of Edge Clouds
Automated Deployment and Management of Edge Clouds
 
Comparisons of the most famous container Orchestrators
Comparisons of the most famous container OrchestratorsComparisons of the most famous container Orchestrators
Comparisons of the most famous container Orchestrators
 
VMworld 2015: The Future of Software- Defined Storage- What Does it Look Like...
VMworld 2015: The Future of Software- Defined Storage- What Does it Look Like...VMworld 2015: The Future of Software- Defined Storage- What Does it Look Like...
VMworld 2015: The Future of Software- Defined Storage- What Does it Look Like...
 
CoreOS and cloud provider integration: simple cloud-init example at Exoscale
CoreOS and cloud provider integration: simple cloud-init example at ExoscaleCoreOS and cloud provider integration: simple cloud-init example at Exoscale
CoreOS and cloud provider integration: simple cloud-init example at Exoscale
 
Techmeeting-17feb2016
Techmeeting-17feb2016Techmeeting-17feb2016
Techmeeting-17feb2016
 
Distributech_Presentation DTECH_2013
Distributech_Presentation DTECH_2013Distributech_Presentation DTECH_2013
Distributech_Presentation DTECH_2013
 
Linux container & docker
Linux container & dockerLinux container & docker
Linux container & docker
 
Thinking inside the box (shared)
Thinking inside the box (shared)Thinking inside the box (shared)
Thinking inside the box (shared)
 
OSDC 2018 | Three years running containers with Kubernetes in Production by T...
OSDC 2018 | Three years running containers with Kubernetes in Production by T...OSDC 2018 | Three years running containers with Kubernetes in Production by T...
OSDC 2018 | Three years running containers with Kubernetes in Production by T...
 
State of the Container Ecosystem
State of the Container EcosystemState of the Container Ecosystem
State of the Container Ecosystem
 
Inside Triton, July 2015
Inside Triton, July 2015Inside Triton, July 2015
Inside Triton, July 2015
 
”Bare-Metal Container" presented at HPCC2016
”Bare-Metal Container" presented at HPCC2016”Bare-Metal Container" presented at HPCC2016
”Bare-Metal Container" presented at HPCC2016
 
Containerizing GPU Applications with Docker for Scaling to the Cloud
Containerizing GPU Applications with Docker for Scaling to the CloudContainerizing GPU Applications with Docker for Scaling to the Cloud
Containerizing GPU Applications with Docker for Scaling to the Cloud
 
Gorillas in the mist
Gorillas in the mistGorillas in the mist
Gorillas in the mist
 
DCEU 18: Use Cases and Practical Solutions for Docker Container Storage on Sw...
DCEU 18: Use Cases and Practical Solutions for Docker Container Storage on Sw...DCEU 18: Use Cases and Practical Solutions for Docker Container Storage on Sw...
DCEU 18: Use Cases and Practical Solutions for Docker Container Storage on Sw...
 
[WSO2Con EU 2018] Architecting for a Container Native Environment
[WSO2Con EU 2018] Architecting for a Container Native Environment[WSO2Con EU 2018] Architecting for a Container Native Environment
[WSO2Con EU 2018] Architecting for a Container Native Environment
 

Kürzlich hochgeladen

Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 

Kürzlich hochgeladen (20)

Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 

Microcontainers, Microservices, Microservers? Less [Linux] is more!

  • 1. 1 Microcontainers, Microservices, Microservers. Less [Linux] is more! Belfast Devops 15/09/2015 Dermot Bradley dermot_bradley@yahoo.com http://uk.linkedin.com/in/bradleydermot
  • 2. 2 My Background 1993-1997 Set up first ISP in Northern Ireland (Genesis Project Ltd) 1997-2006 Senior Technical Support Engineer @ Aldiscon/APiON/Openwave Systems 2006-2011 Mobile Technology Consultant @ SLA Mobile, on-site at Vodafone Global in Germany 2011-2012 Contractor @ Alcatel-Lucent Network Services in Germany 2012-2015 Contractor @ Vodafone Group Services in Germany 2015 April-August Sabbatical/career break 2015 September Senior Linux Administrator @ Proofpoint
  • 3. 3 Talk Overview In a Microservices vision large scale services can be built by combining Application Containers like Lego bricks. However App Containers are not usually lightweight – a typical Docker container uses Ubuntu as its base. Alternatively if based on minimal Linux distributions or (in a more extreme case) applications are just statically linked, the resulting containers can be far smaller. Lightweight means faster startup & migration time between hosts and less RAM use. And as for the container hosts? Whether VM instances or bare metal, the underlying OS can also be stripped right down – CoreOS and RancherOS were designed with exactly this in mind. Together lightweight containers and hosts mean savings – fewer, smaller, cheaper cloud VM instances or bare metal servers (such as Microservers) and potentially improved security.
  • 4. 4 The progression from physical machines to application containers
  • 5. 5 Physical Machines ● Real machines hosting applications ● Individual machines often dedicated to hosting only a single or a few applications ● Typically machines are underutilised (CPU, RAM use) IBM HPDELL* * * * apparently use of their logos requires prior written permission!
  • 6. 6 Virtual Machines ● Provides a degree of application isolation allowing several physical machines to be replaced by 1 physical machine hosting multiple VMs ● Results in better physical machine utilisation
  • 7. 7 OS Containers ● Single kernel shared between containers – better I/O (disk, network) performance than VMs but “weaker” security isolation between containers ● Faster startup time than VMs
  • 8. 8 Application Containers ● An application plus “just enough” OS to support the app (i.e. no sshd, no syslogd, no init, etc) ● Immutable Infrastructure – no need to use Puppet/Chef/Ansible/Salt to manage them ● The same container is portable across physical hosts, VMs, and multiple cloud providers ● The exact same container can be run on a developer's laptop, in a testlab, and in production environment
  • 9. 9 Various architectures of container use Physical Machine Physical Machine Host OS Host OSHost OS Hypervisor Cont ainer Cont ainer Cont ainer Cont ainer Cont ainer Cont ainer Cont ainer Cont ainer Cloud Provider Responsibility Cloud Provider Responsibility Bare Metal Virtualisation Cloud for VMs Cloud for Containers
  • 10. 10 Reducing the size of App Containers
  • 11. 11 The range of sizes Normal “full fat” Linux distribution Lean but generic Linux distribution Minimal application-specific container (perhaps just a statically-linked binary) Larger Smaller
  • 12. 12 Minimal App Containers (1) An application-specific container where the application is compiled & either statically linked (resulting in just a single binary file in the container) or dynamically linked (resulting in a binary plus dependant libraries).
  • 13. 13 Minimal App Containers (2) ● “dockerize” is a utility that analyses a dynamically- linked binary to create a container with the binary plus just the libraries it needs. ● “gockerize” is a utility for building statically linked golang binaries and creating Docker container images.
  • 14. 14 Minimal App Containers (3) Examples of “extreme” minimal containers: ● Nginx (with Openssl) – 3.034MB ● Python (StaticPython) – 8.5MB ● PostgreSQL – 15.82MB http://mwcampbell.us/blog/tiny-docker-musl-images.html https://github.com/elyase/docker/tree/master/staticpython http://yasermartinez.com/blog/posts/creating-super-small-docker-images.html
  • 15. 15 “Off the shelf” App Container base sizes
  • 16. 16 Alpine Linux (1) ● Distribution based on musl and Busybox ● Official base image size in Docker Hub is only 5MB in size! ● Comes with a package manager. Large number of common applications already packaged. ● Provides a useful middle ground between normal “full fat” distributions and handcrafted minimal app-specific containers.
  • 17. 17 Alpine Linux (2) NGINX – 8MB OpenJDK Java 7 JRE, 123MB Oracle Java 8 JRE, 173MB Example sizes of Alpine-based containers:
  • 18. 18 Reducing the size of the Host OS
  • 19. 19 Host OS Options (1) ● RancherOS, 20MB ● Boot2Docker, 24MB ● CoreOS, 190MB ● Vmware Photon OS, 207MB ● Intel ClearLinux, 800MB ● Project Atomic, 800MB ● Snappy Core Linux, 3.9GB?? Container-oriented distributions:
  • 20. 20 Host OS Options (2) ● TinyCore Linux, 10MB+ ● Alpine Linux, 87MB+ Generic distributions: Size is of base distribution, does not take into account size of Docker tools etc...
  • 21. 21 Combined small App Containers with small Host OS
  • 22. 22 Benefits of combined reductions ● Smaller spec Cloud VMs or physical servers can be utilised ● Cost savings! ● Quicker app container and/or host VM migration ● Smaller attack surface
  • 23. 23 Special case: App Container & slim VM merged
  • 24. 24 Intel Clear Containers ● KVM hypervisor ● Uses kvmtool (no need for BIOS/UEFI) ● Stripped-down Linux kernel (only Virtio devices) ● Systemd as init ● Rkt containers supported (docker support soon) ● Startup almost as fast (150ms) as native container ● Per-container RAM overhead of 18-20MB ● Container running inside a lightweight VM
  • 26. 26 Microservices (1) “Microservices is a software architecture style in which complex applications are composed of small, independent processes communicating with each other using language- agnostic APIs. These services are small, highly decoupled and focus on doing a small task, facilitating a modular approach to system-building” Wikipedia definition: http://en.wikipedia.org/wiki/Microservices
  • 27. 27 Microservices (2) ● “small independent processes” ● “highly decoupled” ● “modular approach to system building” App Containers fit the Microservices model perfectly:
  • 29. 29 Microservices (4) ● Load Balancer: HAproxy ● Content Server: Apache, Nginx ● Application run-times: Perl, PHP, Python, Ruby, Node.js, JVM ● Database: MariaDB, PostgreSQL, MongoDB ● Caching: Memcached, Varnish Typical App Container building blocks:
  • 30. 30 Microservices (5) Perhaps there is a demand for a curated set of such minimal App Container building blocks? Am I volunteering? Who knows...
  • 33. 33 Microserver (2) Facebook/OCP Mono Lake <90W microserver for Yosemite sled
  • 35. 35 Microservers (4) ● Low cost, low power usage, small size physical server ● Not every task needs high-end CPUs and lots of RAM
  • 38. 38 Micro Data Centre (2) ● Small rack cabinet with multiple compute nodes, storage nodes, admin node(s), network switch, UPS, etc ● 10U cabinet capable of hosting 4000+ containers?
  • 39. 39 Micro Data Centre (3) ● No special (physical, power, cooling) room requirements unlike a normal data centre ● Easier to keep data on-site for legal or privacy reasons ● Potentially economical to have multi-site redundancy with 2 MDCs in separate but geographically-close (low network latency) locations
  • 40. 40 Personal experimentation – my current Micro Data Centre
  • 41. 41 Testlab summary ● Multiple Compute Nodes ● 3+ Storage Nodes ● Admin Node ● Managed Switch
  • 42. 42 Compute Nodes (1) ● Off-the-shelf Mini-ITX motherboards with low power CPUs (with passive heatsinks or heatsink/fans) ● Small amounts of RAM, 4-8Gb. Low power (1.35V) DDR3L if possible. ● No local storage ● Low wattage small power supply ● Machines PXE boot the Host OS and run directly from RAM
  • 44. 44 Compute Nodes (3) ● My intention is to make a custom low-cost blade-type chassis for nodes. ● Chassis will be approx. 6U high and 250mm deep with 12 compute nodes per chassis. ● Individual nodes will be approx. 6Ux 35mm x 245mm
  • 45. 45 Storage Nodes ● Low power CPUs on Mini-ITX motherboards ● Mix of SSDs and HDDs ● Using CEPH to provide storage services
  • 46. 46 Admin Node Pair of HDDs used with software mirroring ● Provides DHCP/TFTP/HTTP services for PXE booting Compute Nodes ● Will run InfluxDB, ElasticSearch and Kibana for metric and log analysis
  • 47. 47 Network Infrastructure ● Gigabit Ethernet managed switch with VLAN, IPv6, and SSH support ● Use Ansible, via SSH, to configure the switch ● Plan is for all containers & hosts to use only IPv6 addressing. The entry point to the “cloud” (i.e. Load Balancer) will handle both IPv4 and IPv6 external addresses and forward traffic onwards to internal IPv6 addresses.