SlideShare a Scribd company logo
1 of 28
Download to read offline
Speed & Agility
of Innovation with
Docker & Kubernetes
Damjan Velickovski, Keitaro
Justin Noel, ICS
About ICS
● Founded in 1987, currently 120 employees
● HQ in Boston; Field office in Sunnyvale
● We provide:
○ UX design services
○ UI development
○ Software development services
○ Linux and QNX platform and board support
○ Full end to end product realization
○ Qt training
● Delivering 70+ projects each year for global
brands
About Keitaro
● Keitaro is an open-source company founded in 2012
● Working with businesses, governments and communities across the globe
● International team based in Sweden, UK, Macedonia and the USA
● Core business and services:
3
Cloud Native Technologies in Numbers
● Kubernetes has more than 2000 active contributors on GitHub
● IBM bought RedHat for $34 Billion
● SUSE bought Rancher for $600 Million
● The projected market for container technologies in 2022 is
$4.3 Billion
4
Short history of
Docker & Kubernetes
Speed & Agility of Innovation
with Docker & Kubernetes
Short history of Docker & Kubernetes
Short history of Docker & Kubernetes
What is Cloud Native?
The term cloud native describes how an application is developed
and delivered. Cloud native applications work with standardized
open-source technologies that enable seamless migration and
cooperation between different cloud vendors and on-premise
data-centers equipped with cloud native technologies such as
Docker, containerd, Kubernetes and so on.
8
Why Docker
and Kubernetes are
so popular?
9
Speed & Agility of Innovation
with Docker & Kubernetes
Docker
10
● Packaging applications into container images
● Container images are run on the container engine to become
running containers
● Containers are standardized executable components that combine
the application code with an OS and all dependant libraries
● Solves dependency management and configuration problems
● Enables easy vertical scaling
Kubernetes
● Kubernetes is a container orchestrator
● It provides mechanisms for organizing, automating, securing
and scaling containers
● It has flexible design and it’s actively worked on to fit different
usage scenarios
11
Why are Containers and Kubernetes so Popular?
● Streamlined promotion between development, staging and
production environments.
● Fits agile ways of working
● Applications can be broken down and deployed as
separate components
● Different components can be managed by different teams
● Horizontally and vertically scalable
● Managed infrastructure (on-premise, cloud, edge and mixed)
12
Kubernetes for the
Cloud & for the Edge
13
Speed & Agility of Innovation
with Docker & Kubernetes
Kubernetes for the Cloud
14
Amazon Elastic
Kubernetes Service
Google Kubernetes
Engine
Azure Kubernetes
Service - AKS
Container Service for
Kubernetes (ACK)
Cloud vendors services
15
Google Cloud
BigQuery
Google Cloud
IoT Core
Google Cloud
SQL
Cloud vendors typically offer fully managed open-source or proprietary
applications to gain competitive advantage. Internally, cloud vendors
utilize Kubernetes to provide these managed solutions.
Kubernetes for the Edge
● CNCF has dedicated working group for bringing Kubernetes to
the Edge
● Lightweight Kubernetes distributions
○ K3s (CNCF Sandbox)
○ Microk8s (CNCF Member project)
● Edge Computing Platforms
○ KubeEdge (CNCF Incubated)
○ Eclipse ioFog
● High performant data and metrics collectors and transformators
○ Prometheus (CNCF Graduated)
○ Fluentd (CNCF Graduated)
○ Apache Kafka
16
Moving to containers
and Kubernetes:
How and Why
17
Speed & Agility of Innovation
with Docker & Kubernetes
18
Moving to containers and Kubernetes:
How and Why
Before making a switch, beware of the pros and cons
● Pros:
● Future-proof and flexible infrastructure
● Streamlined environment management
● Easy CI/CD Integration
● Cons:
● Might require refactoring parts of the application
● Learning curve to go through
● Change in how people might be comfortable working
19
Moving to containers and Kubernetes:
How and Why
● Moving to Kubernetes can
be done incrementally
based on the application API
Docker for Qt
Development
20
Speed & Agility of Innovation
with Docker & Kubernetes
21
Docker for Qt Development
● Docker distributes and updates systems
○ Qt applications and development require a number fairly
complex systems
■ Application build system
■ Embedded OS build system
■ Application runtime system
○ Docker containers can help you manage these systems
22
Application Runtime
● Most obvious usage for Docker containers however,
○ Qt has packaging solutions for most major platforms.
○ Qt itself has very few external dependencies (ships most
dependencies)
● Embedded systems get the most benefit
○ Tightly controlled versioning 3rd party libraries
■ Run Yocto 3.0, but need different versions of various libraries
● Newer or older. Including Qt.
23
Docker Containers on Embedded Systems
● Some vendors support containers out of the box for Yocto or Buildroot.
○ See Toradex Torizon Distribution
■ With containers hierarchies. Qt w/ Wayland out of the box!
○ Tightly controlled library and database dependencies
○ Easy OTA update scheme
○ Helps you avoid Yocto black magic.
■ At least for shipping your Qt application.
■ Device drives not included.
24
Containerized Build Environments
● Controlled build environments can save you a lot of time. Usual
scenario:
■ Lengthy document describing how to install everything to build
● Get Qt, device SDK, valgrind, other tools, 3rd party libraries
● Usually everyone has forgotten some minor details that derails a new
hire’s 1st couple of days.
● Even after this you are “pretty sure” everyone’s build environment is the
same.
● And the CI server is “probably” the same as the developer’s machines.
○ No worse phrase than “It works for me.”
○ Who else has spent time shelled into a build agent debugging a test?
25
Benefits of a Containerized Build Environment
● Onboarding new team members.
○ New developers can just install the right container from Docker
Hub.
● Build system is controlled and centrally update-able.
○ Developers can pull the latest build environment from Docker Hub.
■ No more fragile instructions to update library foo to version
x.y.z
● Easy continuous integration
○ Build server uses the SAME build container!
26
Benefits of a Containerized Build Environment
● Controlled environments require controlled build systems
○ FDA loves this concept. Same tools, same compilers, same output.
○ Usually leaves you stranded on an old Linux Distro.
■ Projects can have a very long duration. Even longer than 5 year
LTS.
■ Forget about running a rolling distribution (very fashionable
right now)
○ Containers can solve this. Update your base OS for security and
HW support.
■ All development uses tools and libraries from inside the
container.
27
Containerized Yocto Build Systems
● Building Yocto is not very distribution tolerant.
○ Once you have an SDK you can develop almost anywhere.
○ Getting that image and sdk requires exact version of various
distros
■ You will have the most luck on Ubuntu 16.04 LTS.
■ It’s way out of date, but will reliably build Daisy through
Gatesgarth.
○ VM’s build very slowly. Other option is keeping a spare machine
around.
○ Or install an Ubuntu 16.04 container and use it to build images.
■ VM-like isolation. Native-like speed. Redistributable!
Questions?
28
Speed & Agility of Innovation
with Docker & Kubernetes

More Related Content

What's hot

Introducing GreenHouse
Introducing GreenHouseIntroducing GreenHouse
Introducing GreenHouseICS
 
Loosely-Coupled Architecture - how to get rid of the domino effect
Loosely-Coupled Architecture - how to get rid of the domino effectLoosely-Coupled Architecture - how to get rid of the domino effect
Loosely-Coupled Architecture - how to get rid of the domino effectRadosław Maziarka
 
[Webinar] Automotive Media Management in Future IVI Systems
[Webinar] Automotive Media Management in Future IVI Systems[Webinar] Automotive Media Management in Future IVI Systems
[Webinar] Automotive Media Management in Future IVI SystemsICS
 
Porting Motif Applications to Qt - Webinar
Porting Motif Applications to Qt - WebinarPorting Motif Applications to Qt - Webinar
Porting Motif Applications to Qt - WebinarJanel Heilbrunn
 
Accelerate Time to Market by Pipelining UX with Development - Part 2
Accelerate Time to Market by Pipelining UX with Development - Part 2Accelerate Time to Market by Pipelining UX with Development - Part 2
Accelerate Time to Market by Pipelining UX with Development - Part 2ICS
 
KDE Plasma for Mobile Phones
KDE Plasma for Mobile PhonesKDE Plasma for Mobile Phones
KDE Plasma for Mobile Phonesaccount inactive
 
[Webinar] Software: The Lifeblood of any Medical Device
[Webinar] Software: The Lifeblood of any Medical Device[Webinar] Software: The Lifeblood of any Medical Device
[Webinar] Software: The Lifeblood of any Medical DeviceICS
 
A workstation that runs demanding design and engineering apps and can hide on...
A workstation that runs demanding design and engineering apps and can hide on...A workstation that runs demanding design and engineering apps and can hide on...
A workstation that runs demanding design and engineering apps and can hide on...Principled Technologies
 
TDC2018FLN | Trilha Machine Learning - Intel movidius: Neural Compute Stick
TDC2018FLN | Trilha Machine Learning - Intel movidius: Neural Compute Stick TDC2018FLN | Trilha Machine Learning - Intel movidius: Neural Compute Stick
TDC2018FLN | Trilha Machine Learning - Intel movidius: Neural Compute Stick tdc-globalcode
 
Introduction to User Experience Design for Engineers
Introduction to User Experience Design for EngineersIntroduction to User Experience Design for Engineers
Introduction to User Experience Design for EngineersICS
 
Shipping Mobile Applications Using Qt for Symbian
Shipping Mobile Applications Using Qt for SymbianShipping Mobile Applications Using Qt for Symbian
Shipping Mobile Applications Using Qt for Symbianaccount inactive
 
Slide shared
Slide sharedSlide shared
Slide sharedHuxi LI
 
Qt in depth - presentation for Symbian expo 2009
Qt in depth - presentation for Symbian expo 2009Qt in depth - presentation for Symbian expo 2009
Qt in depth - presentation for Symbian expo 2009Nokia
 

What's hot (20)

Introducing GreenHouse
Introducing GreenHouseIntroducing GreenHouse
Introducing GreenHouse
 
Loosely-Coupled Architecture - how to get rid of the domino effect
Loosely-Coupled Architecture - how to get rid of the domino effectLoosely-Coupled Architecture - how to get rid of the domino effect
Loosely-Coupled Architecture - how to get rid of the domino effect
 
[Webinar] Automotive Media Management in Future IVI Systems
[Webinar] Automotive Media Management in Future IVI Systems[Webinar] Automotive Media Management in Future IVI Systems
[Webinar] Automotive Media Management in Future IVI Systems
 
Porting Motif Applications to Qt - Webinar
Porting Motif Applications to Qt - WebinarPorting Motif Applications to Qt - Webinar
Porting Motif Applications to Qt - Webinar
 
Meet Qt
Meet QtMeet Qt
Meet Qt
 
Accelerate Time to Market by Pipelining UX with Development - Part 2
Accelerate Time to Market by Pipelining UX with Development - Part 2Accelerate Time to Market by Pipelining UX with Development - Part 2
Accelerate Time to Market by Pipelining UX with Development - Part 2
 
KDE Plasma for Mobile Phones
KDE Plasma for Mobile PhonesKDE Plasma for Mobile Phones
KDE Plasma for Mobile Phones
 
Qt Licensing Explained
Qt Licensing ExplainedQt Licensing Explained
Qt Licensing Explained
 
[Webinar] Software: The Lifeblood of any Medical Device
[Webinar] Software: The Lifeblood of any Medical Device[Webinar] Software: The Lifeblood of any Medical Device
[Webinar] Software: The Lifeblood of any Medical Device
 
A workstation that runs demanding design and engineering apps and can hide on...
A workstation that runs demanding design and engineering apps and can hide on...A workstation that runs demanding design and engineering apps and can hide on...
A workstation that runs demanding design and engineering apps and can hide on...
 
Custom Widgets Tutorial InTouch Machine Edition (ITME)
Custom Widgets Tutorial InTouch Machine Edition (ITME)Custom Widgets Tutorial InTouch Machine Edition (ITME)
Custom Widgets Tutorial InTouch Machine Edition (ITME)
 
InTouch Machine Edition: Overview
InTouch Machine Edition: OverviewInTouch Machine Edition: Overview
InTouch Machine Edition: Overview
 
TDC2018FLN | Trilha Machine Learning - Intel movidius: Neural Compute Stick
TDC2018FLN | Trilha Machine Learning - Intel movidius: Neural Compute Stick TDC2018FLN | Trilha Machine Learning - Intel movidius: Neural Compute Stick
TDC2018FLN | Trilha Machine Learning - Intel movidius: Neural Compute Stick
 
Introduction to User Experience Design for Engineers
Introduction to User Experience Design for EngineersIntroduction to User Experience Design for Engineers
Introduction to User Experience Design for Engineers
 
Shipping Mobile Applications Using Qt for Symbian
Shipping Mobile Applications Using Qt for SymbianShipping Mobile Applications Using Qt for Symbian
Shipping Mobile Applications Using Qt for Symbian
 
Slide shared
Slide sharedSlide shared
Slide shared
 
Qt in depth - presentation for Symbian expo 2009
Qt in depth - presentation for Symbian expo 2009Qt in depth - presentation for Symbian expo 2009
Qt in depth - presentation for Symbian expo 2009
 
What's New in InTouch Machine Edition (ITME)
What's New in InTouch Machine Edition (ITME)What's New in InTouch Machine Edition (ITME)
What's New in InTouch Machine Edition (ITME)
 
Developing Digital Twins
Developing Digital TwinsDeveloping Digital Twins
Developing Digital Twins
 
Introduction to InTouch Machine Edition (ITME)
Introduction to InTouch Machine Edition (ITME)Introduction to InTouch Machine Edition (ITME)
Introduction to InTouch Machine Edition (ITME)
 

Similar to Speed & Agility of Innovation with Docker & Kubernetes

Developer workflow with docker
Developer workflow with dockerDeveloper workflow with docker
Developer workflow with dockerLalatendu Mohanty
 
Docker Concepts for Oracle/MySQL DBAs and DevOps
Docker Concepts for Oracle/MySQL DBAs and DevOpsDocker Concepts for Oracle/MySQL DBAs and DevOps
Docker Concepts for Oracle/MySQL DBAs and DevOpsZohar Elkayam
 
Introduction to Containers
Introduction to ContainersIntroduction to Containers
Introduction to ContainersDharmit Shah
 
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...Ambassador Labs
 
DevOps Days Boston 2017: Real-world Kubernetes for DevOps
DevOps Days Boston 2017: Real-world Kubernetes for DevOpsDevOps Days Boston 2017: Real-world Kubernetes for DevOps
DevOps Days Boston 2017: Real-world Kubernetes for DevOpsAmbassador Labs
 
From development to production: Deploying Java and Scala apps to kubernetes
From development to production: Deploying Java and Scala apps to kubernetesFrom development to production: Deploying Java and Scala apps to kubernetes
From development to production: Deploying Java and Scala apps to kubernetesOlanga Ochieng'
 
Journey to the devops automation with docker kubernetes and openshift
Journey to the devops automation with docker kubernetes and openshiftJourney to the devops automation with docker kubernetes and openshift
Journey to the devops automation with docker kubernetes and openshiftYusuf Hadiwinata Sutandar
 
DCSF19 How Docker Simplifies Kubernetes for the Masses
DCSF19 How Docker Simplifies Kubernetes for the Masses  DCSF19 How Docker Simplifies Kubernetes for the Masses
DCSF19 How Docker Simplifies Kubernetes for the Masses Docker, Inc.
 
Getting started with kubernetes
Getting started with kubernetesGetting started with kubernetes
Getting started with kubernetesJanakiram MSV
 
Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...
Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...
Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...Ambassador Labs
 
A curtain-raiser to the container world Docker & Kubernetes
A curtain-raiser to the container world Docker & KubernetesA curtain-raiser to the container world Docker & Kubernetes
A curtain-raiser to the container world Docker & KuberneteszekeLabs Technologies
 
Power of Choice in Docker EE 2.0 - Anoop - Docker - CC18
Power of Choice in Docker EE 2.0 - Anoop - Docker - CC18Power of Choice in Docker EE 2.0 - Anoop - Docker - CC18
Power of Choice in Docker EE 2.0 - Anoop - Docker - CC18CodeOps Technologies LLP
 
Free GitOps Workshop (with Intro to Kubernetes & GitOps)
Free GitOps Workshop (with Intro to Kubernetes & GitOps)Free GitOps Workshop (with Intro to Kubernetes & GitOps)
Free GitOps Workshop (with Intro to Kubernetes & GitOps)Weaveworks
 
Kubernetes is all you need
Kubernetes is all you needKubernetes is all you need
Kubernetes is all you needVishwas N
 
Open Container Technologies and OpenStack - Sorting Through Kubernetes, the O...
Open Container Technologies and OpenStack - Sorting Through Kubernetes, the O...Open Container Technologies and OpenStack - Sorting Through Kubernetes, the O...
Open Container Technologies and OpenStack - Sorting Through Kubernetes, the O...Daniel Krook
 

Similar to Speed & Agility of Innovation with Docker & Kubernetes (20)

Developer workflow with docker
Developer workflow with dockerDeveloper workflow with docker
Developer workflow with docker
 
Docker Concepts for Oracle/MySQL DBAs and DevOps
Docker Concepts for Oracle/MySQL DBAs and DevOpsDocker Concepts for Oracle/MySQL DBAs and DevOps
Docker Concepts for Oracle/MySQL DBAs and DevOps
 
Introduction to Containers
Introduction to ContainersIntroduction to Containers
Introduction to Containers
 
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...
 
DevOps Days Boston 2017: Real-world Kubernetes for DevOps
DevOps Days Boston 2017: Real-world Kubernetes for DevOpsDevOps Days Boston 2017: Real-world Kubernetes for DevOps
DevOps Days Boston 2017: Real-world Kubernetes for DevOps
 
From development to production: Deploying Java and Scala apps to kubernetes
From development to production: Deploying Java and Scala apps to kubernetesFrom development to production: Deploying Java and Scala apps to kubernetes
From development to production: Deploying Java and Scala apps to kubernetes
 
Journey to the devops automation with docker kubernetes and openshift
Journey to the devops automation with docker kubernetes and openshiftJourney to the devops automation with docker kubernetes and openshift
Journey to the devops automation with docker kubernetes and openshift
 
DCSF19 How Docker Simplifies Kubernetes for the Masses
DCSF19 How Docker Simplifies Kubernetes for the Masses  DCSF19 How Docker Simplifies Kubernetes for the Masses
DCSF19 How Docker Simplifies Kubernetes for the Masses
 
Getting started with kubernetes
Getting started with kubernetesGetting started with kubernetes
Getting started with kubernetes
 
Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...
Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...
Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...
 
A curtain-raiser to the container world Docker & Kubernetes
A curtain-raiser to the container world Docker & KubernetesA curtain-raiser to the container world Docker & Kubernetes
A curtain-raiser to the container world Docker & Kubernetes
 
Power of Choice in Docker EE 2.0 - Anoop - Docker - CC18
Power of Choice in Docker EE 2.0 - Anoop - Docker - CC18Power of Choice in Docker EE 2.0 - Anoop - Docker - CC18
Power of Choice in Docker EE 2.0 - Anoop - Docker - CC18
 
Javantura v4 - Self-service app deployment with Kubernetes and OpenShift - Ma...
Javantura v4 - Self-service app deployment with Kubernetes and OpenShift - Ma...Javantura v4 - Self-service app deployment with Kubernetes and OpenShift - Ma...
Javantura v4 - Self-service app deployment with Kubernetes and OpenShift - Ma...
 
Free GitOps Workshop (with Intro to Kubernetes & GitOps)
Free GitOps Workshop (with Intro to Kubernetes & GitOps)Free GitOps Workshop (with Intro to Kubernetes & GitOps)
Free GitOps Workshop (with Intro to Kubernetes & GitOps)
 
Kubernetes is all you need
Kubernetes is all you needKubernetes is all you need
Kubernetes is all you need
 
Docker for Mac
Docker for MacDocker for Mac
Docker for Mac
 
Open Container Technologies and OpenStack - Sorting Through Kubernetes, the O...
Open Container Technologies and OpenStack - Sorting Through Kubernetes, the O...Open Container Technologies and OpenStack - Sorting Through Kubernetes, the O...
Open Container Technologies and OpenStack - Sorting Through Kubernetes, the O...
 
Docker handons-workshop-for-charity
Docker handons-workshop-for-charityDocker handons-workshop-for-charity
Docker handons-workshop-for-charity
 
Hello, Docker!
Hello, Docker!Hello, Docker!
Hello, Docker!
 
Dockerization
DockerizationDockerization
Dockerization
 

More from ICS

Practical Advice for FDA’s 510(k) Requirements.pdf
Practical Advice for FDA’s 510(k) Requirements.pdfPractical Advice for FDA’s 510(k) Requirements.pdf
Practical Advice for FDA’s 510(k) Requirements.pdfICS
 
Accelerating Development of a Safety-Critical Cobot Welding System with Qt/QM...
Accelerating Development of a Safety-Critical Cobot Welding System with Qt/QM...Accelerating Development of a Safety-Critical Cobot Welding System with Qt/QM...
Accelerating Development of a Safety-Critical Cobot Welding System with Qt/QM...ICS
 
Overcoming CMake Configuration Issues Webinar
Overcoming CMake Configuration Issues WebinarOvercoming CMake Configuration Issues Webinar
Overcoming CMake Configuration Issues WebinarICS
 
Enhancing Quality and Test in Medical Device Design - Part 2.pdf
Enhancing Quality and Test in Medical Device Design - Part 2.pdfEnhancing Quality and Test in Medical Device Design - Part 2.pdf
Enhancing Quality and Test in Medical Device Design - Part 2.pdfICS
 
Designing and Managing IoT Devices for Rapid Deployment - Webinar.pdf
Designing and Managing IoT Devices for Rapid Deployment - Webinar.pdfDesigning and Managing IoT Devices for Rapid Deployment - Webinar.pdf
Designing and Managing IoT Devices for Rapid Deployment - Webinar.pdfICS
 
Quality and Test in Medical Device Design - Part 1.pdf
Quality and Test in Medical Device Design - Part 1.pdfQuality and Test in Medical Device Design - Part 1.pdf
Quality and Test in Medical Device Design - Part 1.pdfICS
 
Creating Digital Twins Using Rapid Development Techniques.pdf
Creating Digital Twins Using Rapid Development Techniques.pdfCreating Digital Twins Using Rapid Development Techniques.pdf
Creating Digital Twins Using Rapid Development Techniques.pdfICS
 
Secure Your Medical Devices From the Ground Up
Secure Your Medical Devices From the Ground Up Secure Your Medical Devices From the Ground Up
Secure Your Medical Devices From the Ground Up ICS
 
Cybersecurity and Software Updates in Medical Devices.pdf
Cybersecurity and Software Updates in Medical Devices.pdfCybersecurity and Software Updates in Medical Devices.pdf
Cybersecurity and Software Updates in Medical Devices.pdfICS
 
MDG Panel - Creating Expert Level GUIs for Complex Medical Devices
MDG Panel - Creating Expert Level GUIs for Complex Medical DevicesMDG Panel - Creating Expert Level GUIs for Complex Medical Devices
MDG Panel - Creating Expert Level GUIs for Complex Medical DevicesICS
 
How to Craft a Winning IOT Device Management Solution
How to Craft a Winning IOT Device Management SolutionHow to Craft a Winning IOT Device Management Solution
How to Craft a Winning IOT Device Management SolutionICS
 
Bridging the Gap Between Development and Regulatory Teams
Bridging the Gap Between Development and Regulatory TeamsBridging the Gap Between Development and Regulatory Teams
Bridging the Gap Between Development and Regulatory TeamsICS
 
IoT Device Fleet Management: Create a Robust Solution with Azure
IoT Device Fleet Management: Create a Robust Solution with AzureIoT Device Fleet Management: Create a Robust Solution with Azure
IoT Device Fleet Management: Create a Robust Solution with AzureICS
 
Basic Cmake for Qt Users
Basic Cmake for Qt UsersBasic Cmake for Qt Users
Basic Cmake for Qt UsersICS
 
Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...
Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...
Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...ICS
 
Qt Installer Framework
Qt Installer FrameworkQt Installer Framework
Qt Installer FrameworkICS
 
Bridging the Gap Between Development and Regulatory Teams
Bridging the Gap Between Development and Regulatory TeamsBridging the Gap Between Development and Regulatory Teams
Bridging the Gap Between Development and Regulatory TeamsICS
 
Overcome Hardware And Software Challenges - Medical Device Case Study
Overcome Hardware And Software Challenges - Medical Device Case StudyOvercome Hardware And Software Challenges - Medical Device Case Study
Overcome Hardware And Software Challenges - Medical Device Case StudyICS
 
User Experience Design for IoT
User Experience Design for IoTUser Experience Design for IoT
User Experience Design for IoTICS
 
Software Bill of Materials - Accelerating Your Secure Embedded Development.pdf
Software Bill of Materials - Accelerating Your Secure Embedded Development.pdfSoftware Bill of Materials - Accelerating Your Secure Embedded Development.pdf
Software Bill of Materials - Accelerating Your Secure Embedded Development.pdfICS
 

More from ICS (20)

Practical Advice for FDA’s 510(k) Requirements.pdf
Practical Advice for FDA’s 510(k) Requirements.pdfPractical Advice for FDA’s 510(k) Requirements.pdf
Practical Advice for FDA’s 510(k) Requirements.pdf
 
Accelerating Development of a Safety-Critical Cobot Welding System with Qt/QM...
Accelerating Development of a Safety-Critical Cobot Welding System with Qt/QM...Accelerating Development of a Safety-Critical Cobot Welding System with Qt/QM...
Accelerating Development of a Safety-Critical Cobot Welding System with Qt/QM...
 
Overcoming CMake Configuration Issues Webinar
Overcoming CMake Configuration Issues WebinarOvercoming CMake Configuration Issues Webinar
Overcoming CMake Configuration Issues Webinar
 
Enhancing Quality and Test in Medical Device Design - Part 2.pdf
Enhancing Quality and Test in Medical Device Design - Part 2.pdfEnhancing Quality and Test in Medical Device Design - Part 2.pdf
Enhancing Quality and Test in Medical Device Design - Part 2.pdf
 
Designing and Managing IoT Devices for Rapid Deployment - Webinar.pdf
Designing and Managing IoT Devices for Rapid Deployment - Webinar.pdfDesigning and Managing IoT Devices for Rapid Deployment - Webinar.pdf
Designing and Managing IoT Devices for Rapid Deployment - Webinar.pdf
 
Quality and Test in Medical Device Design - Part 1.pdf
Quality and Test in Medical Device Design - Part 1.pdfQuality and Test in Medical Device Design - Part 1.pdf
Quality and Test in Medical Device Design - Part 1.pdf
 
Creating Digital Twins Using Rapid Development Techniques.pdf
Creating Digital Twins Using Rapid Development Techniques.pdfCreating Digital Twins Using Rapid Development Techniques.pdf
Creating Digital Twins Using Rapid Development Techniques.pdf
 
Secure Your Medical Devices From the Ground Up
Secure Your Medical Devices From the Ground Up Secure Your Medical Devices From the Ground Up
Secure Your Medical Devices From the Ground Up
 
Cybersecurity and Software Updates in Medical Devices.pdf
Cybersecurity and Software Updates in Medical Devices.pdfCybersecurity and Software Updates in Medical Devices.pdf
Cybersecurity and Software Updates in Medical Devices.pdf
 
MDG Panel - Creating Expert Level GUIs for Complex Medical Devices
MDG Panel - Creating Expert Level GUIs for Complex Medical DevicesMDG Panel - Creating Expert Level GUIs for Complex Medical Devices
MDG Panel - Creating Expert Level GUIs for Complex Medical Devices
 
How to Craft a Winning IOT Device Management Solution
How to Craft a Winning IOT Device Management SolutionHow to Craft a Winning IOT Device Management Solution
How to Craft a Winning IOT Device Management Solution
 
Bridging the Gap Between Development and Regulatory Teams
Bridging the Gap Between Development and Regulatory TeamsBridging the Gap Between Development and Regulatory Teams
Bridging the Gap Between Development and Regulatory Teams
 
IoT Device Fleet Management: Create a Robust Solution with Azure
IoT Device Fleet Management: Create a Robust Solution with AzureIoT Device Fleet Management: Create a Robust Solution with Azure
IoT Device Fleet Management: Create a Robust Solution with Azure
 
Basic Cmake for Qt Users
Basic Cmake for Qt UsersBasic Cmake for Qt Users
Basic Cmake for Qt Users
 
Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...
Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...
Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...
 
Qt Installer Framework
Qt Installer FrameworkQt Installer Framework
Qt Installer Framework
 
Bridging the Gap Between Development and Regulatory Teams
Bridging the Gap Between Development and Regulatory TeamsBridging the Gap Between Development and Regulatory Teams
Bridging the Gap Between Development and Regulatory Teams
 
Overcome Hardware And Software Challenges - Medical Device Case Study
Overcome Hardware And Software Challenges - Medical Device Case StudyOvercome Hardware And Software Challenges - Medical Device Case Study
Overcome Hardware And Software Challenges - Medical Device Case Study
 
User Experience Design for IoT
User Experience Design for IoTUser Experience Design for IoT
User Experience Design for IoT
 
Software Bill of Materials - Accelerating Your Secure Embedded Development.pdf
Software Bill of Materials - Accelerating Your Secure Embedded Development.pdfSoftware Bill of Materials - Accelerating Your Secure Embedded Development.pdf
Software Bill of Materials - Accelerating Your Secure Embedded Development.pdf
 

Recently uploaded

Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZABSYZ Inc
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxRTS corp
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Developmentvyaparkranti
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecturerahul_net
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxAndreas Kunz
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 

Recently uploaded (20)

Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Development
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecture
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 

Speed & Agility of Innovation with Docker & Kubernetes

  • 1. Speed & Agility of Innovation with Docker & Kubernetes Damjan Velickovski, Keitaro Justin Noel, ICS
  • 2. About ICS ● Founded in 1987, currently 120 employees ● HQ in Boston; Field office in Sunnyvale ● We provide: ○ UX design services ○ UI development ○ Software development services ○ Linux and QNX platform and board support ○ Full end to end product realization ○ Qt training ● Delivering 70+ projects each year for global brands
  • 3. About Keitaro ● Keitaro is an open-source company founded in 2012 ● Working with businesses, governments and communities across the globe ● International team based in Sweden, UK, Macedonia and the USA ● Core business and services: 3
  • 4. Cloud Native Technologies in Numbers ● Kubernetes has more than 2000 active contributors on GitHub ● IBM bought RedHat for $34 Billion ● SUSE bought Rancher for $600 Million ● The projected market for container technologies in 2022 is $4.3 Billion 4
  • 5. Short history of Docker & Kubernetes Speed & Agility of Innovation with Docker & Kubernetes
  • 6. Short history of Docker & Kubernetes
  • 7. Short history of Docker & Kubernetes
  • 8. What is Cloud Native? The term cloud native describes how an application is developed and delivered. Cloud native applications work with standardized open-source technologies that enable seamless migration and cooperation between different cloud vendors and on-premise data-centers equipped with cloud native technologies such as Docker, containerd, Kubernetes and so on. 8
  • 9. Why Docker and Kubernetes are so popular? 9 Speed & Agility of Innovation with Docker & Kubernetes
  • 10. Docker 10 ● Packaging applications into container images ● Container images are run on the container engine to become running containers ● Containers are standardized executable components that combine the application code with an OS and all dependant libraries ● Solves dependency management and configuration problems ● Enables easy vertical scaling
  • 11. Kubernetes ● Kubernetes is a container orchestrator ● It provides mechanisms for organizing, automating, securing and scaling containers ● It has flexible design and it’s actively worked on to fit different usage scenarios 11
  • 12. Why are Containers and Kubernetes so Popular? ● Streamlined promotion between development, staging and production environments. ● Fits agile ways of working ● Applications can be broken down and deployed as separate components ● Different components can be managed by different teams ● Horizontally and vertically scalable ● Managed infrastructure (on-premise, cloud, edge and mixed) 12
  • 13. Kubernetes for the Cloud & for the Edge 13 Speed & Agility of Innovation with Docker & Kubernetes
  • 14. Kubernetes for the Cloud 14 Amazon Elastic Kubernetes Service Google Kubernetes Engine Azure Kubernetes Service - AKS Container Service for Kubernetes (ACK)
  • 15. Cloud vendors services 15 Google Cloud BigQuery Google Cloud IoT Core Google Cloud SQL Cloud vendors typically offer fully managed open-source or proprietary applications to gain competitive advantage. Internally, cloud vendors utilize Kubernetes to provide these managed solutions.
  • 16. Kubernetes for the Edge ● CNCF has dedicated working group for bringing Kubernetes to the Edge ● Lightweight Kubernetes distributions ○ K3s (CNCF Sandbox) ○ Microk8s (CNCF Member project) ● Edge Computing Platforms ○ KubeEdge (CNCF Incubated) ○ Eclipse ioFog ● High performant data and metrics collectors and transformators ○ Prometheus (CNCF Graduated) ○ Fluentd (CNCF Graduated) ○ Apache Kafka 16
  • 17. Moving to containers and Kubernetes: How and Why 17 Speed & Agility of Innovation with Docker & Kubernetes
  • 18. 18 Moving to containers and Kubernetes: How and Why Before making a switch, beware of the pros and cons ● Pros: ● Future-proof and flexible infrastructure ● Streamlined environment management ● Easy CI/CD Integration ● Cons: ● Might require refactoring parts of the application ● Learning curve to go through ● Change in how people might be comfortable working
  • 19. 19 Moving to containers and Kubernetes: How and Why ● Moving to Kubernetes can be done incrementally based on the application API
  • 20. Docker for Qt Development 20 Speed & Agility of Innovation with Docker & Kubernetes
  • 21. 21 Docker for Qt Development ● Docker distributes and updates systems ○ Qt applications and development require a number fairly complex systems ■ Application build system ■ Embedded OS build system ■ Application runtime system ○ Docker containers can help you manage these systems
  • 22. 22 Application Runtime ● Most obvious usage for Docker containers however, ○ Qt has packaging solutions for most major platforms. ○ Qt itself has very few external dependencies (ships most dependencies) ● Embedded systems get the most benefit ○ Tightly controlled versioning 3rd party libraries ■ Run Yocto 3.0, but need different versions of various libraries ● Newer or older. Including Qt.
  • 23. 23 Docker Containers on Embedded Systems ● Some vendors support containers out of the box for Yocto or Buildroot. ○ See Toradex Torizon Distribution ■ With containers hierarchies. Qt w/ Wayland out of the box! ○ Tightly controlled library and database dependencies ○ Easy OTA update scheme ○ Helps you avoid Yocto black magic. ■ At least for shipping your Qt application. ■ Device drives not included.
  • 24. 24 Containerized Build Environments ● Controlled build environments can save you a lot of time. Usual scenario: ■ Lengthy document describing how to install everything to build ● Get Qt, device SDK, valgrind, other tools, 3rd party libraries ● Usually everyone has forgotten some minor details that derails a new hire’s 1st couple of days. ● Even after this you are “pretty sure” everyone’s build environment is the same. ● And the CI server is “probably” the same as the developer’s machines. ○ No worse phrase than “It works for me.” ○ Who else has spent time shelled into a build agent debugging a test?
  • 25. 25 Benefits of a Containerized Build Environment ● Onboarding new team members. ○ New developers can just install the right container from Docker Hub. ● Build system is controlled and centrally update-able. ○ Developers can pull the latest build environment from Docker Hub. ■ No more fragile instructions to update library foo to version x.y.z ● Easy continuous integration ○ Build server uses the SAME build container!
  • 26. 26 Benefits of a Containerized Build Environment ● Controlled environments require controlled build systems ○ FDA loves this concept. Same tools, same compilers, same output. ○ Usually leaves you stranded on an old Linux Distro. ■ Projects can have a very long duration. Even longer than 5 year LTS. ■ Forget about running a rolling distribution (very fashionable right now) ○ Containers can solve this. Update your base OS for security and HW support. ■ All development uses tools and libraries from inside the container.
  • 27. 27 Containerized Yocto Build Systems ● Building Yocto is not very distribution tolerant. ○ Once you have an SDK you can develop almost anywhere. ○ Getting that image and sdk requires exact version of various distros ■ You will have the most luck on Ubuntu 16.04 LTS. ■ It’s way out of date, but will reliably build Daisy through Gatesgarth. ○ VM’s build very slowly. Other option is keeping a spare machine around. ○ Or install an Ubuntu 16.04 container and use it to build images. ■ VM-like isolation. Native-like speed. Redistributable!
  • 28. Questions? 28 Speed & Agility of Innovation with Docker & Kubernetes