SlideShare a Scribd company logo
1 of 44
Download to read offline
Building images for OpenShift
Frédéric Giloux, Shrish Srivastava
Consulting
Tuesday September 26, 2017
1
INTRODUCTION
2
PRESENTERS
Frédéric Giloux, Shrish Srivastava, Consulting
AIM OF THE SESSION
Container image creation – best practices
FORMAT
2 ways session / Hands-on
3
AGENDA
RHTE EMEA 2017
GOALS
●
IMMUTABLE / REPRODUCIBLE
●
SOE / COMPLIANT
●
REUSABLE / MAINTAINABLE
STRATEGIES
●
GOLDEN IMAGE
●
IMAGE HIERARCHY
GUIDELINES
IN PRACTICE
●
RESOURCE EFFICIENT
●
SECURE
●
RESILIENT
●
BUILDERS
●
RUNTIME ONLY
4
GOALS
5
GOALS
Immutable
Build once and promote between stages
●
Integration
●
Functional, performance, soak tests
●
Pre-production
●
Production
CONFIDENCE !
Operating
System
Application
Libraries
Configuration
6
GOALS
Reproducible
Subsequent builds should produce the
same result. Reference for:
●
Patches
●
Upgrades
●
Further evolution
CONFIDENCE !
7
GOALS
Agile Standard Operating Environment
Common OS, libraries, application
servers, configuration
➔ Time and cost reduction for setup and
maintenance
➔ Known, expected and supportable
environment
➔ Compliance made easy
➔ Easier to staff Operating
System
Application
Libraries
Configuration
SOE
8
GOALS
Reusable
Common layers for:
●
Libraries
●
Frameworks
●
Application servers
●
Drivers
●
Etc.
DO THE WORK ONCE!
9
GOALS
Maintainable
Central point for:
●
Bug fixes
●
Security patches
OS fixes provided by the distribution
Automated and instant rollout
STAY UP TO DATE!
10
GOALS
Resource efficient
Minimize consumption of:
●
RAM / CPU
●
Storage
Adapt to resources available
REDUCE INFRA COST!
11
GOALS
Secure
Reduce attack surface to protect
●
Applications
●
Containers
●
Hosts
SAFETY!
12
GOALS
Resilient
The container and application should
report to the orchestration layer their:
●
Readiness to process queries
●
Own health
The container and application should:
●
Gracefully shutdown on a SIGTERM
SELF HEALING!
13
GOALS
Others
Other goals?
●
Your input!
OTHER BENEFITS?
?
14
STRATEGIES
15
STRATEGIES
Golden image
The application image is built once and
promoted. It requires clear separation
between:
●
Generic aspects
●
Environment specifics
IMMUTABLE!
16
STRATEGIES
Image hierarchy
Layered images:
●
Operating system
●
Libraries
●
Application server
●
Application
REUSABLE!
MAINTAINABLE!
17
STRATEGIES
Image source
Not everything is an inverted tree!
Image source provides multiple
dependencies / inheritance
●
Keep dependencies in a central point
●
Share them across images at build time
REUSABLE!
MAINTAINABLE!
18
STRATEGIES
Docker build
Defined through a Dockerfile
●
Support for inheritance
●
Flexible “poor” batch like syntax
●
On or out of OpenShift
●
Dependencies should be provided as
part of the build context.
19
STRATEGIES
S2I build
Build logic provided by the builder image
●
Sources either from git or streamed
to the builder image
●
Build scripts configurable through
environment variables
●
Configuration files or custom scripts
can be injected from sources repo
source build binary build
S2I
20
STRATEGIES
S2I vs docker build
Aspect Docker build S2I
User switch between
users
UID defined in the
image
Rights security hazard
(multi-tenancy)
rights controlled by
UID
Image
layers
one per line a single additional
layer
Ease of
use
dockerfile
syntax required
simple configuration
OPENSHIFT
21
STRATEGIES
S2I vs docker build
Docker builds
●
Provide to “super users” the flexibility
for creating base images
S2I
●
Factory for creating SOE compliant final
images in a secure and repeatable way
OPENSHIFT
22
STRATEGIES
Ansible container
Similar to traditional virtual machines or
bare-metal
●
Describe the application in a single
YAML file
●
Reuse existing Ansible content
●
Uses docker engine, Kubernetes or
OpenShift under the hood
23
STRATEGIES
Buildah
OCI / docker containers in a snap
●
Does not require a runtime → no special
privilege required
●
Support OCI and docker format
●
Mount a working container’s root file
system for manipulation
●
Full bash power
●
No tooling required inside the container
24
STRATEGIES
Which distro?
A key choice for a supported lifecycle
Considerations
●
Architecture
●
Security
●
Testing
Options
●
Traditional: RHEL / Debian
●
Light: Atomic / Alpine
●
Distroless / Go statically linked binaries
By
25
STRATEGIES
Separate build and runtime images
Build time:
●
Build tool: maven, gradle, etc.
●
Compiler: GCC, JDK, etc.
●
Credentials for accessing libraries
EFFICIENT!
SECURE!
26
STRATEGIES
Chaining builds
S2I Builder
Image
Image with
Binaries
Dockerfile
Sources
S2I Build
Runtime
Image
Runtime
Image with
Artifacts
Docker Build
with Image
Source
1st
build 2nd
build
27
STRATEGIES
Others
Other Strategies?
●
Your input!
OTHER BENEFITS?
?
28
GUIDELINES
29
GUIDELINES
Versions
Image versions
●
Maintain backward compatibility within a tag for downstream consumers
●
Use version hierarchies, example rhel7/rhel:
7.4-81 / 7.4 / latest
7.3-97 / 7.3
7.3-95
7.3-82
...
30
GUIDELINES
Documentation
Document your images
● Provide templates for easy consumption
● Use metadata / labels / maintainer information
● Expose important ports
● Expose volumes
● Set environment variables (JAVA_HOME for instance)
31
GUIDELINES
Documentation (2)
Env
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
container=oci
Cmd
/bin/bash
Labels
com.redhat.component rhel-server-docker
authoritative-source-url registry.access.redhat.com
distribution-scope public
vendor Red Hat, Inc.
description The Red Hat Enterprise Linux Base image...
[...]
rhel7/rhel
32
GUIDELINES
Processes
Design considerations
● Avoid multiple processes inside a single container
● Collocate inside a pod if required (shared network and storage for comm.)
● Use systemd if it has to be
➔ OpenShift monitors one process
➔ Signal handling is easier
33
GUIDELINES
Security
Mind the following
● Avoid sshd (docker / oc exec can be used instead)
● Avoid sudo (unpredictable TTY and signal-forwarding behavior)
● Support arbitrary user ids (NSS wrapper can be used for user mapping)
● Avoid setting default passwords
34
GUIDELINES
Security (2)
And the following
● Keep your image up-to-date (use OpenSCAP for monitoring vulnerabilities)
● GPG sign your images
● Limit the attack surface with run time only images
35
GUIDELINES
Base images
When you create a base image
● Don’t reinvent the wheel use FROM
● Use volumes for persistent data, emptyDir and make read only everything else
● Provide file and directory access through gid 0
● Do not listen on ports under 1024
● Synchronize timezone
● Consider squashing
36
GUIDELINES
Base images (2)
When you create a base image
●
Provide common libraries in base images (size vs reuse)
●
Allow extension points at build and run time
●
Use env variables and mounts for run time configuration
●
Adapt to resources CPU / RAM
37
GUIDELINES
Static content
Where should you pack static content?
Depending on whether the release process for static content is bound to the
application image you may:
●
Rebuild the image and use image sourcing for code / content segregation
●
Mount a network share with it at run time
38
GUIDELINES
Docker specifics
In your Dockerfile:
●
Avoid yum update (not idempotent)
●
Chain commands in a line for single layer creation
●
Clean temporary files (in the same line)
●
Mind the order of the instructions (most stable at the top)
●
Have a user statement at the end (prefer UIDs rather than user names)
●
Don’t use docker commit (not reproducible)
39
GUIDELINES
Builder images
Things to consider with builder images
●
Enable image for S2I
●
Remember the golden image strategy and provide the possibility to inject
environment specific configuration at run time
●
Pre-populate repositories (maven) used during builds for quicker processing
●
Repeatable: Control the environment
●
Give a thought on clustering aspects
40
GUIDELINES
Builder images (2)
External builds
●
Support streaming artifacts into the S2I image
●
Support retrieving versioned artifacts from a company repository
●
Support packaging pre-built artifacts into the image
41
GUIDELINES
Run time images
Things to consider with run time images
●
Limit the attack surface (as mentioned in regard of security)
●
Write logs to standard output (not file system)
●
Provide liveness, readiness probes
●
Support graceful shutdowns
●
Use exec in wrapper scripts
42
GUIDELINES
Others?
Other Guidelines?
●
Your input!
OTHER BENEFITS?
?
43
IN PRACTICE
CONFIDENTIAL - NDA REQUIRED

More Related Content

What's hot

EclipseCon Eu 2012 - Buildroot Eclipse Bundle : A powerful IDE for Embedded L...
EclipseCon Eu 2012 - Buildroot Eclipse Bundle : A powerful IDE for Embedded L...EclipseCon Eu 2012 - Buildroot Eclipse Bundle : A powerful IDE for Embedded L...
EclipseCon Eu 2012 - Buildroot Eclipse Bundle : A powerful IDE for Embedded L...
melbats
 

What's hot (20)

Ostd.ksplice.talk
Ostd.ksplice.talkOstd.ksplice.talk
Ostd.ksplice.talk
 
Docker-Vancouver Meetup - March 18, 2014 - An Introduction to Docker
Docker-Vancouver Meetup - March 18, 2014 - An Introduction to DockerDocker-Vancouver Meetup - March 18, 2014 - An Introduction to Docker
Docker-Vancouver Meetup - March 18, 2014 - An Introduction to Docker
 
adp.ceph.openstack.talk
adp.ceph.openstack.talkadp.ceph.openstack.talk
adp.ceph.openstack.talk
 
Qt 6 Chat - Are You Ready?
Qt 6 Chat - Are You Ready?Qt 6 Chat - Are You Ready?
Qt 6 Chat - Are You Ready?
 
JOSA TechTalks - Docker in Production
JOSA TechTalks - Docker in ProductionJOSA TechTalks - Docker in Production
JOSA TechTalks - Docker in Production
 
Kernel Recipes 2016 - Control Group Status Update
Kernel Recipes 2016 -  Control Group Status UpdateKernel Recipes 2016 -  Control Group Status Update
Kernel Recipes 2016 - Control Group Status Update
 
EclipseCon Eu 2012 - Buildroot Eclipse Bundle : A powerful IDE for Embedded L...
EclipseCon Eu 2012 - Buildroot Eclipse Bundle : A powerful IDE for Embedded L...EclipseCon Eu 2012 - Buildroot Eclipse Bundle : A powerful IDE for Embedded L...
EclipseCon Eu 2012 - Buildroot Eclipse Bundle : A powerful IDE for Embedded L...
 
Docker cloud
Docker cloudDocker cloud
Docker cloud
 
kpatch.kgraft
kpatch.kgraftkpatch.kgraft
kpatch.kgraft
 
Introduction to Docker - Getting Started with Docker
Introduction to Docker - Getting Started with DockerIntroduction to Docker - Getting Started with Docker
Introduction to Docker - Getting Started with Docker
 
Hello, Docker!
Hello, Docker!Hello, Docker!
Hello, Docker!
 
LCE13: Android Graphics Upstreaming
LCE13: Android Graphics UpstreamingLCE13: Android Graphics Upstreaming
LCE13: Android Graphics Upstreaming
 
S0333 gtc2012-gmac-programming-cuda
S0333 gtc2012-gmac-programming-cudaS0333 gtc2012-gmac-programming-cuda
S0333 gtc2012-gmac-programming-cuda
 
For the Love of Tux: Linux on RISC-V
For the Love of Tux: Linux on RISC-VFor the Love of Tux: Linux on RISC-V
For the Love of Tux: Linux on RISC-V
 
PostgreSQL Setup Using Docker
PostgreSQL Setup Using DockerPostgreSQL Setup Using Docker
PostgreSQL Setup Using Docker
 
KUDO - Kubernetes Operators, the easy way
KUDO - Kubernetes Operators, the easy wayKUDO - Kubernetes Operators, the easy way
KUDO - Kubernetes Operators, the easy way
 
GIDS 2020 - Unpacking the Container
GIDS 2020 - Unpacking the ContainerGIDS 2020 - Unpacking the Container
GIDS 2020 - Unpacking the Container
 
Introduction to Docker Container
Introduction to Docker ContainerIntroduction to Docker Container
Introduction to Docker Container
 
Docker off the grid
Docker off the gridDocker off the grid
Docker off the grid
 
Deploying an Open Source DAM in SAAS Mode (European Drupal Days 2015)
Deploying an Open Source DAM in SAAS Mode (European Drupal Days 2015)Deploying an Open Source DAM in SAAS Mode (European Drupal Days 2015)
Deploying an Open Source DAM in SAAS Mode (European Drupal Days 2015)
 

Similar to Container images for OpenShift

Scale Big With Docker — Moboom 2014
Scale Big With Docker — Moboom 2014Scale Big With Docker — Moboom 2014
Scale Big With Docker — Moboom 2014
Jérôme Petazzoni
 

Similar to Container images for OpenShift (20)

Podman, Buildah, and Quarkus - The Latest in Linux Containers Technologies
Podman, Buildah, and Quarkus - The Latest in Linux Containers Technologies Podman, Buildah, and Quarkus - The Latest in Linux Containers Technologies
Podman, Buildah, and Quarkus - The Latest in Linux Containers Technologies
 
Why Users Are Moving on from Docker and Leaving Its Security Risks Behind (Sp...
Why Users Are Moving on from Docker and Leaving Its Security Risks Behind (Sp...Why Users Are Moving on from Docker and Leaving Its Security Risks Behind (Sp...
Why Users Are Moving on from Docker and Leaving Its Security Risks Behind (Sp...
 
Instant developer onboarding with self contained repositories
Instant developer onboarding with self contained repositoriesInstant developer onboarding with self contained repositories
Instant developer onboarding with self contained repositories
 
Docker on Power Systems
Docker on Power SystemsDocker on Power Systems
Docker on Power Systems
 
Survey of Container Build Tools
Survey of Container Build ToolsSurvey of Container Build Tools
Survey of Container Build Tools
 
OSDC 2018 | Highly Available Cloud Foundry on Kubernetes by Cornelius Schumacher
OSDC 2018 | Highly Available Cloud Foundry on Kubernetes by Cornelius SchumacherOSDC 2018 | Highly Available Cloud Foundry on Kubernetes by Cornelius Schumacher
OSDC 2018 | Highly Available Cloud Foundry on Kubernetes by Cornelius Schumacher
 
Best Practices for Developing & Deploying Java Applications with Docker
Best Practices for Developing & Deploying Java Applications with DockerBest Practices for Developing & Deploying Java Applications with Docker
Best Practices for Developing & Deploying Java Applications with Docker
 
gVisor, Kata Containers, Firecracker, Docker: Who is Who in the Container Space?
gVisor, Kata Containers, Firecracker, Docker: Who is Who in the Container Space?gVisor, Kata Containers, Firecracker, Docker: Who is Who in the Container Space?
gVisor, Kata Containers, Firecracker, Docker: Who is Who in the Container Space?
 
Singularity: The Inner Workings of Securely Running User Containers on HPC Sy...
Singularity: The Inner Workings of Securely Running User Containers on HPC Sy...Singularity: The Inner Workings of Securely Running User Containers on HPC Sy...
Singularity: The Inner Workings of Securely Running User Containers on HPC Sy...
 
Duke Docker Day 2014: Research Applications with Docker
Duke Docker Day 2014: Research Applications with DockerDuke Docker Day 2014: Research Applications with Docker
Duke Docker Day 2014: Research Applications with Docker
 
StorageOS, Storage for Containers Shouldn't Be Annoying at Container Camp UK
StorageOS, Storage for Containers Shouldn't Be Annoying at Container Camp UKStorageOS, Storage for Containers Shouldn't Be Annoying at Container Camp UK
StorageOS, Storage for Containers Shouldn't Be Annoying at Container Camp UK
 
docker
dockerdocker
docker
 
[20200720]cloud native develoment - Nelson Lin
[20200720]cloud native develoment - Nelson Lin[20200720]cloud native develoment - Nelson Lin
[20200720]cloud native develoment - Nelson Lin
 
O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...
O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...
O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...
 
Run automated tests in Docker
Run automated tests in DockerRun automated tests in Docker
Run automated tests in Docker
 
The internals and the latest trends of container runtimes
The internals and the latest trends of container runtimesThe internals and the latest trends of container runtimes
The internals and the latest trends of container runtimes
 
OpenShift Commons - Adopting Podman, Skopeo and Buildah for Building and Mana...
OpenShift Commons - Adopting Podman, Skopeo and Buildah for Building and Mana...OpenShift Commons - Adopting Podman, Skopeo and Buildah for Building and Mana...
OpenShift Commons - Adopting Podman, Skopeo and Buildah for Building and Mana...
 
Scale Big With Docker — Moboom 2014
Scale Big With Docker — Moboom 2014Scale Big With Docker — Moboom 2014
Scale Big With Docker — Moboom 2014
 
Getting started with docker (2017)
Getting started with docker (2017)Getting started with docker (2017)
Getting started with docker (2017)
 
Docker up and Running For Web Developers
Docker up and Running For Web DevelopersDocker up and Running For Web Developers
Docker up and Running For Web Developers
 

Recently uploaded

%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
masabamasaba
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
masabamasaba
 

Recently uploaded (20)

Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
 

Container images for OpenShift