SlideShare a Scribd company logo
RPM Packaging
How software delivery works and why RPM packaging is more current than ever
Fabio Alessandro Locati
26 October 2016
Outline
Intro
Deployments
RPM Processes
RPM and Docker
1
Intro
About me
2
About me
• RPM user since 2001
2
About me
• RPM user since 2001
• IT Consultant since 2004
2
About me
• RPM user since 2001
• IT Consultant since 2004
• RPMs creator since 2013
2
Deployment in the past
3
Deployment in the past
• Mayority of application needed to be deployed on a single system
3
Deployment in the past
• Mayority of application needed to be deployed on a single system
• Annual/Bi-annual
3
Deployment in the past
• Mayority of application needed to be deployed on a single system
• Annual/Bi-annual
• All hands on deck
3
Deployment in the past
• Mayority of application needed to be deployed on a single system
• Annual/Bi-annual
• All hands on deck
• Devs ready to patch
3
Deployment in the past
• Mayority of application needed to be deployed on a single system
• Annual/Bi-annual
• All hands on deck
• Devs ready to patch
• Ops ready to deploy work-around
3
Deployment in the past
• Mayority of application needed to be deployed on a single system
• Annual/Bi-annual
• All hands on deck
• Devs ready to patch
• Ops ready to deploy work-around
• Usually performed during night-time
3
Deployment in the past
• Mayority of application needed to be deployed on a single system
• Annual/Bi-annual
• All hands on deck
• Devs ready to patch
• Ops ready to deploy work-around
• Usually performed during night-time
• Hours of downtime
3
Deployment in the past
• Mayority of application needed to be deployed on a single system
• Annual/Bi-annual
• All hands on deck
• Devs ready to patch
• Ops ready to deploy work-around
• Usually performed during night-time
• Hours of downtime
• Very expensive deployments
3
Today expectations
4
Today expectations
• Deploy multiple times every day
4
Today expectations
• Deploy multiple times every day
• Cheap deployments
4
Today expectations
• Deploy multiple times every day
• Cheap deployments
• No down time
4
Today expectations
• Deploy multiple times every day
• Cheap deployments
• No down time
• Need of mass deployment (tens/hundreds/thousands of systems)
4
Today expectations
• Deploy multiple times every day
• Cheap deployments
• No down time
• Need of mass deployment (tens/hundreds/thousands of systems)
• Horizontal (dynamic) scalability
4
Deployments
Items that could be involved in deployments
5
Items that could be involved in deployments
• Code
5
Items that could be involved in deployments
• Code
• Source Control System (SCM): git, hg, svn, cvs
5
Items that could be involved in deployments
• Code
• Source Control System (SCM): git, hg, svn, cvs
• Build system: Koji, Jenkins, Shell
5
Items that could be involved in deployments
• Code
• Source Control System (SCM): git, hg, svn, cvs
• Build system: Koji, Jenkins, Shell
• Software packaging system: RPM, DEB, Docker, WAR, generic archive
5
Items that could be involved in deployments
• Code
• Source Control System (SCM): git, hg, svn, cvs
• Build system: Koji, Jenkins, Shell
• Software packaging system: RPM, DEB, Docker, WAR, generic archive
• Test system: Bodhi, Jenkins
5
Items that could be involved in deployments
• Code
• Source Control System (SCM): git, hg, svn, cvs
• Build system: Koji, Jenkins, Shell
• Software packaging system: RPM, DEB, Docker, WAR, generic archive
• Test system: Bodhi, Jenkins
• Environment packaging system: Docker, PyEnv
5
Items that could be involved in deployments
• Code
• Source Control System (SCM): git, hg, svn, cvs
• Build system: Koji, Jenkins, Shell
• Software packaging system: RPM, DEB, Docker, WAR, generic archive
• Test system: Bodhi, Jenkins
• Environment packaging system: Docker, PyEnv
• Orchestration tool: Ansible, Puppet, Salt, Chef, Kubernetes
5
Items that could be involved in deployments
• Code
• Source Control System (SCM): git, hg, svn, cvs
• Build system: Koji, Jenkins, Shell
• Software packaging system: RPM, DEB, Docker, WAR, generic archive
• Test system: Bodhi, Jenkins
• Environment packaging system: Docker, PyEnv
• Orchestration tool: Ansible, Puppet, Salt, Chef, Kubernetes
• Execution environment: Native OS, OpenStack, OpenShift, Docker, runc
5
RPM as software packaging system
6
RPM as software packaging system
• Advantages
6
RPM as software packaging system
• Advantages
• Very well known format
6
RPM as software packaging system
• Advantages
• Very well known format
• Open Standard
6
RPM as software packaging system
• Advantages
• Very well known format
• Open Standard
• Clear distinction between compile environment and run environment
6
RPM as software packaging system
• Advantages
• Very well known format
• Open Standard
• Clear distinction between compile environment and run environment
• Easy to integrate with any kind of environment
6
RPM as software packaging system
• Advantages
• Very well known format
• Open Standard
• Clear distinction between compile environment and run environment
• Easy to integrate with any kind of environment
• Very good at resolving dependencies
6
RPM as software packaging system
• Advantages
• Very well known format
• Open Standard
• Clear distinction between compile environment and run environment
• Easy to integrate with any kind of environment
• Very good at resolving dependencies
• Checksum of all files
6
RPM as software packaging system
• Advantages
• Very well known format
• Open Standard
• Clear distinction between compile environment and run environment
• Easy to integrate with any kind of environment
• Very good at resolving dependencies
• Checksum of all files
• Very rigid policies
6
RPM as software packaging system
• Advantages
• Very well known format
• Open Standard
• Clear distinction between compile environment and run environment
• Easy to integrate with any kind of environment
• Very good at resolving dependencies
• Checksum of all files
• Very rigid policies
• Disadvantages
6
RPM as software packaging system
• Advantages
• Very well known format
• Open Standard
• Clear distinction between compile environment and run environment
• Easy to integrate with any kind of environment
• Very good at resolving dependencies
• Checksum of all files
• Very rigid policies
• Disadvantages
• Heavily connected with RPM-based distro (Fedora, RHEL, OEL, SLES, OpenSUSE,
CentOS, SL)
6
RPM as software packaging system
• Advantages
• Very well known format
• Open Standard
• Clear distinction between compile environment and run environment
• Easy to integrate with any kind of environment
• Very good at resolving dependencies
• Checksum of all files
• Very rigid policies
• Disadvantages
• Heavily connected with RPM-based distro (Fedora, RHEL, OEL, SLES, OpenSUSE,
CentOS, SL)
• Very rigid policies
6
RPM components
7
RPM components
• SPEC file
7
RPM components
• SPEC file
• Sources files (at least 1)
7
RPM components
• SPEC file
• Sources files (at least 1)
• Patches (eventually)
7
RPM Processes
RPM build process
8
RPM build process
• Fetch of the SPEC file
8
RPM build process
• Fetch of the SPEC file
• Fetch of sources/patches
8
RPM build process
• Fetch of the SPEC file
• Fetch of sources/patches
• Creation of the .src.rpm file
8
RPM build process
• Fetch of the SPEC file
• Fetch of sources/patches
• Creation of the .src.rpm file
• Creation of binaries .rpm files
8
Fedora pipeline
9
Fedora pipeline
• SPEC file, additional sources, and patches in git repo
9
Fedora pipeline
• SPEC file, additional sources, and patches in git repo
• Upstream source in cache system
9
Fedora pipeline
• SPEC file, additional sources, and patches in git repo
• Upstream source in cache system
• Build in Koji
9
Fedora pipeline
• SPEC file, additional sources, and patches in git repo
• Upstream source in cache system
• Build in Koji
• Promotion to Bodhi testing branch
9
Fedora pipeline
• SPEC file, additional sources, and patches in git repo
• Upstream source in cache system
• Build in Koji
• Promotion to Bodhi testing branch
• Automated tests by Bodhi and AutoQA
9
Fedora pipeline
• SPEC file, additional sources, and patches in git repo
• Upstream source in cache system
• Build in Koji
• Promotion to Bodhi testing branch
• Automated tests by Bodhi and AutoQA
• Manual testing
9
Fedora pipeline
• SPEC file, additional sources, and patches in git repo
• Upstream source in cache system
• Build in Koji
• Promotion to Bodhi testing branch
• Automated tests by Bodhi and AutoQA
• Manual testing
• Promotion to Bodhi stable branch
9
Example RPM pipeline 1
10
Example RPM pipeline 1
• SPEC file, additional sources, and patches in git repo
10
Example RPM pipeline 1
• SPEC file, additional sources, and patches in git repo
• Build in Koji
10
Example RPM pipeline 1
• SPEC file, additional sources, and patches in git repo
• Build in Koji
• Promotion to Bodhi testing branch
10
Example RPM pipeline 1
• SPEC file, additional sources, and patches in git repo
• Build in Koji
• Promotion to Bodhi testing branch
• Automated tests by Bodhi and AutoQA
10
Example RPM pipeline 1
• SPEC file, additional sources, and patches in git repo
• Build in Koji
• Promotion to Bodhi testing branch
• Automated tests by Bodhi and AutoQA
• Manual testing
10
Example RPM pipeline 1
• SPEC file, additional sources, and patches in git repo
• Build in Koji
• Promotion to Bodhi testing branch
• Automated tests by Bodhi and AutoQA
• Manual testing
• Promotion to Bodhi stable branch
10
Example RPM pipeline 1
• SPEC file, additional sources, and patches in git repo
• Build in Koji
• Promotion to Bodhi testing branch
• Automated tests by Bodhi and AutoQA
• Manual testing
• Promotion to Bodhi stable branch
• Simple upgrade of live system (yum update -y PACKAGE)
10
Example RPM pipeline 2
11
Example RPM pipeline 2
• SPEC file, additional sources, and patches in git repo
11
Example RPM pipeline 2
• SPEC file, additional sources, and patches in git repo
• Build in Koji
11
Example RPM pipeline 2
• SPEC file, additional sources, and patches in git repo
• Build in Koji
• Creation of a Docker image
11
Example RPM pipeline 2
• SPEC file, additional sources, and patches in git repo
• Build in Koji
• Creation of a Docker image
• Automated tests
11
Example RPM pipeline 2
• SPEC file, additional sources, and patches in git repo
• Build in Koji
• Creation of a Docker image
• Automated tests
• Manual testing
11
Example RPM pipeline 2
• SPEC file, additional sources, and patches in git repo
• Build in Koji
• Creation of a Docker image
• Automated tests
• Manual testing
• Propagate the new Docker image
11
RPM and Docker
RPM and Docker
12
RPM and Docker
• RPM work very well in Docker environments
12
RPM and Docker
• RPM work very well in Docker environments
• Installing RPMs allow a cleaner Docker file and image
12
RPM and Docker
• RPM work very well in Docker environments
• Installing RPMs allow a cleaner Docker file and image
• RPMs can be deployed within or without Docker
12
Docker example
RUN dnf install -y tar make gcc ruby ruby-devel rubygems graphviz 
rubygem-nokogiri unzip findutils which wget python-devel 
zlib-devel libjpeg-devel redhat-rpm-config patch 
&& dnf clean packages 
&& gem install --no-ri --no-rdoc asciidoctor --version 
$ASCIIDOCTOR_VERSION 
&& gem install --no-ri --no-rdoc asciidoctor-pdf --version 
1.5.0.alpha.11 
&& gem install --no-ri --no-rdoc slim 
&& (curl -LkSs https://api.github.com/repos/asciidoctor 
| tar xfz - -C $BACKENDS --strip-components=1) 
&& wget https://bitbucket.org/pypa/setuptools/raw/bootstrap 
-O - | python  13
Docker example with RPM
RUN dnf install -y rubygem-asciidoctor-pdf 
&& dnf clean packages
14
Size of the images
• Fedora base image: 204MB
15
Size of the images
• Fedora base image: 204MB
• First image: 776MB
15
Size of the images
• Fedora base image: 204MB
• First image: 776MB
• Second image: 238MB
15
Additional resources
• Laboratorio ICT, 14:00 - Come pacchettizzare applicazioni in formato RPM
• Slides: https://slides.fale.io/20161026-en-rpm.pdf
• Official website: http://rpm.org
• Fedora guide: https://fedoraproject.org/wiki/How_to_create_an_RPM_package
• RPM Guide: http://rpm-guide.readthedocs.io
16

More Related Content

What's hot

Making sense of Apache Bigtop's role in ODPi and how it matters to Apache Apex
Making sense of Apache Bigtop's role in ODPi and how it matters to Apache ApexMaking sense of Apache Bigtop's role in ODPi and how it matters to Apache Apex
Making sense of Apache Bigtop's role in ODPi and how it matters to Apache Apex
Apache Apex
 
Streaming 101: Hello World
Streaming 101:  Hello WorldStreaming 101:  Hello World
Streaming 101: Hello World
Josh Fischer
 
Devcon hh-2012
Devcon hh-2012Devcon hh-2012
Devcon hh-2012
Pierre Joye
 
Redis in a Multi Tenant Environment–High Availability, Monitoring & Much More!
Redis in a Multi Tenant Environment–High Availability, Monitoring & Much More! Redis in a Multi Tenant Environment–High Availability, Monitoring & Much More!
Redis in a Multi Tenant Environment–High Availability, Monitoring & Much More!
Redis Labs
 
Intro ipcberlin2012
Intro ipcberlin2012Intro ipcberlin2012
Intro ipcberlin2012Pierre Joye
 
Introduction to git
Introduction to gitIntroduction to git
Introduction to git
Randal Schwartz
 
Hacking on WildFly 9
Hacking on WildFly 9Hacking on WildFly 9
Hacking on WildFly 9
Virtual JBoss User Group
 
How bigtop leveraged docker for build automation and one click hadoop provis...
How bigtop leveraged docker for build automation and  one click hadoop provis...How bigtop leveraged docker for build automation and  one click hadoop provis...
How bigtop leveraged docker for build automation and one click hadoop provis...
Evans Ye
 
Tips from Support: Always Carry a Towel and Don’t Panic!
Tips from Support: Always Carry a Towel and Don’t Panic!Tips from Support: Always Carry a Towel and Don’t Panic!
Tips from Support: Always Carry a Towel and Don’t Panic!
Perforce
 
An introduction to git
An introduction to gitAn introduction to git
An introduction to git
olberger
 
Open Source Tools for Leveling Up Operations FOSSET 2014
Open Source Tools for Leveling Up Operations FOSSET 2014Open Source Tools for Leveling Up Operations FOSSET 2014
Open Source Tools for Leveling Up Operations FOSSET 2014Mandi Walls
 
XFLTReat: a new dimension in tunnelling
XFLTReat:  a new dimension in tunnellingXFLTReat:  a new dimension in tunnelling
XFLTReat: a new dimension in tunnelling
Shakacon
 
What's new in FreeBSD 10
What's new in FreeBSD 10What's new in FreeBSD 10
What's new in FreeBSD 10
Gleb Smirnoff
 
SaltConf14 - Craig Sebenik, LinkedIn - SaltStack at Web Scale
SaltConf14 - Craig Sebenik, LinkedIn - SaltStack at Web ScaleSaltConf14 - Craig Sebenik, LinkedIn - SaltStack at Web Scale
SaltConf14 - Craig Sebenik, LinkedIn - SaltStack at Web Scale
SaltStack
 
Introduction to Git
Introduction to GitIntroduction to Git
Introduction to Git
atishgoswami
 
OSDC 2016 - Continous Integration in Data Centers - Further 3 Years later by ...
OSDC 2016 - Continous Integration in Data Centers - Further 3 Years later by ...OSDC 2016 - Continous Integration in Data Centers - Further 3 Years later by ...
OSDC 2016 - Continous Integration in Data Centers - Further 3 Years later by ...
NETWAYS
 
Mini git tutorial
Mini git tutorialMini git tutorial
Mini git tutorial
Cristian Lucchesi
 
Chef & OpenStack: OSCON 2014
Chef & OpenStack: OSCON 2014Chef & OpenStack: OSCON 2014
Chef & OpenStack: OSCON 2014
Matt Ray
 
Git Presentation
Git PresentationGit Presentation
Git Presentation
Prem Aseem Jain
 
Nagios Conference 2012 - Mike Weber - Failover
Nagios Conference 2012 - Mike Weber - FailoverNagios Conference 2012 - Mike Weber - Failover
Nagios Conference 2012 - Mike Weber - Failover
Nagios
 

What's hot (20)

Making sense of Apache Bigtop's role in ODPi and how it matters to Apache Apex
Making sense of Apache Bigtop's role in ODPi and how it matters to Apache ApexMaking sense of Apache Bigtop's role in ODPi and how it matters to Apache Apex
Making sense of Apache Bigtop's role in ODPi and how it matters to Apache Apex
 
Streaming 101: Hello World
Streaming 101:  Hello WorldStreaming 101:  Hello World
Streaming 101: Hello World
 
Devcon hh-2012
Devcon hh-2012Devcon hh-2012
Devcon hh-2012
 
Redis in a Multi Tenant Environment–High Availability, Monitoring & Much More!
Redis in a Multi Tenant Environment–High Availability, Monitoring & Much More! Redis in a Multi Tenant Environment–High Availability, Monitoring & Much More!
Redis in a Multi Tenant Environment–High Availability, Monitoring & Much More!
 
Intro ipcberlin2012
Intro ipcberlin2012Intro ipcberlin2012
Intro ipcberlin2012
 
Introduction to git
Introduction to gitIntroduction to git
Introduction to git
 
Hacking on WildFly 9
Hacking on WildFly 9Hacking on WildFly 9
Hacking on WildFly 9
 
How bigtop leveraged docker for build automation and one click hadoop provis...
How bigtop leveraged docker for build automation and  one click hadoop provis...How bigtop leveraged docker for build automation and  one click hadoop provis...
How bigtop leveraged docker for build automation and one click hadoop provis...
 
Tips from Support: Always Carry a Towel and Don’t Panic!
Tips from Support: Always Carry a Towel and Don’t Panic!Tips from Support: Always Carry a Towel and Don’t Panic!
Tips from Support: Always Carry a Towel and Don’t Panic!
 
An introduction to git
An introduction to gitAn introduction to git
An introduction to git
 
Open Source Tools for Leveling Up Operations FOSSET 2014
Open Source Tools for Leveling Up Operations FOSSET 2014Open Source Tools for Leveling Up Operations FOSSET 2014
Open Source Tools for Leveling Up Operations FOSSET 2014
 
XFLTReat: a new dimension in tunnelling
XFLTReat:  a new dimension in tunnellingXFLTReat:  a new dimension in tunnelling
XFLTReat: a new dimension in tunnelling
 
What's new in FreeBSD 10
What's new in FreeBSD 10What's new in FreeBSD 10
What's new in FreeBSD 10
 
SaltConf14 - Craig Sebenik, LinkedIn - SaltStack at Web Scale
SaltConf14 - Craig Sebenik, LinkedIn - SaltStack at Web ScaleSaltConf14 - Craig Sebenik, LinkedIn - SaltStack at Web Scale
SaltConf14 - Craig Sebenik, LinkedIn - SaltStack at Web Scale
 
Introduction to Git
Introduction to GitIntroduction to Git
Introduction to Git
 
OSDC 2016 - Continous Integration in Data Centers - Further 3 Years later by ...
OSDC 2016 - Continous Integration in Data Centers - Further 3 Years later by ...OSDC 2016 - Continous Integration in Data Centers - Further 3 Years later by ...
OSDC 2016 - Continous Integration in Data Centers - Further 3 Years later by ...
 
Mini git tutorial
Mini git tutorialMini git tutorial
Mini git tutorial
 
Chef & OpenStack: OSCON 2014
Chef & OpenStack: OSCON 2014Chef & OpenStack: OSCON 2014
Chef & OpenStack: OSCON 2014
 
Git Presentation
Git PresentationGit Presentation
Git Presentation
 
Nagios Conference 2012 - Mike Weber - Failover
Nagios Conference 2012 - Mike Weber - FailoverNagios Conference 2012 - Mike Weber - Failover
Nagios Conference 2012 - Mike Weber - Failover
 

Similar to Smau Milano 2016 - Fabio Alessandro Locati

Smau Milano 2016 - Fabio Alessandro Locati
Smau Milano 2016 - Fabio Alessandro LocatiSmau Milano 2016 - Fabio Alessandro Locati
Smau Milano 2016 - Fabio Alessandro Locati
SMAU
 
SymfonyCon Madrid 2014 - Rock Solid Deployment of Symfony Apps
SymfonyCon Madrid 2014 - Rock Solid Deployment of Symfony AppsSymfonyCon Madrid 2014 - Rock Solid Deployment of Symfony Apps
SymfonyCon Madrid 2014 - Rock Solid Deployment of Symfony Apps
Pablo Godel
 
CentOS at Facebook
CentOS at FacebookCentOS at Facebook
CentOS at Facebook
Phil Dibowitz
 
Artifacts management with DevOps
Artifacts management with DevOpsArtifacts management with DevOps
Artifacts management with DevOps
Chen-Tien Tsai
 
Upgrading CentOS on the Facebook fleet
Upgrading CentOS on the Facebook fleetUpgrading CentOS on the Facebook fleet
Upgrading CentOS on the Facebook fleet
Davide Cavalca
 
Oracle Database on Docker - Best Practices
Oracle Database on Docker - Best PracticesOracle Database on Docker - Best Practices
Oracle Database on Docker - Best Practices
gvenzl
 
Package Management and Chef - ChefConf 2015
Package Management and Chef - ChefConf 2015Package Management and Chef - ChefConf 2015
Package Management and Chef - ChefConf 2015
Chef
 
Chef Conf 2015: Package Management & Chef
Chef Conf 2015: Package Management & ChefChef Conf 2015: Package Management & Chef
Chef Conf 2015: Package Management & Chef
ice799
 
Apache Bigtop: a crash course in deploying a Hadoop bigdata management platform
Apache Bigtop: a crash course in deploying a Hadoop bigdata management platformApache Bigtop: a crash course in deploying a Hadoop bigdata management platform
Apache Bigtop: a crash course in deploying a Hadoop bigdata management platform
rhatr
 
From Test to Live with Rex
From Test to Live with RexFrom Test to Live with Rex
From Test to Live with RexJan Gehring
 
Symfony Live NYC 2014 - Rock Solid Deployment of Symfony Apps
Symfony Live NYC 2014 -  Rock Solid Deployment of Symfony AppsSymfony Live NYC 2014 -  Rock Solid Deployment of Symfony Apps
Symfony Live NYC 2014 - Rock Solid Deployment of Symfony Apps
Pablo Godel
 
Effectively using Open Source with conda
Effectively using Open Source with condaEffectively using Open Source with conda
Effectively using Open Source with conda
Travis Oliphant
 
DCRUG: Achieving Development-Production Parity
DCRUG: Achieving Development-Production ParityDCRUG: Achieving Development-Production Parity
DCRUG: Achieving Development-Production Parity
Geoff Harcourt
 
CentOS Stream at Facebook
CentOS Stream at FacebookCentOS Stream at Facebook
CentOS Stream at Facebook
Davide Cavalca
 
Why It’s Important to Contribute to Open-Source Projects | Keysight Connect #10
Why It’s Important to Contribute to Open-Source Projects | Keysight Connect #10Why It’s Important to Contribute to Open-Source Projects | Keysight Connect #10
Why It’s Important to Contribute to Open-Source Projects | Keysight Connect #10
IxiaRomania
 
Building community with CentOS Stream
Building community with CentOS StreamBuilding community with CentOS Stream
Building community with CentOS Stream
Davide Cavalca
 
Automated Deployment and Configuration Engines. Ansible
Automated Deployment and Configuration Engines. AnsibleAutomated Deployment and Configuration Engines. Ansible
Automated Deployment and Configuration Engines. Ansible
Alberto Molina Coballes
 
The Future of Adhearson
The Future of AdhearsonThe Future of Adhearson
The Future of Adhearson
Mojo Lingo
 
Rails tools
Rails toolsRails tools
Rails tools
Reuven Lerner
 
What's new with CentOS at Facebook
What's new with CentOS at FacebookWhat's new with CentOS at Facebook
What's new with CentOS at Facebook
Davide Cavalca
 

Similar to Smau Milano 2016 - Fabio Alessandro Locati (20)

Smau Milano 2016 - Fabio Alessandro Locati
Smau Milano 2016 - Fabio Alessandro LocatiSmau Milano 2016 - Fabio Alessandro Locati
Smau Milano 2016 - Fabio Alessandro Locati
 
SymfonyCon Madrid 2014 - Rock Solid Deployment of Symfony Apps
SymfonyCon Madrid 2014 - Rock Solid Deployment of Symfony AppsSymfonyCon Madrid 2014 - Rock Solid Deployment of Symfony Apps
SymfonyCon Madrid 2014 - Rock Solid Deployment of Symfony Apps
 
CentOS at Facebook
CentOS at FacebookCentOS at Facebook
CentOS at Facebook
 
Artifacts management with DevOps
Artifacts management with DevOpsArtifacts management with DevOps
Artifacts management with DevOps
 
Upgrading CentOS on the Facebook fleet
Upgrading CentOS on the Facebook fleetUpgrading CentOS on the Facebook fleet
Upgrading CentOS on the Facebook fleet
 
Oracle Database on Docker - Best Practices
Oracle Database on Docker - Best PracticesOracle Database on Docker - Best Practices
Oracle Database on Docker - Best Practices
 
Package Management and Chef - ChefConf 2015
Package Management and Chef - ChefConf 2015Package Management and Chef - ChefConf 2015
Package Management and Chef - ChefConf 2015
 
Chef Conf 2015: Package Management & Chef
Chef Conf 2015: Package Management & ChefChef Conf 2015: Package Management & Chef
Chef Conf 2015: Package Management & Chef
 
Apache Bigtop: a crash course in deploying a Hadoop bigdata management platform
Apache Bigtop: a crash course in deploying a Hadoop bigdata management platformApache Bigtop: a crash course in deploying a Hadoop bigdata management platform
Apache Bigtop: a crash course in deploying a Hadoop bigdata management platform
 
From Test to Live with Rex
From Test to Live with RexFrom Test to Live with Rex
From Test to Live with Rex
 
Symfony Live NYC 2014 - Rock Solid Deployment of Symfony Apps
Symfony Live NYC 2014 -  Rock Solid Deployment of Symfony AppsSymfony Live NYC 2014 -  Rock Solid Deployment of Symfony Apps
Symfony Live NYC 2014 - Rock Solid Deployment of Symfony Apps
 
Effectively using Open Source with conda
Effectively using Open Source with condaEffectively using Open Source with conda
Effectively using Open Source with conda
 
DCRUG: Achieving Development-Production Parity
DCRUG: Achieving Development-Production ParityDCRUG: Achieving Development-Production Parity
DCRUG: Achieving Development-Production Parity
 
CentOS Stream at Facebook
CentOS Stream at FacebookCentOS Stream at Facebook
CentOS Stream at Facebook
 
Why It’s Important to Contribute to Open-Source Projects | Keysight Connect #10
Why It’s Important to Contribute to Open-Source Projects | Keysight Connect #10Why It’s Important to Contribute to Open-Source Projects | Keysight Connect #10
Why It’s Important to Contribute to Open-Source Projects | Keysight Connect #10
 
Building community with CentOS Stream
Building community with CentOS StreamBuilding community with CentOS Stream
Building community with CentOS Stream
 
Automated Deployment and Configuration Engines. Ansible
Automated Deployment and Configuration Engines. AnsibleAutomated Deployment and Configuration Engines. Ansible
Automated Deployment and Configuration Engines. Ansible
 
The Future of Adhearson
The Future of AdhearsonThe Future of Adhearson
The Future of Adhearson
 
Rails tools
Rails toolsRails tools
Rails tools
 
What's new with CentOS at Facebook
What's new with CentOS at FacebookWhat's new with CentOS at Facebook
What's new with CentOS at Facebook
 

More from SMAU

L'intelligenza artificiale per il marketing automation: come automatizzare le...
L'intelligenza artificiale per il marketing automation: come automatizzare le...L'intelligenza artificiale per il marketing automation: come automatizzare le...
L'intelligenza artificiale per il marketing automation: come automatizzare le...
SMAU
 
Il supporto IA nella Lead Generation con Linkedin e Sales Navigator
Il supporto IA nella Lead Generation con Linkedin e Sales NavigatorIl supporto IA nella Lead Generation con Linkedin e Sales Navigator
Il supporto IA nella Lead Generation con Linkedin e Sales Navigator
SMAU
 
SMAU MILANO 2023 | Intrapreneurship: I dipendenti come driver dell'innovazione
SMAU MILANO 2023 | Intrapreneurship: I dipendenti come driver dell'innovazioneSMAU MILANO 2023 | Intrapreneurship: I dipendenti come driver dell'innovazione
SMAU MILANO 2023 | Intrapreneurship: I dipendenti come driver dell'innovazione
SMAU
 
SMAU MILANO 2023 | TECNOLOGIE IMMERSIVE E METAVERSO: SOLUZIONI INNOVATIVE PER...
SMAU MILANO 2023 | TECNOLOGIE IMMERSIVE E METAVERSO: SOLUZIONI INNOVATIVE PER...SMAU MILANO 2023 | TECNOLOGIE IMMERSIVE E METAVERSO: SOLUZIONI INNOVATIVE PER...
SMAU MILANO 2023 | TECNOLOGIE IMMERSIVE E METAVERSO: SOLUZIONI INNOVATIVE PER...
SMAU
 
SMAU MILANO 2023 | SMAU MILANO 2023 | Le nuove frontiere dell'ESGtech
SMAU MILANO 2023 | SMAU MILANO 2023 | Le nuove frontiere dell'ESGtechSMAU MILANO 2023 | SMAU MILANO 2023 | Le nuove frontiere dell'ESGtech
SMAU MILANO 2023 | SMAU MILANO 2023 | Le nuove frontiere dell'ESGtech
SMAU
 
SMAU MILANO 2023 | AI: Un Alleato Innovativo per l'Omnichannel Customer Exper...
SMAU MILANO 2023 | AI: Un Alleato Innovativo per l'Omnichannel Customer Exper...SMAU MILANO 2023 | AI: Un Alleato Innovativo per l'Omnichannel Customer Exper...
SMAU MILANO 2023 | AI: Un Alleato Innovativo per l'Omnichannel Customer Exper...
SMAU
 
SMAU MILANO 2023 | 𝐃𝐢𝐠𝐢𝐭𝐚𝐥 𝐓𝐫𝐚𝐢𝐧𝐢𝐧𝐠 𝐉𝐨𝐮𝐫𝐧𝐞𝐲 La nuova frontiera della formazio...
SMAU MILANO 2023 | 𝐃𝐢𝐠𝐢𝐭𝐚𝐥 𝐓𝐫𝐚𝐢𝐧𝐢𝐧𝐠 𝐉𝐨𝐮𝐫𝐧𝐞𝐲 La nuova frontiera della formazio...SMAU MILANO 2023 | 𝐃𝐢𝐠𝐢𝐭𝐚𝐥 𝐓𝐫𝐚𝐢𝐧𝐢𝐧𝐠 𝐉𝐨𝐮𝐫𝐧𝐞𝐲 La nuova frontiera della formazio...
SMAU MILANO 2023 | 𝐃𝐢𝐠𝐢𝐭𝐚𝐥 𝐓𝐫𝐚𝐢𝐧𝐢𝐧𝐠 𝐉𝐨𝐮𝐫𝐧𝐞𝐲 La nuova frontiera della formazio...
SMAU
 
SMAU MILANO 2023 | COME PROGETTARE SOLUZIONI CIRCOLARI E MODELLI DI BUSINESS ...
SMAU MILANO 2023 | COME PROGETTARE SOLUZIONI CIRCOLARI E MODELLI DI BUSINESS ...SMAU MILANO 2023 | COME PROGETTARE SOLUZIONI CIRCOLARI E MODELLI DI BUSINESS ...
SMAU MILANO 2023 | COME PROGETTARE SOLUZIONI CIRCOLARI E MODELLI DI BUSINESS ...
SMAU
 
SMAU MILANO 2023 | Google Business Profile tra SEO e Social Media
SMAU MILANO 2023 | Google Business Profile tra SEO e Social MediaSMAU MILANO 2023 | Google Business Profile tra SEO e Social Media
SMAU MILANO 2023 | Google Business Profile tra SEO e Social Media
SMAU
 
SMAU MILANO 2023 | Il PM incontra la proprietà intellettuale: pianificare la ...
SMAU MILANO 2023 | Il PM incontra la proprietà intellettuale: pianificare la ...SMAU MILANO 2023 | Il PM incontra la proprietà intellettuale: pianificare la ...
SMAU MILANO 2023 | Il PM incontra la proprietà intellettuale: pianificare la ...
SMAU
 
SMAU MILANO 2023 | Il neuromarketing: solo 8 secondi per catturare l’attenzio...
SMAU MILANO 2023 | Il neuromarketing: solo 8 secondi per catturare l’attenzio...SMAU MILANO 2023 | Il neuromarketing: solo 8 secondi per catturare l’attenzio...
SMAU MILANO 2023 | Il neuromarketing: solo 8 secondi per catturare l’attenzio...
SMAU
 
SMAU MILANO 2023 | Collaborazioni vincenti: Come le startup possono creare pa...
SMAU MILANO 2023 | Collaborazioni vincenti: Come le startup possono creare pa...SMAU MILANO 2023 | Collaborazioni vincenti: Come le startup possono creare pa...
SMAU MILANO 2023 | Collaborazioni vincenti: Come le startup possono creare pa...
SMAU
 
SMAU MILANO 2023 | Funnel Hacking: massimizzare il ROAS in 7 passaggi
SMAU MILANO 2023 | Funnel Hacking: massimizzare il ROAS in 7 passaggiSMAU MILANO 2023 | Funnel Hacking: massimizzare il ROAS in 7 passaggi
SMAU MILANO 2023 | Funnel Hacking: massimizzare il ROAS in 7 passaggi
SMAU
 
SMAU MILANO 2023 | Una reputazione che ti precede: come il personal storytell...
SMAU MILANO 2023 | Una reputazione che ti precede: come il personal storytell...SMAU MILANO 2023 | Una reputazione che ti precede: come il personal storytell...
SMAU MILANO 2023 | Una reputazione che ti precede: come il personal storytell...
SMAU
 
SMAU MILANO 2023 | Come scalare una produzione video: il caso “Vongola Lupino...
SMAU MILANO 2023 | Come scalare una produzione video: il caso “Vongola Lupino...SMAU MILANO 2023 | Come scalare una produzione video: il caso “Vongola Lupino...
SMAU MILANO 2023 | Come scalare una produzione video: il caso “Vongola Lupino...
SMAU
 
SMAU MILANO 2023 | IA Generativa per aziende - come addestrare i modelli ling...
SMAU MILANO 2023 | IA Generativa per aziende - come addestrare i modelli ling...SMAU MILANO 2023 | IA Generativa per aziende - come addestrare i modelli ling...
SMAU MILANO 2023 | IA Generativa per aziende - come addestrare i modelli ling...
SMAU
 
SMAU MILANO 2023 | L'intelligenza artificiale per davvero (facciamola sul ser...
SMAU MILANO 2023 | L'intelligenza artificiale per davvero (facciamola sul ser...SMAU MILANO 2023 | L'intelligenza artificiale per davvero (facciamola sul ser...
SMAU MILANO 2023 | L'intelligenza artificiale per davvero (facciamola sul ser...
SMAU
 
SMAU MILANO 2023 | Personal Branding: come comunicare in maniera efficace la...
SMAU MILANO 2023 |  Personal Branding: come comunicare in maniera efficace la...SMAU MILANO 2023 |  Personal Branding: come comunicare in maniera efficace la...
SMAU MILANO 2023 | Personal Branding: come comunicare in maniera efficace la...
SMAU
 
SMAU MILANO 2023 | What's Next? Rivoluzioni industriali, intelligenza artific...
SMAU MILANO 2023 | What's Next? Rivoluzioni industriali, intelligenza artific...SMAU MILANO 2023 | What's Next? Rivoluzioni industriali, intelligenza artific...
SMAU MILANO 2023 | What's Next? Rivoluzioni industriali, intelligenza artific...
SMAU
 
SMAU MILANO 2023 | SMAU MILANO 2023 | Intelligenza Artificiale e chatbots
SMAU MILANO 2023 | SMAU MILANO 2023 | Intelligenza Artificiale e chatbotsSMAU MILANO 2023 | SMAU MILANO 2023 | Intelligenza Artificiale e chatbots
SMAU MILANO 2023 | SMAU MILANO 2023 | Intelligenza Artificiale e chatbots
SMAU
 

More from SMAU (20)

L'intelligenza artificiale per il marketing automation: come automatizzare le...
L'intelligenza artificiale per il marketing automation: come automatizzare le...L'intelligenza artificiale per il marketing automation: come automatizzare le...
L'intelligenza artificiale per il marketing automation: come automatizzare le...
 
Il supporto IA nella Lead Generation con Linkedin e Sales Navigator
Il supporto IA nella Lead Generation con Linkedin e Sales NavigatorIl supporto IA nella Lead Generation con Linkedin e Sales Navigator
Il supporto IA nella Lead Generation con Linkedin e Sales Navigator
 
SMAU MILANO 2023 | Intrapreneurship: I dipendenti come driver dell'innovazione
SMAU MILANO 2023 | Intrapreneurship: I dipendenti come driver dell'innovazioneSMAU MILANO 2023 | Intrapreneurship: I dipendenti come driver dell'innovazione
SMAU MILANO 2023 | Intrapreneurship: I dipendenti come driver dell'innovazione
 
SMAU MILANO 2023 | TECNOLOGIE IMMERSIVE E METAVERSO: SOLUZIONI INNOVATIVE PER...
SMAU MILANO 2023 | TECNOLOGIE IMMERSIVE E METAVERSO: SOLUZIONI INNOVATIVE PER...SMAU MILANO 2023 | TECNOLOGIE IMMERSIVE E METAVERSO: SOLUZIONI INNOVATIVE PER...
SMAU MILANO 2023 | TECNOLOGIE IMMERSIVE E METAVERSO: SOLUZIONI INNOVATIVE PER...
 
SMAU MILANO 2023 | SMAU MILANO 2023 | Le nuove frontiere dell'ESGtech
SMAU MILANO 2023 | SMAU MILANO 2023 | Le nuove frontiere dell'ESGtechSMAU MILANO 2023 | SMAU MILANO 2023 | Le nuove frontiere dell'ESGtech
SMAU MILANO 2023 | SMAU MILANO 2023 | Le nuove frontiere dell'ESGtech
 
SMAU MILANO 2023 | AI: Un Alleato Innovativo per l'Omnichannel Customer Exper...
SMAU MILANO 2023 | AI: Un Alleato Innovativo per l'Omnichannel Customer Exper...SMAU MILANO 2023 | AI: Un Alleato Innovativo per l'Omnichannel Customer Exper...
SMAU MILANO 2023 | AI: Un Alleato Innovativo per l'Omnichannel Customer Exper...
 
SMAU MILANO 2023 | 𝐃𝐢𝐠𝐢𝐭𝐚𝐥 𝐓𝐫𝐚𝐢𝐧𝐢𝐧𝐠 𝐉𝐨𝐮𝐫𝐧𝐞𝐲 La nuova frontiera della formazio...
SMAU MILANO 2023 | 𝐃𝐢𝐠𝐢𝐭𝐚𝐥 𝐓𝐫𝐚𝐢𝐧𝐢𝐧𝐠 𝐉𝐨𝐮𝐫𝐧𝐞𝐲 La nuova frontiera della formazio...SMAU MILANO 2023 | 𝐃𝐢𝐠𝐢𝐭𝐚𝐥 𝐓𝐫𝐚𝐢𝐧𝐢𝐧𝐠 𝐉𝐨𝐮𝐫𝐧𝐞𝐲 La nuova frontiera della formazio...
SMAU MILANO 2023 | 𝐃𝐢𝐠𝐢𝐭𝐚𝐥 𝐓𝐫𝐚𝐢𝐧𝐢𝐧𝐠 𝐉𝐨𝐮𝐫𝐧𝐞𝐲 La nuova frontiera della formazio...
 
SMAU MILANO 2023 | COME PROGETTARE SOLUZIONI CIRCOLARI E MODELLI DI BUSINESS ...
SMAU MILANO 2023 | COME PROGETTARE SOLUZIONI CIRCOLARI E MODELLI DI BUSINESS ...SMAU MILANO 2023 | COME PROGETTARE SOLUZIONI CIRCOLARI E MODELLI DI BUSINESS ...
SMAU MILANO 2023 | COME PROGETTARE SOLUZIONI CIRCOLARI E MODELLI DI BUSINESS ...
 
SMAU MILANO 2023 | Google Business Profile tra SEO e Social Media
SMAU MILANO 2023 | Google Business Profile tra SEO e Social MediaSMAU MILANO 2023 | Google Business Profile tra SEO e Social Media
SMAU MILANO 2023 | Google Business Profile tra SEO e Social Media
 
SMAU MILANO 2023 | Il PM incontra la proprietà intellettuale: pianificare la ...
SMAU MILANO 2023 | Il PM incontra la proprietà intellettuale: pianificare la ...SMAU MILANO 2023 | Il PM incontra la proprietà intellettuale: pianificare la ...
SMAU MILANO 2023 | Il PM incontra la proprietà intellettuale: pianificare la ...
 
SMAU MILANO 2023 | Il neuromarketing: solo 8 secondi per catturare l’attenzio...
SMAU MILANO 2023 | Il neuromarketing: solo 8 secondi per catturare l’attenzio...SMAU MILANO 2023 | Il neuromarketing: solo 8 secondi per catturare l’attenzio...
SMAU MILANO 2023 | Il neuromarketing: solo 8 secondi per catturare l’attenzio...
 
SMAU MILANO 2023 | Collaborazioni vincenti: Come le startup possono creare pa...
SMAU MILANO 2023 | Collaborazioni vincenti: Come le startup possono creare pa...SMAU MILANO 2023 | Collaborazioni vincenti: Come le startup possono creare pa...
SMAU MILANO 2023 | Collaborazioni vincenti: Come le startup possono creare pa...
 
SMAU MILANO 2023 | Funnel Hacking: massimizzare il ROAS in 7 passaggi
SMAU MILANO 2023 | Funnel Hacking: massimizzare il ROAS in 7 passaggiSMAU MILANO 2023 | Funnel Hacking: massimizzare il ROAS in 7 passaggi
SMAU MILANO 2023 | Funnel Hacking: massimizzare il ROAS in 7 passaggi
 
SMAU MILANO 2023 | Una reputazione che ti precede: come il personal storytell...
SMAU MILANO 2023 | Una reputazione che ti precede: come il personal storytell...SMAU MILANO 2023 | Una reputazione che ti precede: come il personal storytell...
SMAU MILANO 2023 | Una reputazione che ti precede: come il personal storytell...
 
SMAU MILANO 2023 | Come scalare una produzione video: il caso “Vongola Lupino...
SMAU MILANO 2023 | Come scalare una produzione video: il caso “Vongola Lupino...SMAU MILANO 2023 | Come scalare una produzione video: il caso “Vongola Lupino...
SMAU MILANO 2023 | Come scalare una produzione video: il caso “Vongola Lupino...
 
SMAU MILANO 2023 | IA Generativa per aziende - come addestrare i modelli ling...
SMAU MILANO 2023 | IA Generativa per aziende - come addestrare i modelli ling...SMAU MILANO 2023 | IA Generativa per aziende - come addestrare i modelli ling...
SMAU MILANO 2023 | IA Generativa per aziende - come addestrare i modelli ling...
 
SMAU MILANO 2023 | L'intelligenza artificiale per davvero (facciamola sul ser...
SMAU MILANO 2023 | L'intelligenza artificiale per davvero (facciamola sul ser...SMAU MILANO 2023 | L'intelligenza artificiale per davvero (facciamola sul ser...
SMAU MILANO 2023 | L'intelligenza artificiale per davvero (facciamola sul ser...
 
SMAU MILANO 2023 | Personal Branding: come comunicare in maniera efficace la...
SMAU MILANO 2023 |  Personal Branding: come comunicare in maniera efficace la...SMAU MILANO 2023 |  Personal Branding: come comunicare in maniera efficace la...
SMAU MILANO 2023 | Personal Branding: come comunicare in maniera efficace la...
 
SMAU MILANO 2023 | What's Next? Rivoluzioni industriali, intelligenza artific...
SMAU MILANO 2023 | What's Next? Rivoluzioni industriali, intelligenza artific...SMAU MILANO 2023 | What's Next? Rivoluzioni industriali, intelligenza artific...
SMAU MILANO 2023 | What's Next? Rivoluzioni industriali, intelligenza artific...
 
SMAU MILANO 2023 | SMAU MILANO 2023 | Intelligenza Artificiale e chatbots
SMAU MILANO 2023 | SMAU MILANO 2023 | Intelligenza Artificiale e chatbotsSMAU MILANO 2023 | SMAU MILANO 2023 | Intelligenza Artificiale e chatbots
SMAU MILANO 2023 | SMAU MILANO 2023 | Intelligenza Artificiale e chatbots
 

Recently uploaded

Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 

Recently uploaded (20)

Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 

Smau Milano 2016 - Fabio Alessandro Locati

  • 1. RPM Packaging How software delivery works and why RPM packaging is more current than ever Fabio Alessandro Locati 26 October 2016
  • 5. About me • RPM user since 2001 2
  • 6. About me • RPM user since 2001 • IT Consultant since 2004 2
  • 7. About me • RPM user since 2001 • IT Consultant since 2004 • RPMs creator since 2013 2
  • 9. Deployment in the past • Mayority of application needed to be deployed on a single system 3
  • 10. Deployment in the past • Mayority of application needed to be deployed on a single system • Annual/Bi-annual 3
  • 11. Deployment in the past • Mayority of application needed to be deployed on a single system • Annual/Bi-annual • All hands on deck 3
  • 12. Deployment in the past • Mayority of application needed to be deployed on a single system • Annual/Bi-annual • All hands on deck • Devs ready to patch 3
  • 13. Deployment in the past • Mayority of application needed to be deployed on a single system • Annual/Bi-annual • All hands on deck • Devs ready to patch • Ops ready to deploy work-around 3
  • 14. Deployment in the past • Mayority of application needed to be deployed on a single system • Annual/Bi-annual • All hands on deck • Devs ready to patch • Ops ready to deploy work-around • Usually performed during night-time 3
  • 15. Deployment in the past • Mayority of application needed to be deployed on a single system • Annual/Bi-annual • All hands on deck • Devs ready to patch • Ops ready to deploy work-around • Usually performed during night-time • Hours of downtime 3
  • 16. Deployment in the past • Mayority of application needed to be deployed on a single system • Annual/Bi-annual • All hands on deck • Devs ready to patch • Ops ready to deploy work-around • Usually performed during night-time • Hours of downtime • Very expensive deployments 3
  • 18. Today expectations • Deploy multiple times every day 4
  • 19. Today expectations • Deploy multiple times every day • Cheap deployments 4
  • 20. Today expectations • Deploy multiple times every day • Cheap deployments • No down time 4
  • 21. Today expectations • Deploy multiple times every day • Cheap deployments • No down time • Need of mass deployment (tens/hundreds/thousands of systems) 4
  • 22. Today expectations • Deploy multiple times every day • Cheap deployments • No down time • Need of mass deployment (tens/hundreds/thousands of systems) • Horizontal (dynamic) scalability 4
  • 24. Items that could be involved in deployments 5
  • 25. Items that could be involved in deployments • Code 5
  • 26. Items that could be involved in deployments • Code • Source Control System (SCM): git, hg, svn, cvs 5
  • 27. Items that could be involved in deployments • Code • Source Control System (SCM): git, hg, svn, cvs • Build system: Koji, Jenkins, Shell 5
  • 28. Items that could be involved in deployments • Code • Source Control System (SCM): git, hg, svn, cvs • Build system: Koji, Jenkins, Shell • Software packaging system: RPM, DEB, Docker, WAR, generic archive 5
  • 29. Items that could be involved in deployments • Code • Source Control System (SCM): git, hg, svn, cvs • Build system: Koji, Jenkins, Shell • Software packaging system: RPM, DEB, Docker, WAR, generic archive • Test system: Bodhi, Jenkins 5
  • 30. Items that could be involved in deployments • Code • Source Control System (SCM): git, hg, svn, cvs • Build system: Koji, Jenkins, Shell • Software packaging system: RPM, DEB, Docker, WAR, generic archive • Test system: Bodhi, Jenkins • Environment packaging system: Docker, PyEnv 5
  • 31. Items that could be involved in deployments • Code • Source Control System (SCM): git, hg, svn, cvs • Build system: Koji, Jenkins, Shell • Software packaging system: RPM, DEB, Docker, WAR, generic archive • Test system: Bodhi, Jenkins • Environment packaging system: Docker, PyEnv • Orchestration tool: Ansible, Puppet, Salt, Chef, Kubernetes 5
  • 32. Items that could be involved in deployments • Code • Source Control System (SCM): git, hg, svn, cvs • Build system: Koji, Jenkins, Shell • Software packaging system: RPM, DEB, Docker, WAR, generic archive • Test system: Bodhi, Jenkins • Environment packaging system: Docker, PyEnv • Orchestration tool: Ansible, Puppet, Salt, Chef, Kubernetes • Execution environment: Native OS, OpenStack, OpenShift, Docker, runc 5
  • 33. RPM as software packaging system 6
  • 34. RPM as software packaging system • Advantages 6
  • 35. RPM as software packaging system • Advantages • Very well known format 6
  • 36. RPM as software packaging system • Advantages • Very well known format • Open Standard 6
  • 37. RPM as software packaging system • Advantages • Very well known format • Open Standard • Clear distinction between compile environment and run environment 6
  • 38. RPM as software packaging system • Advantages • Very well known format • Open Standard • Clear distinction between compile environment and run environment • Easy to integrate with any kind of environment 6
  • 39. RPM as software packaging system • Advantages • Very well known format • Open Standard • Clear distinction between compile environment and run environment • Easy to integrate with any kind of environment • Very good at resolving dependencies 6
  • 40. RPM as software packaging system • Advantages • Very well known format • Open Standard • Clear distinction between compile environment and run environment • Easy to integrate with any kind of environment • Very good at resolving dependencies • Checksum of all files 6
  • 41. RPM as software packaging system • Advantages • Very well known format • Open Standard • Clear distinction between compile environment and run environment • Easy to integrate with any kind of environment • Very good at resolving dependencies • Checksum of all files • Very rigid policies 6
  • 42. RPM as software packaging system • Advantages • Very well known format • Open Standard • Clear distinction between compile environment and run environment • Easy to integrate with any kind of environment • Very good at resolving dependencies • Checksum of all files • Very rigid policies • Disadvantages 6
  • 43. RPM as software packaging system • Advantages • Very well known format • Open Standard • Clear distinction between compile environment and run environment • Easy to integrate with any kind of environment • Very good at resolving dependencies • Checksum of all files • Very rigid policies • Disadvantages • Heavily connected with RPM-based distro (Fedora, RHEL, OEL, SLES, OpenSUSE, CentOS, SL) 6
  • 44. RPM as software packaging system • Advantages • Very well known format • Open Standard • Clear distinction between compile environment and run environment • Easy to integrate with any kind of environment • Very good at resolving dependencies • Checksum of all files • Very rigid policies • Disadvantages • Heavily connected with RPM-based distro (Fedora, RHEL, OEL, SLES, OpenSUSE, CentOS, SL) • Very rigid policies 6
  • 47. RPM components • SPEC file • Sources files (at least 1) 7
  • 48. RPM components • SPEC file • Sources files (at least 1) • Patches (eventually) 7
  • 51. RPM build process • Fetch of the SPEC file 8
  • 52. RPM build process • Fetch of the SPEC file • Fetch of sources/patches 8
  • 53. RPM build process • Fetch of the SPEC file • Fetch of sources/patches • Creation of the .src.rpm file 8
  • 54. RPM build process • Fetch of the SPEC file • Fetch of sources/patches • Creation of the .src.rpm file • Creation of binaries .rpm files 8
  • 56. Fedora pipeline • SPEC file, additional sources, and patches in git repo 9
  • 57. Fedora pipeline • SPEC file, additional sources, and patches in git repo • Upstream source in cache system 9
  • 58. Fedora pipeline • SPEC file, additional sources, and patches in git repo • Upstream source in cache system • Build in Koji 9
  • 59. Fedora pipeline • SPEC file, additional sources, and patches in git repo • Upstream source in cache system • Build in Koji • Promotion to Bodhi testing branch 9
  • 60. Fedora pipeline • SPEC file, additional sources, and patches in git repo • Upstream source in cache system • Build in Koji • Promotion to Bodhi testing branch • Automated tests by Bodhi and AutoQA 9
  • 61. Fedora pipeline • SPEC file, additional sources, and patches in git repo • Upstream source in cache system • Build in Koji • Promotion to Bodhi testing branch • Automated tests by Bodhi and AutoQA • Manual testing 9
  • 62. Fedora pipeline • SPEC file, additional sources, and patches in git repo • Upstream source in cache system • Build in Koji • Promotion to Bodhi testing branch • Automated tests by Bodhi and AutoQA • Manual testing • Promotion to Bodhi stable branch 9
  • 64. Example RPM pipeline 1 • SPEC file, additional sources, and patches in git repo 10
  • 65. Example RPM pipeline 1 • SPEC file, additional sources, and patches in git repo • Build in Koji 10
  • 66. Example RPM pipeline 1 • SPEC file, additional sources, and patches in git repo • Build in Koji • Promotion to Bodhi testing branch 10
  • 67. Example RPM pipeline 1 • SPEC file, additional sources, and patches in git repo • Build in Koji • Promotion to Bodhi testing branch • Automated tests by Bodhi and AutoQA 10
  • 68. Example RPM pipeline 1 • SPEC file, additional sources, and patches in git repo • Build in Koji • Promotion to Bodhi testing branch • Automated tests by Bodhi and AutoQA • Manual testing 10
  • 69. Example RPM pipeline 1 • SPEC file, additional sources, and patches in git repo • Build in Koji • Promotion to Bodhi testing branch • Automated tests by Bodhi and AutoQA • Manual testing • Promotion to Bodhi stable branch 10
  • 70. Example RPM pipeline 1 • SPEC file, additional sources, and patches in git repo • Build in Koji • Promotion to Bodhi testing branch • Automated tests by Bodhi and AutoQA • Manual testing • Promotion to Bodhi stable branch • Simple upgrade of live system (yum update -y PACKAGE) 10
  • 72. Example RPM pipeline 2 • SPEC file, additional sources, and patches in git repo 11
  • 73. Example RPM pipeline 2 • SPEC file, additional sources, and patches in git repo • Build in Koji 11
  • 74. Example RPM pipeline 2 • SPEC file, additional sources, and patches in git repo • Build in Koji • Creation of a Docker image 11
  • 75. Example RPM pipeline 2 • SPEC file, additional sources, and patches in git repo • Build in Koji • Creation of a Docker image • Automated tests 11
  • 76. Example RPM pipeline 2 • SPEC file, additional sources, and patches in git repo • Build in Koji • Creation of a Docker image • Automated tests • Manual testing 11
  • 77. Example RPM pipeline 2 • SPEC file, additional sources, and patches in git repo • Build in Koji • Creation of a Docker image • Automated tests • Manual testing • Propagate the new Docker image 11
  • 80. RPM and Docker • RPM work very well in Docker environments 12
  • 81. RPM and Docker • RPM work very well in Docker environments • Installing RPMs allow a cleaner Docker file and image 12
  • 82. RPM and Docker • RPM work very well in Docker environments • Installing RPMs allow a cleaner Docker file and image • RPMs can be deployed within or without Docker 12
  • 83. Docker example RUN dnf install -y tar make gcc ruby ruby-devel rubygems graphviz rubygem-nokogiri unzip findutils which wget python-devel zlib-devel libjpeg-devel redhat-rpm-config patch && dnf clean packages && gem install --no-ri --no-rdoc asciidoctor --version $ASCIIDOCTOR_VERSION && gem install --no-ri --no-rdoc asciidoctor-pdf --version 1.5.0.alpha.11 && gem install --no-ri --no-rdoc slim && (curl -LkSs https://api.github.com/repos/asciidoctor | tar xfz - -C $BACKENDS --strip-components=1) && wget https://bitbucket.org/pypa/setuptools/raw/bootstrap -O - | python 13
  • 84. Docker example with RPM RUN dnf install -y rubygem-asciidoctor-pdf && dnf clean packages 14
  • 85. Size of the images • Fedora base image: 204MB 15
  • 86. Size of the images • Fedora base image: 204MB • First image: 776MB 15
  • 87. Size of the images • Fedora base image: 204MB • First image: 776MB • Second image: 238MB 15
  • 88. Additional resources • Laboratorio ICT, 14:00 - Come pacchettizzare applicazioni in formato RPM • Slides: https://slides.fale.io/20161026-en-rpm.pdf • Official website: http://rpm.org • Fedora guide: https://fedoraproject.org/wiki/How_to_create_an_RPM_package • RPM Guide: http://rpm-guide.readthedocs.io 16