SlideShare a Scribd company logo
InterSystems
Containers
Luca Ravazzolo
Product Manager
2 | © InterSystems Corporation. All rights reserved. |
Speed
We Can’t Make the Horse Faster.
If I had asked people what they wanted,
they would have said faster horses.
—Henry Ford
3 | © InterSystems Corporation. All rights reserved. |
4 | © InterSystems Corporation. All rights reserved. |
What is a container?
 It’s a Standardized, Portable & Runnable software bundle – the Image
 that is Executed in Isolation & Resource Controlled – the Container
5 | © InterSystems Corporation. All rights reserved. |
Docker Containers
 A tool that can package and application and its runtime dependencies for deployment
into a Linux Container.
 Docker builds on Linux Containers & adds
 API
 Image format
 Runtime user-space
 Registry
 There is already a standard: OCI v1
Linux Kernel
cgroup namespace
Images Container
Docker
6 | © InterSystems Corporation. All rights reserved. |
Docker run
Docker Client Docker Engine
holds Images
Docker Hub & Docker Store
Running Container
7 | © InterSystems Corporation. All rights reserved. |
Docker build
 Docker images
 read only layers
 built by hand or via Dockerfile
 BYOContainer
 Based on InterSystems’
 Add App code
 Add Key
 Resolve dependencies
 Configure
Dockerfile
Creation Build
Docker Layer
Docker Layer
Docker Layer
Container
Image
Pull Push
Run
8 | © InterSystems Corporation. All rights reserved. |
The Focus is on the Application
 Portability
 simplified App delivery
 Standard Application Package
 software runs always in the same way anywhere
 Lightweight Operational Benefits
 Minimal footprint; efficient run-time; fast start; fast shutdown; No OS worries
 Efficient Isolation without Emulation
 Dependencies Satisfied at Build time
 Faster Iteration and Release Cycles
 Better resource utilization / higher packing factor
 Consistent & Repeatable Process
9 | © InterSystems Corporation. All rights reserved. |
The Focus is on the Application
 Separation of Concerns between
 Code &
 Data
 Separation of Concerns between Artefact Phases (12-factor app)
 Build Phase &
 Run Phase
 Embrace immutability vs mutating systems (No System Drift) BUILD RUN
CODE
DATA
10 | © InterSystems Corporation. All rights reserved. |
 It’s another virtualization…
 OK for microservices architectures (MSA)
 I do Monolith... it ain’t for me
I don’t buy it
11 | © InterSystems Corporation. All rights reserved. |
 Packaging Docker images
 Distribution Docker Registry
 Execution Docker Engine
Containers Solves a Lot of Problems
12 | © InterSystems Corporation. All rights reserved. |
Product Delivery
1
Developer
pushes
commits
Source
Code
Repository
2
Continuous
Integration
??
3
Deployment
=
Build and Test
7
code.xml
code.rtn
data.gbl
script.sh
config.params
cache.cpf
CACHE.DAT
Code
Bundle
.rpm
.tar.gz
.msi
CACHE.DAT
Data
Build
??
4
Test
??
5
Testing the App
or
Testing the Assembly
of Components?
OS version
Patch Level
Lib dependencies
DB installation
App dependencies
Configuration
Import Code
Compile Code
Copy .DAT
Must do!
13 | © InterSystems Corporation. All rights reserved. |
Continuous Delivery
 Produce valuable and robust software in short cycles
 Optimizing for feedback & learning
 Not (necessarily) continuous deployment
14 | © InterSystems Corporation. All rights reserved. |
Creation of a build pipeline is mandatory for continuous delivery
15 | © InterSystems Corporation. All rights reserved. |
CI/CD with containers: Making your Dev env like Production
1
Developer
pushes
commits
Source
Code
Repository
Continuous
Integration
Service
Image or
Artefact
Build
Run
Tests
Push to
Registry
Deploy
to
Production
Developers are notified
2 3 4 5 6 7
Containers become the build pipeline single-binary
16 | © InterSystems Corporation. All rights reserved. |
Production Parity
 The cost of fixing a bug exponentially increase the closer it gets to production
 Docker allow us to mirror production environments by providing the same base-OS
layer, packages, libraries, dependencies & configuration options:
 all while giving users the flexibility to use their favorite platform to work on with their
favorite IDE and browser.
 Works where you work
 Dev, Test, Pre-production, UAT, Production
17 | © InterSystems Corporation. All rights reserved. |
Dockerfile
 Docker provides the same
 easy workflow regardless of your role as a developer, operator, or designer (DevOps)
 It leverages a declarative configuration file which describes
 all your application software requirements
 packages & lib dependencies, users, and more.
19 | © InterSystems Corporation. All rights reserved. |
1
20 | © InterSystems Corporation. All rights reserved. |
InterSystems has the passport!
First-class citizens
 isc-main
 Durable %SYS
21 | © InterSystems Corporation. All rights reserved. |
isc-main
 Detachable container
 Interrupts handling
 Logs redirection
 Powerful flags
 before database startup
 after database shutdown
 key
 instance name
 routine
 namespace
 etc.
22 | © InterSystems Corporation. All rights reserved. |
InterSystems-libs
InterSystems Container
Durable %SYS
 System configuration durability
 cache.cpf
 cconsole.log
 %SYS database
 User credentials
 Security Settings
 etc.
 WIJ
 JRNs
 etc.
/dev/xvdb  /fast-reliable-FS/conf1.d
%SYS
-e ISC_DATA_DIRECTORY=/cachesys/conf1.d
-v /fast-reliable-FS:/cachesys
InterSystems-libs
InterSystems Container
v.2
23 | © InterSystems Corporation. All rights reserved. |
$ docker run –d 
–e ISC_DATA_DIRECTORY=/cachesys/conf1.d 
–v /fast-reliable-FS:/cachesys 
-v /myAppDB:/DB 
-p 57772:57772
–p 1972:1972 
myapp-container:v1
Typical Example
Durable %SYS
Linux Host
/boot /etc /usr /myAppDB
/dev /opt /fast-reliable-FS/conf1.d
myapp-container:v1
/DB /cachesys/conf1.d
25 | © InterSystems Corporation. All rights reserved. |
Bedtime Reading
Thank you.

More Related Content

PPTX
SS Introduction to Docker
PPTX
SW Docker Security
PDF
PDF
Developing with Docker for the Arm Architecture
PPTX
Docker and containerization
PDF
Infinit: Modern Storage Platform for Container Environments
PDF
Docker Basics
PDF
Docker Datacenter - CaaS
SS Introduction to Docker
SW Docker Security
Developing with Docker for the Arm Architecture
Docker and containerization
Infinit: Modern Storage Platform for Container Environments
Docker Basics
Docker Datacenter - CaaS

What's hot (20)

PDF
VMware@Night: Container & Virtualisierung
PDF
Linux Containers : dupliquer Linux à volonté - David Hueber - Grégory Steulet...
PDF
AtlanTEC 2017: Containers! Why Docker, Why NOW?
PDF
An operational view into docker registry with scalability, access control and...
PPTX
Containerization & Docker - Under the Hood
PDF
Dockercon EU 2015 Recap
PDF
24 23 jun17 2may17 16231 ijeecs latest_version (1) edit septian
PPTX
.docker : how to deploy Digital Experience in a container drinking a cup of c...
PPTX
Microservices and containers for the unitiated
PPT
Container security
PDF
HPC Cloud Burst Using Docker
PDF
Ten layers of container security for CloudCamp Nov 2017
PPTX
Containers vs. VMs: It's All About the Apps!
PDF
Taking the Containers First Approach
PDF
Docker Containers Security
PPTX
Docker - Portable Deployment
PPTX
Docker - the what why and hows
PDF
20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"
PPTX
Dockers and containers basics
PDF
Docker Container Introduction
VMware@Night: Container & Virtualisierung
Linux Containers : dupliquer Linux à volonté - David Hueber - Grégory Steulet...
AtlanTEC 2017: Containers! Why Docker, Why NOW?
An operational view into docker registry with scalability, access control and...
Containerization & Docker - Under the Hood
Dockercon EU 2015 Recap
24 23 jun17 2may17 16231 ijeecs latest_version (1) edit septian
.docker : how to deploy Digital Experience in a container drinking a cup of c...
Microservices and containers for the unitiated
Container security
HPC Cloud Burst Using Docker
Ten layers of container security for CloudCamp Nov 2017
Containers vs. VMs: It's All About the Apps!
Taking the Containers First Approach
Docker Containers Security
Docker - Portable Deployment
Docker - the what why and hows
20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"
Dockers and containers basics
Docker Container Introduction
Ad

Similar to Why containers (20)

PPTX
Docker - A high level introduction to dockers and containers
PPTX
Using MySQL Containers
PPTX
What is Docker?
PDF
docker
PDF
Container Ecosystem and Docker Technology
PDF
Docker Application to Scientific Computing
PPTX
Docker 101 - High level introduction to docker
PPTX
The world of Docker and Kubernetes
 
PPTX
PaaS with Docker
PDF
Cloud foundry Docker Openstack - Leading Open Source Triumvirate
PDF
Docker Overview - Rise of the Containers
PPTX
Docker Understanding, What is Docker? Why Docker? How do I containerize somet...
PPTX
.docker : How to deploy Digital Experience in a container, drinking a cup of ...
PPTX
05_Sommerville_Lecture_ppt_05.pptxttg ggyy7ghhhhhhhhhhhhhhg
PDF
Docker_Interview_Questions__Answers.pdf
PPTX
Cont0519
PDF
Linux Interview Questions PDF By ScholarHat
PDF
Using Docker container technology with F5 Networks products and services
PDF
Powering Microservices with Docker
PPTX
Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker - A high level introduction to dockers and containers
Using MySQL Containers
What is Docker?
docker
Container Ecosystem and Docker Technology
Docker Application to Scientific Computing
Docker 101 - High level introduction to docker
The world of Docker and Kubernetes
 
PaaS with Docker
Cloud foundry Docker Openstack - Leading Open Source Triumvirate
Docker Overview - Rise of the Containers
Docker Understanding, What is Docker? Why Docker? How do I containerize somet...
.docker : How to deploy Digital Experience in a container, drinking a cup of ...
05_Sommerville_Lecture_ppt_05.pptxttg ggyy7ghhhhhhhhhhhhhhg
Docker_Interview_Questions__Answers.pdf
Cont0519
Linux Interview Questions PDF By ScholarHat
Using Docker container technology with F5 Networks products and services
Powering Microservices with Docker
Docker & aPaaS: Enterprise Innovation and Trends for 2015
Ad

Recently uploaded (20)

PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPT
Teaching material agriculture food technology
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
A Presentation on Artificial Intelligence
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Encapsulation theory and applications.pdf
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
cuic standard and advanced reporting.pdf
PDF
Machine learning based COVID-19 study performance prediction
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Approach and Philosophy of On baking technology
PPTX
MYSQL Presentation for SQL database connectivity
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Teaching material agriculture food technology
Mobile App Security Testing_ A Comprehensive Guide.pdf
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Review of recent advances in non-invasive hemoglobin estimation
A Presentation on Artificial Intelligence
Spectral efficient network and resource selection model in 5G networks
Encapsulation theory and applications.pdf
Building Integrated photovoltaic BIPV_UPV.pdf
Reach Out and Touch Someone: Haptics and Empathic Computing
Diabetes mellitus diagnosis method based random forest with bat algorithm
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
cuic standard and advanced reporting.pdf
Machine learning based COVID-19 study performance prediction
Advanced methodologies resolving dimensionality complications for autism neur...
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Understanding_Digital_Forensics_Presentation.pptx
Approach and Philosophy of On baking technology
MYSQL Presentation for SQL database connectivity

Why containers

  • 2. 2 | © InterSystems Corporation. All rights reserved. | Speed We Can’t Make the Horse Faster. If I had asked people what they wanted, they would have said faster horses. —Henry Ford
  • 3. 3 | © InterSystems Corporation. All rights reserved. |
  • 4. 4 | © InterSystems Corporation. All rights reserved. | What is a container?  It’s a Standardized, Portable & Runnable software bundle – the Image  that is Executed in Isolation & Resource Controlled – the Container
  • 5. 5 | © InterSystems Corporation. All rights reserved. | Docker Containers  A tool that can package and application and its runtime dependencies for deployment into a Linux Container.  Docker builds on Linux Containers & adds  API  Image format  Runtime user-space  Registry  There is already a standard: OCI v1 Linux Kernel cgroup namespace Images Container Docker
  • 6. 6 | © InterSystems Corporation. All rights reserved. | Docker run Docker Client Docker Engine holds Images Docker Hub & Docker Store Running Container
  • 7. 7 | © InterSystems Corporation. All rights reserved. | Docker build  Docker images  read only layers  built by hand or via Dockerfile  BYOContainer  Based on InterSystems’  Add App code  Add Key  Resolve dependencies  Configure Dockerfile Creation Build Docker Layer Docker Layer Docker Layer Container Image Pull Push Run
  • 8. 8 | © InterSystems Corporation. All rights reserved. | The Focus is on the Application  Portability  simplified App delivery  Standard Application Package  software runs always in the same way anywhere  Lightweight Operational Benefits  Minimal footprint; efficient run-time; fast start; fast shutdown; No OS worries  Efficient Isolation without Emulation  Dependencies Satisfied at Build time  Faster Iteration and Release Cycles  Better resource utilization / higher packing factor  Consistent & Repeatable Process
  • 9. 9 | © InterSystems Corporation. All rights reserved. | The Focus is on the Application  Separation of Concerns between  Code &  Data  Separation of Concerns between Artefact Phases (12-factor app)  Build Phase &  Run Phase  Embrace immutability vs mutating systems (No System Drift) BUILD RUN CODE DATA
  • 10. 10 | © InterSystems Corporation. All rights reserved. |  It’s another virtualization…  OK for microservices architectures (MSA)  I do Monolith... it ain’t for me I don’t buy it
  • 11. 11 | © InterSystems Corporation. All rights reserved. |  Packaging Docker images  Distribution Docker Registry  Execution Docker Engine Containers Solves a Lot of Problems
  • 12. 12 | © InterSystems Corporation. All rights reserved. | Product Delivery 1 Developer pushes commits Source Code Repository 2 Continuous Integration ?? 3 Deployment = Build and Test 7 code.xml code.rtn data.gbl script.sh config.params cache.cpf CACHE.DAT Code Bundle .rpm .tar.gz .msi CACHE.DAT Data Build ?? 4 Test ?? 5 Testing the App or Testing the Assembly of Components? OS version Patch Level Lib dependencies DB installation App dependencies Configuration Import Code Compile Code Copy .DAT Must do!
  • 13. 13 | © InterSystems Corporation. All rights reserved. | Continuous Delivery  Produce valuable and robust software in short cycles  Optimizing for feedback & learning  Not (necessarily) continuous deployment
  • 14. 14 | © InterSystems Corporation. All rights reserved. | Creation of a build pipeline is mandatory for continuous delivery
  • 15. 15 | © InterSystems Corporation. All rights reserved. | CI/CD with containers: Making your Dev env like Production 1 Developer pushes commits Source Code Repository Continuous Integration Service Image or Artefact Build Run Tests Push to Registry Deploy to Production Developers are notified 2 3 4 5 6 7 Containers become the build pipeline single-binary
  • 16. 16 | © InterSystems Corporation. All rights reserved. | Production Parity  The cost of fixing a bug exponentially increase the closer it gets to production  Docker allow us to mirror production environments by providing the same base-OS layer, packages, libraries, dependencies & configuration options:  all while giving users the flexibility to use their favorite platform to work on with their favorite IDE and browser.  Works where you work  Dev, Test, Pre-production, UAT, Production
  • 17. 17 | © InterSystems Corporation. All rights reserved. | Dockerfile  Docker provides the same  easy workflow regardless of your role as a developer, operator, or designer (DevOps)  It leverages a declarative configuration file which describes  all your application software requirements  packages & lib dependencies, users, and more.
  • 18. 19 | © InterSystems Corporation. All rights reserved. | 1
  • 19. 20 | © InterSystems Corporation. All rights reserved. | InterSystems has the passport! First-class citizens  isc-main  Durable %SYS
  • 20. 21 | © InterSystems Corporation. All rights reserved. | isc-main  Detachable container  Interrupts handling  Logs redirection  Powerful flags  before database startup  after database shutdown  key  instance name  routine  namespace  etc.
  • 21. 22 | © InterSystems Corporation. All rights reserved. | InterSystems-libs InterSystems Container Durable %SYS  System configuration durability  cache.cpf  cconsole.log  %SYS database  User credentials  Security Settings  etc.  WIJ  JRNs  etc. /dev/xvdb  /fast-reliable-FS/conf1.d %SYS -e ISC_DATA_DIRECTORY=/cachesys/conf1.d -v /fast-reliable-FS:/cachesys InterSystems-libs InterSystems Container v.2
  • 22. 23 | © InterSystems Corporation. All rights reserved. | $ docker run –d –e ISC_DATA_DIRECTORY=/cachesys/conf1.d –v /fast-reliable-FS:/cachesys -v /myAppDB:/DB -p 57772:57772 –p 1972:1972 myapp-container:v1 Typical Example Durable %SYS Linux Host /boot /etc /usr /myAppDB /dev /opt /fast-reliable-FS/conf1.d myapp-container:v1 /DB /cachesys/conf1.d
  • 23. 25 | © InterSystems Corporation. All rights reserved. | Bedtime Reading

Editor's Notes

  • #6: Docker effectively has defined a the de-facto standard of the artefact & runtime of an application
  • #13: We have the code in a source control repo –if we are lucky (in 80% of the cases it’s in a CACHE.DAT and we have the issue of creating the project that identifies the new app feature or just apply the ”move it all” approach) One we have identified the code for the new release how do we make sure it gets integrated for the new version? 1 single XML file output? Wat if I have some pseudo-static data that I need to import AND we said we’ll try to separate Code & Data? Then I would need a second file… maybe just a data.gbl file to be imported. If we have the above scenario I should then develop a script that handles the installation. Would bash be sufficient or do I need to develop one in PowerShell because we have MS-Windows based customers? We use ECP and I’d like some particular settings in my CPF file... etc. An alternative would be to ship our code in a CACHE.DAT. Obvioulsy we’d have to syncrnonize with the installed DB version, the configuration params, the system dependencies, etc. As we can apprecaite we do NOT have a BUILD phase in a scenario like the above. Q: What does our QA department do then? It appears that firstly it tests the assembly of components, THEN the actuall functional aspects of the application. In general it appears to be the best suited team to deliver the marching ORDERS on how to run a successful installation. The list is long and the dependencies many. Although it’s true that we could build a VMware image, the format is not portable, driven by a standard nor free. The other point is that with all those “Marching Orders”, No developer in his or her right mind would go through that Specialistic sys-admin process to have it setup on his or her workstation. They could however have the Vmware image but it comes at a license cost, size cost, time cost and resources cost (a VM machine is much heavier on a laptop/workstation in resources than a container where I could have more than a dozen without any problem) We could argue that Cm (confuguration Management) tools can help us. Indeed, born at the end of the 1° decade of year 2000, they can help. However, they do not help us in separating and distinguishing between the BUILD phase and the RUN phase of an app. On the contrary, they run the same process; they incur in system drifet as we move between environemnts AND over time and we cannot guarantee that the whole solution we are running is exactly the same. On the other hand if I build my image in my CI/CD process, then I have an artefact (container if you prefer) that is portable, can run on any cloud and is guranteed to work because all dependencies were satisdied at BUILD time. IOW we do NOT build our solution on the Production environment. We build it where we have time to fine-tune our build process, verify our dependencies etc. Once it’d built, the whole organization can quickly use it + test it etc. Once it is promoted for Production use, the solution has been well tested but –more to the point, we all know EXACTLY what is contains. There cannot be system drifts by definition. It’s a reproduceable EXACT process. There are no CMs tools or humans involved. That guarantee (together with many other aspects fo it like its lightness, a standard API that is ubiquotous) is what makes people look at it (and use it) with much interest.
  • #16: Bottom line, using containers allows us to satisfy all dependencies needed by our service or application within that package. No more shell scripts, Ansible YML definitions, Chef’s recipes or my best system administrator to save the day in production. No, now we know exactly WHAT is running (software packages, libraries, versions…) & HOW it is configured Containers have been replacing CM (configuration management tools steadily). From the slide and from what we are saying it should be clear that there are at least 2 important phases in provisioning software: (a) BUILD and (b) RUN phase and this allow our customer to look at IaC (infrastructure as code) and immutable infrastructure with all their merits.