Connect2016 - 1172 Shipping domino

Matteo Bisi
Matteo BisiSenior DevSecOps Engineer at SIGHUP
AD-1172 Shipping Domino
How to Put Domino in a Container and Live Happy
Book of Recipes
Matteo Bisi, Daniele Vistalli @ Factor-y
About us
Matteo Bisi
• IBM Champions for Social Business (2014,2015,2016)
• IBM Certified Advanced System Administrator - Notes and Domino 9.0
• System engineer @ Factor-y S.r.l.
Daniele Vistalli
• CEO & CTO @ Factor-y S.r.l.
• R&D nerd with business focus
Docker + Domino
What and why
Docker and containers in 1 slide
Docker is a way to “package” your software in an image:
• File system
• System security (user/groups) & settings
• TCP Network (ports that needs to be reachable)
• Image inheritance is possible (incremental specialization)
Docker is a way to “ship & run” your software to other
systems:
• Start an “image” to get a container where your software runs
• Manage containers (start/stop/control etc)
• The container runs regardless of the actual (underlying) system
(VM, bare metal, etc)
Why package domino ? (developers edition)
Domino could be packaged to make developers happy
• Think about automated testing:
 Start a clean server every time and test your software
 Create “acceptance” environments in seconds
 Keep an archive of images for every software release to perfrom
back-version debugging/testing (start a clean server in minutes)
• Think about saving time:
 Use a standard image your admin has built, just fire it up
Why package domino ? (admin edition)
• Linux based servers ?
• Create images to support developers (standard deployment)
• Create images to ship & deploy your product in cloud with high
density
 Pack the server, the software (NSFs and plugins) and deploy
 Manage upgrades by just upgrading the image and attaching the
data volume (see volumes)
• Consolidate multiple servers on a single powerful machine but
maintain complete isolation
Domino
built to be packaged
Program / data separation
Domino is born with clean separation, perfect for packaging
• Binary folder contains all server components
• NOTESDATA contains the “server instance”
 We all know that you can often move a server by copy/paste
NOTESDATA + reinstall domino. THIS IS UNIQUE
• NOTES.INI = core settings in a controllable and manageable
place (no arcane binary or registry location)
File systems
A Domino server filesystem is well-defined and can be managed
• NotesData : all your databases and config files
• DAOS : if DAOS is enabled.. Attachments go here
• Transaction Logs : If transaction logs enabled, you find them in a well defined place
• FTIndexes : Full-text indexes can be placed in a specific location
• View rebuild : Temporary rebuild data can also be placed “somewhere”
This is perfect, Docker has “VOLUMES” a way to define filesystem attachments that “persist” even
if a container is stopped/destroyed and rebuilt.
VOLUMES allow to “mount” persistent filesystems to attach points defined in the IMAGE
description
Network services
• Domino is a network server
• Each service uses TCP ports
• To expose a port from a container to the “external” world you
need to declare those
• Plan for your needs, identify network ports and EXPOSE
EXPOSE 80 443 1352 (and eventually others)
Install and configuration automation
What about Domino setup and configuration ?
Once again we’re lucky
1. Domino server silent install
RUN /bin/bash -c "/tmp/sw-repo/install -silent -options /tmp/sw-
repo/unix_response.dat"
2. Recorded server configuration
/opt/ibm/domino/bin/server -silent /local/notesdata/playground.pds
/local/notesdata/playground.txt
Lab: Creating a domino
image for developers
What we need (installers, dockerfile)
1. Create a “build” directory where we place our “work files”
2. Put domino server installers
3. Put FP installers for domino server
4. Create a “dockerfile” aka “Image creation script”
5. Use docker CLI to create the image and build it
DockerFile anatomy
A “DockerFile” is a text file with docker commands, it
• Declares the “base image” to inherit from
• Copies files to the image filesystem
• Executes commands in the image to setup things
• Declares “VOLUME” mappings
• Declares ports to “EXPOSE”d.
Setup the environment (DockerFile 1/3)
# Select the base image to inherit from
FROM ubuntu:14.04
# Execute unix commands: add user, group and set limits
RUN adduser notes
RUN usermod -aG notes notes
RUN usermod -d /local/notesdata notes
RUN sed -i '$d' /etc/security/limits.conf
RUN echo 'notes soft nofile 60000' >> /etc/security/limits.conf
RUN echo 'notes hard nofile 80000' >> /etc/security/limits.conf
RUN echo '# End of file' >> /etc/security/limits.conf
Install domino (DockerFile 2/3)
# Copy our installers from our build directory to the image file
system
COPY sw-repo/domino901/ /tmp/sw-repo/
# Silent install domino/
RUN /bin/bash -c "/tmp/sw-repo/install -silent -options /tmp/sw-
repo/unix_response.dat"
Configure domino and cleanup (DockerFile 3/3)
# Prepare for configuration and run scripted configuration
ENV NUI_NOTESDIR /opt/ibm/domino/
RUN cp /tmp/sw-repo/*.id /local/notesdata/
RUN cp /tmp/sw-repo/playground.* /local/notesdata/
RUN su notes -c "cd /local/notesdata && /opt/ibm/domino/bin/server -silent /local/notesdata/playground.pds
/local/notesdata/playground.txt"
# Declare TCP ports to be exposed
EXPOSE 80 443 1352
# Clean up "tmp"
RUN rm -rf /tmp/*
--------------------------------------------
Now we build the image from the Unix Prompt:
Docker> docker build –f <dockerfilename>
Live Demo
It’s true, not a dream
Thank you
Acknowledgements and Disclaimers
Availability. References in this presentation to IBM products, programs, or services do not imply that they will be available in all countries in which IBM
operates.
The workshops, sessions and materials have been prepared by IBM or the session speakers and reflect their own views. They are provided for informational
purposes only, and are neither intended to, nor shall have the effect of being, legal or other guidance or advice to any participant. While efforts were made to
verify the completeness and accuracy of the information contained in this presentation, it is provided AS-IS without warranty of any kind, express or implied.
IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, this presentation or any other materials. Nothing contained in
this presentation is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the
terms and conditions of the applicable license agreement governing the use of IBM software.
All customer examples described are presented as illustrations of how those customers have used IBM products and the results they may have achieved.
Actual environmental costs and performance characteristics may vary by customer. Nothing contained in these materials is intended to, nor shall have the
effect of, stating or implying that any activities undertaken by you will result in any specific sales, revenue growth or other results.
Acknowledgements and Disclaimers cont.
© Copyright IBM Corporation 2015. All rights reserved.
• U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
• IBM, the IBM logo, ibm.com, and IBM Domino are trademarks or registered trademarks of International Business Machines Corporation in the United States,
other countries, or both. If these and other IBM trademarked terms are marked on their first occurrence in this information with a trademark symbol (® or ™),
these symbols indicate U.S. registered or common law trademarks owned by IBM at the time this information was published. Such trademarks may also be
registered or common law trademarks in other countries. A current list of IBM trademarks is available on the Web at “Copyright and trademark information” at
www.ibm.com/legal/copytrade.shtml
Docker is a trademark of Docker, Inc.
Other company, product, or service names may be trademarks or service marks of others.
1 of 21

Recommended

IBM Connect 2016 - 60+ in 60 - Admin Tips Power Hour by
IBM Connect 2016 - 60+ in 60 - Admin Tips Power HourIBM Connect 2016 - 60+ in 60 - Admin Tips Power Hour
IBM Connect 2016 - 60+ in 60 - Admin Tips Power HourChris Miller
1.3K views21 slides
IAmLUG presentation: Domino Admin Best Practices - Hunting the Gremlins by
IAmLUG presentation: Domino Admin Best Practices - Hunting the GremlinsIAmLUG presentation: Domino Admin Best Practices - Hunting the Gremlins
IAmLUG presentation: Domino Admin Best Practices - Hunting the GremlinsDavid Hablewitz
2.9K views65 slides
Adm02. IBM Connections Adminblast by
Adm02. IBM Connections AdminblastAdm02. IBM Connections Adminblast
Adm02. IBM Connections Adminblastpanagenda
1.7K views56 slides
Str02. IBM Application Modernization with panagenda ApplicationInsights by
Str02. IBM Application Modernization with panagenda ApplicationInsightsStr02. IBM Application Modernization with panagenda ApplicationInsights
Str02. IBM Application Modernization with panagenda ApplicationInsightspanagenda
1.2K views40 slides
What We Wish We Had Known: Becoming an IBM Connections Administrator by
What We Wish We Had Known: Becoming an IBM Connections AdministratorWhat We Wish We Had Known: Becoming an IBM Connections Administrator
What We Wish We Had Known: Becoming an IBM Connections AdministratorGabriella Davis
5.3K views31 slides
HCL Domino V12 Key Security Features Overview by
HCL Domino V12 Key Security Features Overview HCL Domino V12 Key Security Features Overview
HCL Domino V12 Key Security Features Overview hemantnaik
785 views41 slides

More Related Content

What's hot

Domino Security - not knowing is not an option - MWLUG 2015 by
Domino Security - not knowing is not an option - MWLUG 2015Domino Security - not knowing is not an option - MWLUG 2015
Domino Security - not knowing is not an option - MWLUG 2015Darren Duke
7.2K views35 slides
Our take on Domino 10 - a Ytria webinar by
Our take on Domino 10 - a Ytria webinarOur take on Domino 10 - a Ytria webinar
Our take on Domino 10 - a Ytria webinarBenedek Menesi
182 views25 slides
Dominopoint 2012 - IBM Lotus Traveler High Availability in a nutshell by
Dominopoint 2012 - IBM Lotus Traveler High Availability in a nutshellDominopoint 2012 - IBM Lotus Traveler High Availability in a nutshell
Dominopoint 2012 - IBM Lotus Traveler High Availability in a nutshellRené Winkelmeyer
5.9K views59 slides
Show100: Making IBM Notes Traveler Highly Available by
Show100: Making IBM Notes Traveler Highly AvailableShow100: Making IBM Notes Traveler Highly Available
Show100: Making IBM Notes Traveler Highly AvailableMitch Cohen
11.8K views151 slides
BP209 doctors have scalpels, carpenters have hammers, ibm sametime develope... by
BP209   doctors have scalpels, carpenters have hammers, ibm sametime develope...BP209   doctors have scalpels, carpenters have hammers, ibm sametime develope...
BP209 doctors have scalpels, carpenters have hammers, ibm sametime develope...Carl Tyler
1.1K views40 slides
engage 2019 - 15 Domino v10 Admin features we LOVE by
engage 2019 - 15 Domino v10 Admin features we LOVEengage 2019 - 15 Domino v10 Admin features we LOVE
engage 2019 - 15 Domino v10 Admin features we LOVEChristoph Adler
1.3K views40 slides

What's hot(20)

Domino Security - not knowing is not an option - MWLUG 2015 by Darren Duke
Domino Security - not knowing is not an option - MWLUG 2015Domino Security - not knowing is not an option - MWLUG 2015
Domino Security - not knowing is not an option - MWLUG 2015
Darren Duke7.2K views
Our take on Domino 10 - a Ytria webinar by Benedek Menesi
Our take on Domino 10 - a Ytria webinarOur take on Domino 10 - a Ytria webinar
Our take on Domino 10 - a Ytria webinar
Benedek Menesi182 views
Dominopoint 2012 - IBM Lotus Traveler High Availability in a nutshell by René Winkelmeyer
Dominopoint 2012 - IBM Lotus Traveler High Availability in a nutshellDominopoint 2012 - IBM Lotus Traveler High Availability in a nutshell
Dominopoint 2012 - IBM Lotus Traveler High Availability in a nutshell
René Winkelmeyer5.9K views
Show100: Making IBM Notes Traveler Highly Available by Mitch Cohen
Show100: Making IBM Notes Traveler Highly AvailableShow100: Making IBM Notes Traveler Highly Available
Show100: Making IBM Notes Traveler Highly Available
Mitch Cohen11.8K views
BP209 doctors have scalpels, carpenters have hammers, ibm sametime develope... by Carl Tyler
BP209   doctors have scalpels, carpenters have hammers, ibm sametime develope...BP209   doctors have scalpels, carpenters have hammers, ibm sametime develope...
BP209 doctors have scalpels, carpenters have hammers, ibm sametime develope...
Carl Tyler1.1K views
engage 2019 - 15 Domino v10 Admin features we LOVE by Christoph Adler
engage 2019 - 15 Domino v10 Admin features we LOVEengage 2019 - 15 Domino v10 Admin features we LOVE
engage 2019 - 15 Domino v10 Admin features we LOVE
Christoph Adler1.3K views
Inform2015 - What's New in Domino 9 & 9.0.1 for Admins by Jared Roberts
Inform2015 - What's New in Domino 9 & 9.0.1 for AdminsInform2015 - What's New in Domino 9 & 9.0.1 for Admins
Inform2015 - What's New in Domino 9 & 9.0.1 for Admins
Jared Roberts2.1K views
Practical solutions for connections administrators lite by Sharon James
Practical solutions for connections administrators litePractical solutions for connections administrators lite
Practical solutions for connections administrators lite
Sharon James833 views
What's New in Notes, Sametime and Verse On-Premises by Gabriella Davis
What's New in Notes, Sametime and Verse On-PremisesWhat's New in Notes, Sametime and Verse On-Premises
What's New in Notes, Sametime and Verse On-Premises
Gabriella Davis4.6K views
Becoming A Connections Administrator by Gabriella Davis
Becoming A Connections AdministratorBecoming A Connections Administrator
Becoming A Connections Administrator
Gabriella Davis2.1K views
Open Mic IBM connections and IBM Verse on premise integration by jayeshpar2006
Open Mic IBM connections and IBM Verse on premise integrationOpen Mic IBM connections and IBM Verse on premise integration
Open Mic IBM connections and IBM Verse on premise integration
jayeshpar2006383 views
Connections install in 45 mins by Sharon James
Connections install in 45 minsConnections install in 45 mins
Connections install in 45 mins
Sharon James767 views
IBM Connections Adminblast - Connect17 (DEV 1268) by Nico Meisenzahl
IBM Connections Adminblast - Connect17 (DEV 1268)IBM Connections Adminblast - Connect17 (DEV 1268)
IBM Connections Adminblast - Connect17 (DEV 1268)
Nico Meisenzahl3.4K views
Ibm connections 5.0 installation step-by-step (windows and tds) by Fuangwith Sopharath
Ibm connections 5.0   installation step-by-step (windows and tds)Ibm connections 5.0   installation step-by-step (windows and tds)
Ibm connections 5.0 installation step-by-step (windows and tds)
Fuangwith Sopharath7.7K views
15 New Domino Admin Features Sure to Spark a Lasting Love Affair with Domino ... by Christoph Adler
15 New Domino Admin Features Sure to Spark a Lasting Love Affair with Domino ...15 New Domino Admin Features Sure to Spark a Lasting Love Affair with Domino ...
15 New Domino Admin Features Sure to Spark a Lasting Love Affair with Domino ...
Christoph Adler1.9K views
Connections Directory Integration: A Tour Through Best Practices for Directo... by Gabriella Davis
Connections Directory Integration:  A Tour Through Best Practices for Directo...Connections Directory Integration:  A Tour Through Best Practices for Directo...
Connections Directory Integration: A Tour Through Best Practices for Directo...
Gabriella Davis5.3K views
Open Mic on Sametime9 Install -Best Practices by Vinayak Tavargeri
Open Mic on Sametime9 Install  -Best PracticesOpen Mic on Sametime9 Install  -Best Practices
Open Mic on Sametime9 Install -Best Practices
Vinayak Tavargeri7.2K views

Viewers also liked

Partitioning IBM Connections Cloud Administration by
Partitioning IBM Connections Cloud AdministrationPartitioning IBM Connections Cloud Administration
Partitioning IBM Connections Cloud AdministrationMaurice Teeuwe
1.6K views38 slides
Connect2016 Shipping Domino by
Connect2016 Shipping DominoConnect2016 Shipping Domino
Connect2016 Shipping DominoFactor-y S.r.l.
1.7K views21 slides
Letter of Recommendation from Mr. Lawler by
Letter of Recommendation from Mr. LawlerLetter of Recommendation from Mr. Lawler
Letter of Recommendation from Mr. LawlerJulie Phelps
183 views1 slide
Javascript - The Good, the Bad and the Ugly by
Javascript - The Good, the Bad and the UglyJavascript - The Good, the Bad and the Ugly
Javascript - The Good, the Bad and the UglyThorsten Suckow-Homberg
3.7K views68 slides
docker : how to deploy Digital Experience in a container drinking a cup of co... by
docker : how to deploy Digital Experience in a container drinking a cup of co...docker : how to deploy Digital Experience in a container drinking a cup of co...
docker : how to deploy Digital Experience in a container drinking a cup of co...Matteo Bisi
2.8K views38 slides
.docker : how to deploy Digital Experience in a container drinking a cup of c... by
.docker : how to deploy Digital Experience in a container drinking a cup of c....docker : how to deploy Digital Experience in a container drinking a cup of c...
.docker : how to deploy Digital Experience in a container drinking a cup of c...Andrea Fontana
684 views38 slides

Viewers also liked(17)

Partitioning IBM Connections Cloud Administration by Maurice Teeuwe
Partitioning IBM Connections Cloud AdministrationPartitioning IBM Connections Cloud Administration
Partitioning IBM Connections Cloud Administration
Maurice Teeuwe1.6K views
Letter of Recommendation from Mr. Lawler by Julie Phelps
Letter of Recommendation from Mr. LawlerLetter of Recommendation from Mr. Lawler
Letter of Recommendation from Mr. Lawler
Julie Phelps183 views
docker : how to deploy Digital Experience in a container drinking a cup of co... by Matteo Bisi
docker : how to deploy Digital Experience in a container drinking a cup of co...docker : how to deploy Digital Experience in a container drinking a cup of co...
docker : how to deploy Digital Experience in a container drinking a cup of co...
Matteo Bisi2.8K views
.docker : how to deploy Digital Experience in a container drinking a cup of c... by Andrea Fontana
.docker : how to deploy Digital Experience in a container drinking a cup of c....docker : how to deploy Digital Experience in a container drinking a cup of c...
.docker : how to deploy Digital Experience in a container drinking a cup of c...
Andrea Fontana684 views
Lotus Notes: Live Long and Prosper by Peter Presnell
Lotus Notes: Live Long and ProsperLotus Notes: Live Long and Prosper
Lotus Notes: Live Long and Prosper
Peter Presnell5.6K views
Docker, how to use it. Organize a meeting with IBM products by Andrea Fontana
Docker, how to use it. Organize a meeting with IBM productsDocker, how to use it. Organize a meeting with IBM products
Docker, how to use it. Organize a meeting with IBM products
Andrea Fontana377 views
A World Without Applications by Red Pill Now
A World Without ApplicationsA World Without Applications
A World Without Applications
Red Pill Now3.7K views
IBM Connections 4.5 CR2 Installation - From Zero To Social Hero - 2.02 - with... by Frank Altenburg
IBM Connections 4.5 CR2 Installation - From Zero To Social Hero - 2.02 - with...IBM Connections 4.5 CR2 Installation - From Zero To Social Hero - 2.02 - with...
IBM Connections 4.5 CR2 Installation - From Zero To Social Hero - 2.02 - with...
Frank Altenburg54.3K views
IBM WebSphere Application Server traditional and Docker by David Currie
IBM WebSphere Application Server traditional and DockerIBM WebSphere Application Server traditional and Docker
IBM WebSphere Application Server traditional and Docker
David Currie10.3K views
IBM Presents the IBM Notes and Domino Roadmap by Teamstudio
IBM Presents the IBM Notes and Domino RoadmapIBM Presents the IBM Notes and Domino Roadmap
IBM Presents the IBM Notes and Domino Roadmap
Teamstudio18.3K views
BDD with Cucumber by Knoldus Inc.
BDD with CucumberBDD with Cucumber
BDD with Cucumber
Knoldus Inc.15.8K views
Akka Finite State Machine by Knoldus Inc.
Akka Finite State MachineAkka Finite State Machine
Akka Finite State Machine
Knoldus Inc.2.3K views
快速上手 Windows Containers 容器技術 (Docker Taipei) by Will Huang
快速上手 Windows Containers 容器技術 (Docker Taipei)快速上手 Windows Containers 容器技術 (Docker Taipei)
快速上手 Windows Containers 容器技術 (Docker Taipei)
Will Huang7.8K views
Rapid Application Development with Docker by Niklas Heidloff
Rapid Application Development with DockerRapid Application Development with Docker
Rapid Application Development with Docker
Niklas Heidloff1.8K views

Similar to Connect2016 - 1172 Shipping domino

Docking, loading, running domino on docker v12 by
Docking, loading, running domino on docker v12Docking, loading, running domino on docker v12
Docking, loading, running domino on docker v12Daniele Vistalli
272 views34 slides
z/OS V2.4 Preview: z/OS Container Extensions - Running Linux on Z docker cont... by
z/OS V2.4 Preview: z/OS Container Extensions - Running Linux on Z docker cont...z/OS V2.4 Preview: z/OS Container Extensions - Running Linux on Z docker cont...
z/OS V2.4 Preview: z/OS Container Extensions - Running Linux on Z docker cont...zOSCommserver
1.7K views40 slides
The Ultimate Administrator’s Guide to HCL Nomad Web by
The Ultimate Administrator’s Guide to HCL Nomad WebThe Ultimate Administrator’s Guide to HCL Nomad Web
The Ultimate Administrator’s Guide to HCL Nomad Webpanagenda
115 views71 slides
Populating your domino directory or any domino database with tivoli directory... by
Populating your domino directory or any domino database with tivoli directory...Populating your domino directory or any domino database with tivoli directory...
Populating your domino directory or any domino database with tivoli directory...dominion
2.1K views89 slides
Word press, the automated way by
Word press, the automated wayWord press, the automated way
Word press, the automated wayMichaël Perrin
36 views88 slides
Die ultimative Anleitung für HCL Nomad Web Administratoren by
Die ultimative Anleitung für HCL Nomad Web AdministratorenDie ultimative Anleitung für HCL Nomad Web Administratoren
Die ultimative Anleitung für HCL Nomad Web Administratorenpanagenda
107 views71 slides

Similar to Connect2016 - 1172 Shipping domino(20)

Docking, loading, running domino on docker v12 by Daniele Vistalli
Docking, loading, running domino on docker v12Docking, loading, running domino on docker v12
Docking, loading, running domino on docker v12
Daniele Vistalli272 views
z/OS V2.4 Preview: z/OS Container Extensions - Running Linux on Z docker cont... by zOSCommserver
z/OS V2.4 Preview: z/OS Container Extensions - Running Linux on Z docker cont...z/OS V2.4 Preview: z/OS Container Extensions - Running Linux on Z docker cont...
z/OS V2.4 Preview: z/OS Container Extensions - Running Linux on Z docker cont...
zOSCommserver1.7K views
The Ultimate Administrator’s Guide to HCL Nomad Web by panagenda
The Ultimate Administrator’s Guide to HCL Nomad WebThe Ultimate Administrator’s Guide to HCL Nomad Web
The Ultimate Administrator’s Guide to HCL Nomad Web
panagenda115 views
Populating your domino directory or any domino database with tivoli directory... by dominion
Populating your domino directory or any domino database with tivoli directory...Populating your domino directory or any domino database with tivoli directory...
Populating your domino directory or any domino database with tivoli directory...
dominion2.1K views
Die ultimative Anleitung für HCL Nomad Web Administratoren by panagenda
Die ultimative Anleitung für HCL Nomad Web AdministratorenDie ultimative Anleitung für HCL Nomad Web Administratoren
Die ultimative Anleitung für HCL Nomad Web Administratoren
panagenda107 views
A hitchhiker’s guide to troubleshooting ibm connections by Sharon James
A hitchhiker’s guide to troubleshooting ibm connectionsA hitchhiker’s guide to troubleshooting ibm connections
A hitchhiker’s guide to troubleshooting ibm connections
Sharon James369 views
ICONUK 2018 - IBM Notes V10 Performance Boost by Christoph Adler
ICONUK 2018 - IBM Notes V10 Performance BoostICONUK 2018 - IBM Notes V10 Performance Boost
ICONUK 2018 - IBM Notes V10 Performance Boost
Christoph Adler127 views
DNUG Webcast: IBM Notes V10 Performance Boost by Christoph Adler
DNUG Webcast: IBM Notes V10 Performance BoostDNUG Webcast: IBM Notes V10 Performance Boost
DNUG Webcast: IBM Notes V10 Performance Boost
Christoph Adler1.8K views
AdminCamp 2018 - IBM Notes V10 Performance Boost by Christoph Adler
AdminCamp 2018 - IBM Notes V10 Performance BoostAdminCamp 2018 - IBM Notes V10 Performance Boost
AdminCamp 2018 - IBM Notes V10 Performance Boost
Christoph Adler1.5K views
DACHNUG50 EVERYTHING-you-need-to-know-about-HCL-Nomad-Web.pdf by DNUG e.V.
DACHNUG50 EVERYTHING-you-need-to-know-about-HCL-Nomad-Web.pdfDACHNUG50 EVERYTHING-you-need-to-know-about-HCL-Nomad-Web.pdf
DACHNUG50 EVERYTHING-you-need-to-know-about-HCL-Nomad-Web.pdf
DNUG e.V.3 views
Docker presentasjon java bin by Olve Hansen
Docker presentasjon java binDocker presentasjon java bin
Docker presentasjon java bin
Olve Hansen455 views
IBM Connect 2016 BP1491: Virtual, Faster, Better! How to Virtualize the Rich ... by Daniel Reimann
IBM Connect 2016 BP1491: Virtual, Faster, Better! How to Virtualize the Rich ...IBM Connect 2016 BP1491: Virtual, Faster, Better! How to Virtualize the Rich ...
IBM Connect 2016 BP1491: Virtual, Faster, Better! How to Virtualize the Rich ...
Daniel Reimann515 views
BP108 Admin for the Developer -- Build and Secure Your Own IBM Lotus Domino S... by NerdGirlJess
BP108 Admin for the Developer -- Build and Secure Your Own IBM Lotus Domino S...BP108 Admin for the Developer -- Build and Secure Your Own IBM Lotus Domino S...
BP108 Admin for the Developer -- Build and Secure Your Own IBM Lotus Domino S...
NerdGirlJess3.5K views

Recently uploaded

Neo4j y GenAI by
Neo4j y GenAI Neo4j y GenAI
Neo4j y GenAI Neo4j
45 views41 slides
SAP FOR CONTRACT MANUFACTURING.pdf by
SAP FOR CONTRACT MANUFACTURING.pdfSAP FOR CONTRACT MANUFACTURING.pdf
SAP FOR CONTRACT MANUFACTURING.pdfVirendra Rai, PMP
11 views2 slides
Cycleops - Automate deployments on top of bare metal.pptx by
Cycleops - Automate deployments on top of bare metal.pptxCycleops - Automate deployments on top of bare metal.pptx
Cycleops - Automate deployments on top of bare metal.pptxThanassis Parathyras
31 views12 slides
DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut... by
DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut...DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut...
DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut...Deltares
6 views28 slides
Consulting for Data Monetization Maximizing the Profit Potential of Your Data... by
Consulting for Data Monetization Maximizing the Profit Potential of Your Data...Consulting for Data Monetization Maximizing the Profit Potential of Your Data...
Consulting for Data Monetization Maximizing the Profit Potential of Your Data...Flexsin
15 views10 slides
DevsRank by
DevsRankDevsRank
DevsRankdevsrank786
11 views1 slide

Recently uploaded(20)

Neo4j y GenAI by Neo4j
Neo4j y GenAI Neo4j y GenAI
Neo4j y GenAI
Neo4j45 views
Cycleops - Automate deployments on top of bare metal.pptx by Thanassis Parathyras
Cycleops - Automate deployments on top of bare metal.pptxCycleops - Automate deployments on top of bare metal.pptx
Cycleops - Automate deployments on top of bare metal.pptx
DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut... by Deltares
DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut...DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut...
DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut...
Deltares6 views
Consulting for Data Monetization Maximizing the Profit Potential of Your Data... by Flexsin
Consulting for Data Monetization Maximizing the Profit Potential of Your Data...Consulting for Data Monetization Maximizing the Profit Potential of Your Data...
Consulting for Data Monetization Maximizing the Profit Potential of Your Data...
Flexsin 15 views
DSD-INT 2023 European Digital Twin Ocean and Delft3D FM - Dols by Deltares
DSD-INT 2023 European Digital Twin Ocean and Delft3D FM - DolsDSD-INT 2023 European Digital Twin Ocean and Delft3D FM - Dols
DSD-INT 2023 European Digital Twin Ocean and Delft3D FM - Dols
Deltares7 views
DSD-INT 2023 Delft3D FM Suite 2024.01 1D2D - Beta testing programme - Geertsema by Deltares
DSD-INT 2023 Delft3D FM Suite 2024.01 1D2D - Beta testing programme - GeertsemaDSD-INT 2023 Delft3D FM Suite 2024.01 1D2D - Beta testing programme - Geertsema
DSD-INT 2023 Delft3D FM Suite 2024.01 1D2D - Beta testing programme - Geertsema
Deltares17 views
DSD-INT 2023 Next-Generation Flood Inundation Mapping for Taiwan - Delft3D FM... by Deltares
DSD-INT 2023 Next-Generation Flood Inundation Mapping for Taiwan - Delft3D FM...DSD-INT 2023 Next-Generation Flood Inundation Mapping for Taiwan - Delft3D FM...
DSD-INT 2023 Next-Generation Flood Inundation Mapping for Taiwan - Delft3D FM...
Deltares7 views
Advanced API Mocking Techniques by Dimpy Adhikary
Advanced API Mocking TechniquesAdvanced API Mocking Techniques
Advanced API Mocking Techniques
Dimpy Adhikary19 views
DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge... by Deltares
DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge...DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge...
DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge...
Deltares17 views
Generic or specific? Making sensible software design decisions by Bert Jan Schrijver
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisions
Roadmap y Novedades de producto by Neo4j
Roadmap y Novedades de productoRoadmap y Novedades de producto
Roadmap y Novedades de producto
Neo4j50 views
DSD-INT 2023 Leveraging the results of a 3D hydrodynamic model to improve the... by Deltares
DSD-INT 2023 Leveraging the results of a 3D hydrodynamic model to improve the...DSD-INT 2023 Leveraging the results of a 3D hydrodynamic model to improve the...
DSD-INT 2023 Leveraging the results of a 3D hydrodynamic model to improve the...
Deltares6 views
A first look at MariaDB 11.x features and ideas on how to use them by Federico Razzoli
A first look at MariaDB 11.x features and ideas on how to use themA first look at MariaDB 11.x features and ideas on how to use them
A first look at MariaDB 11.x features and ideas on how to use them
Federico Razzoli45 views
2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx by animuscrm
2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx
2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx
animuscrm13 views
Citi TechTalk Session 2: Kafka Deep Dive by confluent
Citi TechTalk Session 2: Kafka Deep DiveCiti TechTalk Session 2: Kafka Deep Dive
Citi TechTalk Session 2: Kafka Deep Dive
confluent17 views
What Can Employee Monitoring Software Do?​ by wAnywhere
What Can Employee Monitoring Software Do?​What Can Employee Monitoring Software Do?​
What Can Employee Monitoring Software Do?​
wAnywhere21 views

Connect2016 - 1172 Shipping domino

  • 1. AD-1172 Shipping Domino How to Put Domino in a Container and Live Happy Book of Recipes Matteo Bisi, Daniele Vistalli @ Factor-y
  • 2. About us Matteo Bisi • IBM Champions for Social Business (2014,2015,2016) • IBM Certified Advanced System Administrator - Notes and Domino 9.0 • System engineer @ Factor-y S.r.l. Daniele Vistalli • CEO & CTO @ Factor-y S.r.l. • R&D nerd with business focus
  • 4. Docker and containers in 1 slide Docker is a way to “package” your software in an image: • File system • System security (user/groups) & settings • TCP Network (ports that needs to be reachable) • Image inheritance is possible (incremental specialization) Docker is a way to “ship & run” your software to other systems: • Start an “image” to get a container where your software runs • Manage containers (start/stop/control etc) • The container runs regardless of the actual (underlying) system (VM, bare metal, etc)
  • 5. Why package domino ? (developers edition) Domino could be packaged to make developers happy • Think about automated testing:  Start a clean server every time and test your software  Create “acceptance” environments in seconds  Keep an archive of images for every software release to perfrom back-version debugging/testing (start a clean server in minutes) • Think about saving time:  Use a standard image your admin has built, just fire it up
  • 6. Why package domino ? (admin edition) • Linux based servers ? • Create images to support developers (standard deployment) • Create images to ship & deploy your product in cloud with high density  Pack the server, the software (NSFs and plugins) and deploy  Manage upgrades by just upgrading the image and attaching the data volume (see volumes) • Consolidate multiple servers on a single powerful machine but maintain complete isolation
  • 8. Program / data separation Domino is born with clean separation, perfect for packaging • Binary folder contains all server components • NOTESDATA contains the “server instance”  We all know that you can often move a server by copy/paste NOTESDATA + reinstall domino. THIS IS UNIQUE • NOTES.INI = core settings in a controllable and manageable place (no arcane binary or registry location)
  • 9. File systems A Domino server filesystem is well-defined and can be managed • NotesData : all your databases and config files • DAOS : if DAOS is enabled.. Attachments go here • Transaction Logs : If transaction logs enabled, you find them in a well defined place • FTIndexes : Full-text indexes can be placed in a specific location • View rebuild : Temporary rebuild data can also be placed “somewhere” This is perfect, Docker has “VOLUMES” a way to define filesystem attachments that “persist” even if a container is stopped/destroyed and rebuilt. VOLUMES allow to “mount” persistent filesystems to attach points defined in the IMAGE description
  • 10. Network services • Domino is a network server • Each service uses TCP ports • To expose a port from a container to the “external” world you need to declare those • Plan for your needs, identify network ports and EXPOSE EXPOSE 80 443 1352 (and eventually others)
  • 11. Install and configuration automation What about Domino setup and configuration ? Once again we’re lucky 1. Domino server silent install RUN /bin/bash -c "/tmp/sw-repo/install -silent -options /tmp/sw- repo/unix_response.dat" 2. Recorded server configuration /opt/ibm/domino/bin/server -silent /local/notesdata/playground.pds /local/notesdata/playground.txt
  • 12. Lab: Creating a domino image for developers
  • 13. What we need (installers, dockerfile) 1. Create a “build” directory where we place our “work files” 2. Put domino server installers 3. Put FP installers for domino server 4. Create a “dockerfile” aka “Image creation script” 5. Use docker CLI to create the image and build it
  • 14. DockerFile anatomy A “DockerFile” is a text file with docker commands, it • Declares the “base image” to inherit from • Copies files to the image filesystem • Executes commands in the image to setup things • Declares “VOLUME” mappings • Declares ports to “EXPOSE”d.
  • 15. Setup the environment (DockerFile 1/3) # Select the base image to inherit from FROM ubuntu:14.04 # Execute unix commands: add user, group and set limits RUN adduser notes RUN usermod -aG notes notes RUN usermod -d /local/notesdata notes RUN sed -i '$d' /etc/security/limits.conf RUN echo 'notes soft nofile 60000' >> /etc/security/limits.conf RUN echo 'notes hard nofile 80000' >> /etc/security/limits.conf RUN echo '# End of file' >> /etc/security/limits.conf
  • 16. Install domino (DockerFile 2/3) # Copy our installers from our build directory to the image file system COPY sw-repo/domino901/ /tmp/sw-repo/ # Silent install domino/ RUN /bin/bash -c "/tmp/sw-repo/install -silent -options /tmp/sw- repo/unix_response.dat"
  • 17. Configure domino and cleanup (DockerFile 3/3) # Prepare for configuration and run scripted configuration ENV NUI_NOTESDIR /opt/ibm/domino/ RUN cp /tmp/sw-repo/*.id /local/notesdata/ RUN cp /tmp/sw-repo/playground.* /local/notesdata/ RUN su notes -c "cd /local/notesdata && /opt/ibm/domino/bin/server -silent /local/notesdata/playground.pds /local/notesdata/playground.txt" # Declare TCP ports to be exposed EXPOSE 80 443 1352 # Clean up "tmp" RUN rm -rf /tmp/* -------------------------------------------- Now we build the image from the Unix Prompt: Docker> docker build –f <dockerfilename>
  • 18. Live Demo It’s true, not a dream
  • 20. Acknowledgements and Disclaimers Availability. References in this presentation to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. The workshops, sessions and materials have been prepared by IBM or the session speakers and reflect their own views. They are provided for informational purposes only, and are neither intended to, nor shall have the effect of being, legal or other guidance or advice to any participant. While efforts were made to verify the completeness and accuracy of the information contained in this presentation, it is provided AS-IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, this presentation or any other materials. Nothing contained in this presentation is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. All customer examples described are presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual environmental costs and performance characteristics may vary by customer. Nothing contained in these materials is intended to, nor shall have the effect of, stating or implying that any activities undertaken by you will result in any specific sales, revenue growth or other results.
  • 21. Acknowledgements and Disclaimers cont. © Copyright IBM Corporation 2015. All rights reserved. • U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. • IBM, the IBM logo, ibm.com, and IBM Domino are trademarks or registered trademarks of International Business Machines Corporation in the United States, other countries, or both. If these and other IBM trademarked terms are marked on their first occurrence in this information with a trademark symbol (® or ™), these symbols indicate U.S. registered or common law trademarks owned by IBM at the time this information was published. Such trademarks may also be registered or common law trademarks in other countries. A current list of IBM trademarks is available on the Web at “Copyright and trademark information” at www.ibm.com/legal/copytrade.shtml Docker is a trademark of Docker, Inc. Other company, product, or service names may be trademarks or service marks of others.