SlideShare a Scribd company logo
Smart Repository Management
                                      With Nexus




          MMXI. Ljubljana, Slovenia
                                                   Transforming Software Development

Thursday, September 22, 2011
Smart Repository Management




                               The Inception
                                    2005




                                                  Transforming Software Development

Thursday, September 22, 2011
Smart Repository Management




                                                                         The Inception

                           Bandwidth waste and congestion
                           Depending on network and external repository up-times
                           Unsolved “hosting” and collaboration
                           Exposed to mismanaged repositories



                                                                               Transforming Software Development

Thursday, September 22, 2011
Smart Repository Management




                                                                              The Inception

                           Laborious discovery of artifacts, plugins
                           Infrastructure maintenance hell (deploying, site publishing)
                           Non-trivial entry for new developers
                           Key-based security – who entered the office had full access



                                                                                     Transforming Software Development

Thursday, September 22, 2011
Smart Repository Management




                                                                     Proxy Repositories

                           Pluggable “remote” transport, caching locally
                           Isolation from outer world
                           Crossing two worlds: mirrors (content) and proxies (protocol)
                           Get what you need, when you need it



                                                                                 Transforming Software Development

Thursday, September 22, 2011
Smart Repository Management




                                                                    Hosted Repositories

                           Pluggable “local” storage
                           Simplify the needed infrastructure
                           Get all content treated same way
                           Keep your artifacts properly separated



                                                                              Transforming Software Development

Thursday, September 22, 2011
Smart Repository Management




                                                                                       Grouping

                           “Aggregating” multiple repositories into one
                           Hiding the actual source and URL(s) of Repositories
                           Order of processing in a group is important
                           Became de facto “standard” setup



                                                                                    Transforming Software Development

Thursday, September 22, 2011
Smart Repository Management




                                                                                             Typical Usage
                                                                 Open Source Ghetto
                                       Terracotta
                                                    Codehaus


                               Apache




                               JBoss


                                                                     Nexus

                                Dev




                                Test


                                                    Production
                                           QA                                          Precious
                                                                                      Developers
                                                                 Your Ghetto
                                                                                                      Transforming Software Development

Thursday, September 22, 2011
Smart Repository Management




                                                               Grouping Optimizations

                           Is corollary of Grouping
                           Based on repository policy
                           Based on repository routes
                           Parallel processing
                           Or ultimate: stop using grouping! (today not quite possible)

                                                                                          Transforming Software Development

Thursday, September 22, 2011
Smart Repository Management




                                                             Bridging and Mediation

                           Do it transparently
                           First application was to support Maven1 repositories
                           Layout changes (Maven1 – Maven2 bidi)
                           Content changes (GEM, OSGi recipes)



                                                                                     Transforming Software Development

Thursday, September 22, 2011
Smart Repository Management




                                                                                         Indexing

                           Pluggable Index Creators (POM, Classes, OSGi, ...)
                           Incremental updating and publishing
                           De facto standard, embraced by all IDEs, MRMs...
                           Source donated to Apache Maven Project as Maven Indexer



                                                                                   Transforming Software Development

Thursday, September 22, 2011
Smart Repository Management




                                                                                        Security

                           Integrated Apache Shiro
                           Supporting XML, LDAP, Atlassian Crowd, URL delegation...
                           Content secured using Repository Targets
                           Pluggable Realms



                                                                                 Transforming Software Development

Thursday, September 22, 2011
Smart Repository Management




                                                             Staging and Promotion

                           Dogma of Maven is immutable releases, no recall once deployed
                           To not release incremental versions, or use temporary locations
                           Single deployment URL, just set it in organization POM
                           Notification and Automation



                                                                                    Transforming Software Development

Thursday, September 22, 2011
Smart Repository Management




                                                                    Artifact Procurement

                           Before was laborious, error prone and difficult
                           Firewall with user extensible rules
                           Strategies: “Ask First”, “Check Later”
                           Easy integration



                                                                               Transforming Software Development

Thursday, September 22, 2011
Smart Repository Management




                               Conclusions
                                What We Learned




                                                     Transforming Software Development

Thursday, September 22, 2011
Smart Repository Management




                                                                                  Maven Fact

                           Maven is usually wrongly recognized as a “CLI build tool”,
                           but is much more than that, it’s


                                            infrastructure.

                                                                                    Transforming Software Development

Thursday, September 22, 2011
Smart Repository Management




                                                 Refreshing Diversity – Unified!
                           Maven Artifact Repository
                           Static Sites Repository
                           Eclipse P2 Bundle Repository
                           Apache Felix OSGi Bundle Repository
                           Ruby GEM Repository
                           OSGi Recipes
                           Anything we missed?
                                                                      Transforming Software Development

Thursday, September 22, 2011
Smart Repository Management




                                                                Why do you need it?
                           Hosts what your build outputs
                           Proxies what your build consumes
                           Bridges and mediates between different kind of repositories
                           Has motto “no content duplication” encoded in it’s DNA
                           Eases “every day routine”
                           Gives tools to implement complex workflows
                           Easy integration using REST API
                                                                                  Transforming Software Development

Thursday, September 22, 2011
Smart Repository Management




                                                    What to proxy (outbound)?


                           Do not proxy “aggregated” repositories (information loss)
                           Do not proxy “staging” repositories (releases disappears)
                           Do not proxy snapshot repositories, unless a must




                                                                                   Transforming Software Development

Thursday, September 22, 2011
Smart Repository Management




                                     How to consume (inbound) – today

                           Groups in Nexus are cheap
                           Groups of groups
                           Per project groups
                           Groups per developers, CI and public



                                                                     Transforming Software Development

Thursday, September 22, 2011
Smart Repository Management




                                      How to consume (inbound) – future
                           Mirror of all – The typical setup since Proximity, has it’s known
                           problems, information loss
                           Mirror per Repository – The most precise control, but not
                           maintainable
                           Dynamic mirror discovery – Intelligent mirror selection and
                           proper fallback, magic on both ends, no information loss
                           HTTP Proxy – Simple maintenance, still needs user side
                           configuration, but magic happens on Nexus side, no information
                           loss
                                                                                     Transforming Software Development

Thursday, September 22, 2011
Smart Repository Management




                                       Repositories in POM, yes or no?


                           No doubt:

                           yes

                                                             Transforming Software Development

Thursday, September 22, 2011
Smart Repository Management




                                                            In-house Snapshots

                                Mirko
                                                 SCM   CI       Maven                   Nx
                               Radirko




                                         Local
             Maven
                                         Repo




                                                                        Transforming Software Development

Thursday, September 22, 2011
Smart Repository Management




                                                                Third Party Snapshots


                           “Freeze” them at least,
                           but better is to build from source




                                                                            Transforming Software Development

Thursday, September 22, 2011
Smart Repository Management




                               Central Repository
                                    Facts and Stats




                                                         Transforming Software Development

Thursday, September 22, 2011
Smart Repository Management




                                  Transforming Software Development

Thursday, September 22, 2011
Smart Repository Management




                                  Transforming Software Development

Thursday, September 22, 2011
Smart Repository Management




                                  Transforming Software Development

Thursday, September 22, 2011
Smart Repository Management




                                                             Questions?
                           Tamas Cservenak
                           Sonatype Nexus Lead Developer
                           http://twitter.com/cstamas




                           Thanks,
                           ~t~
                                                              Transforming Software Development

Thursday, September 22, 2011

More Related Content

Viewers also liked

A "Firewall" for Bad Binaries
A "Firewall" for Bad BinariesA "Firewall" for Bad Binaries
A "Firewall" for Bad Binaries
Sonatype
 
How to Combine Artifacts and Source in a Single Server
How to Combine Artifacts and Source in a Single ServerHow to Combine Artifacts and Source in a Single Server
How to Combine Artifacts and Source in a Single Server
Perforce
 
Repository Development at LC - Access 2009
Repository Development at LC - Access 2009Repository Development at LC - Access 2009
Repository Development at LC - Access 2009
Dan Chudnov
 
Best practices for using open source software in the enterprise
Best practices for using open source software in the enterpriseBest practices for using open source software in the enterprise
Best practices for using open source software in the enterprise
Marcel de Vries
 
Are you remotely agile? SGFLA 2016
Are you remotely agile? SGFLA 2016Are you remotely agile? SGFLA 2016
Are you remotely agile? SGFLA 2016
Mark Kilby
 
Learning Maven by Example
Learning Maven by ExampleLearning Maven by Example
Learning Maven by Example
Hsi-Kai Wang
 
White Paper: Concepts and Benefits of Repository Management
White Paper: Concepts and Benefits of Repository ManagementWhite Paper: Concepts and Benefits of Repository Management
White Paper: Concepts and Benefits of Repository Management
Sonatype
 
.NET Standard - Under the Hood
.NET Standard - Under the Hood.NET Standard - Under the Hood
.NET Standard - Under the Hood
Immo Landwerth
 
.NET Standard - Introduction
.NET Standard - Introduction.NET Standard - Introduction
.NET Standard - Introduction
Immo Landwerth
 
Visual studio 2017
Visual studio 2017Visual studio 2017
Visual studio 2017
Larry Nung
 
Using Jenkins XML API
Using Jenkins XML APIUsing Jenkins XML API
Using Jenkins XML APIAnton Weiss
 
Repository Management with JFrog Artifactory
Repository Management with JFrog ArtifactoryRepository Management with JFrog Artifactory
Repository Management with JFrog Artifactory
Stephen Chin
 
Jenkins CI presentation
Jenkins CI presentationJenkins CI presentation
Jenkins CI presentation
Jonathan Holloway
 
Continuous Delivery with Jenkins Workflow
Continuous Delivery with Jenkins WorkflowContinuous Delivery with Jenkins Workflow
Continuous Delivery with Jenkins Workflow
Udaypal Aarkoti
 
Visual studio 2017 - Launch Event Keynote
Visual studio 2017  - Launch Event KeynoteVisual studio 2017  - Launch Event Keynote
Visual studio 2017 - Launch Event Keynote
Delta-N
 
Pimp your Continuous Delivery Pipeline with Jenkins workflow (W-JAX 14)
Pimp your Continuous Delivery Pipeline with Jenkins workflow (W-JAX 14)Pimp your Continuous Delivery Pipeline with Jenkins workflow (W-JAX 14)
Pimp your Continuous Delivery Pipeline with Jenkins workflow (W-JAX 14)
CloudBees
 
Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...
Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...
Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...
Docker, Inc.
 
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
Sonatype
 
Overview of the new .NET Core and .NET Platform Standard
Overview of the new .NET Core and .NET Platform StandardOverview of the new .NET Core and .NET Platform Standard
Overview of the new .NET Core and .NET Platform Standard
Alex Thissen
 

Viewers also liked (20)

A "Firewall" for Bad Binaries
A "Firewall" for Bad BinariesA "Firewall" for Bad Binaries
A "Firewall" for Bad Binaries
 
Maven Nexus
Maven NexusMaven Nexus
Maven Nexus
 
How to Combine Artifacts and Source in a Single Server
How to Combine Artifacts and Source in a Single ServerHow to Combine Artifacts and Source in a Single Server
How to Combine Artifacts and Source in a Single Server
 
Repository Development at LC - Access 2009
Repository Development at LC - Access 2009Repository Development at LC - Access 2009
Repository Development at LC - Access 2009
 
Best practices for using open source software in the enterprise
Best practices for using open source software in the enterpriseBest practices for using open source software in the enterprise
Best practices for using open source software in the enterprise
 
Are you remotely agile? SGFLA 2016
Are you remotely agile? SGFLA 2016Are you remotely agile? SGFLA 2016
Are you remotely agile? SGFLA 2016
 
Learning Maven by Example
Learning Maven by ExampleLearning Maven by Example
Learning Maven by Example
 
White Paper: Concepts and Benefits of Repository Management
White Paper: Concepts and Benefits of Repository ManagementWhite Paper: Concepts and Benefits of Repository Management
White Paper: Concepts and Benefits of Repository Management
 
.NET Standard - Under the Hood
.NET Standard - Under the Hood.NET Standard - Under the Hood
.NET Standard - Under the Hood
 
.NET Standard - Introduction
.NET Standard - Introduction.NET Standard - Introduction
.NET Standard - Introduction
 
Visual studio 2017
Visual studio 2017Visual studio 2017
Visual studio 2017
 
Using Jenkins XML API
Using Jenkins XML APIUsing Jenkins XML API
Using Jenkins XML API
 
Repository Management with JFrog Artifactory
Repository Management with JFrog ArtifactoryRepository Management with JFrog Artifactory
Repository Management with JFrog Artifactory
 
Jenkins CI presentation
Jenkins CI presentationJenkins CI presentation
Jenkins CI presentation
 
Continuous Delivery with Jenkins Workflow
Continuous Delivery with Jenkins WorkflowContinuous Delivery with Jenkins Workflow
Continuous Delivery with Jenkins Workflow
 
Visual studio 2017 - Launch Event Keynote
Visual studio 2017  - Launch Event KeynoteVisual studio 2017  - Launch Event Keynote
Visual studio 2017 - Launch Event Keynote
 
Pimp your Continuous Delivery Pipeline with Jenkins workflow (W-JAX 14)
Pimp your Continuous Delivery Pipeline with Jenkins workflow (W-JAX 14)Pimp your Continuous Delivery Pipeline with Jenkins workflow (W-JAX 14)
Pimp your Continuous Delivery Pipeline with Jenkins workflow (W-JAX 14)
 
Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...
Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...
Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...
 
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
 
Overview of the new .NET Core and .NET Platform Standard
Overview of the new .NET Core and .NET Platform StandardOverview of the new .NET Core and .NET Platform Standard
Overview of the new .NET Core and .NET Platform Standard
 

Similar to Smart Repository Management (openBlend 2011, Ljubljana, Slovenia)

Nuxeo, an open source platform for content-centric business applications
Nuxeo, an open source platform for content-centric business applicationsNuxeo, an open source platform for content-centric business applications
Nuxeo, an open source platform for content-centric business applications
Stefane Fermigier
 
Nuxeo Open Source ECM, OW2con 11, Nov 24-25, Paris
Nuxeo Open Source ECM, OW2con 11, Nov 24-25, ParisNuxeo Open Source ECM, OW2con 11, Nov 24-25, Paris
Nuxeo Open Source ECM, OW2con 11, Nov 24-25, ParisOW2
 
Practical SOA for the Solution Architect
Practical SOA for the Solution Architect Practical SOA for the Solution Architect
Practical SOA for the Solution Architect WSO2
 
Framework
FrameworkFramework
Framework
Aditya Trivedi
 
Drupal intro-short
Drupal intro-shortDrupal intro-short
Drupal intro-short
eojthebrave
 
Integrating Quality into Project Portfolio Management
Integrating Quality into Project Portfolio ManagementIntegrating Quality into Project Portfolio Management
Integrating Quality into Project Portfolio Management
Chris Sterling
 
Android for Java Developers
Android for Java DevelopersAndroid for Java Developers
Android for Java Developers
Marko Gargenta
 
Open stack swift_essex_meetup_2012_06_21_judd_maltin
Open stack swift_essex_meetup_2012_06_21_judd_maltinOpen stack swift_essex_meetup_2012_06_21_judd_maltin
Open stack swift_essex_meetup_2012_06_21_judd_maltin
Kamesh Pemmaraju
 
Spagic 3: OSGi Universal Middleware for an effective SOA solution
Spagic 3: OSGi Universal Middleware for an effective SOA solution Spagic 3: OSGi Universal Middleware for an effective SOA solution
Spagic 3: OSGi Universal Middleware for an effective SOA solution
SpagoWorld
 
Nuxeo EP 5 2
Nuxeo EP 5 2Nuxeo EP 5 2
Nuxeo EP 5 2
Nuxeo
 
Sapphire
SapphireSapphire
Sapphire
Vitaly Baum
 
Mark Logic Information Analysis Trends Webinar
Mark Logic Information Analysis Trends WebinarMark Logic Information Analysis Trends Webinar
Mark Logic Information Analysis Trends Webinar
Dave Kellogg
 
Updating Your Website to Drupal 7
Updating Your Website to Drupal 7Updating Your Website to Drupal 7
Updating Your Website to Drupal 7
Acquia
 
BBC DMI Project Info for Backstage (Part 3)
BBC DMI Project Info for Backstage (Part 3)BBC DMI Project Info for Backstage (Part 3)
BBC DMI Project Info for Backstage (Part 3)
Ian Forrester
 
Jimwebber soa
Jimwebber soaJimwebber soa
Jimwebber soad0nn9n
 
01.19.2011 AIIT InfoTalk on OpenStack
01.19.2011 AIIT InfoTalk on OpenStack01.19.2011 AIIT InfoTalk on OpenStack
01.19.2011 AIIT InfoTalk on OpenStack
Adam Johnson
 
Presentatie Cisco NetApp Proact over FlexPod
Presentatie Cisco NetApp Proact over FlexPodPresentatie Cisco NetApp Proact over FlexPod
Presentatie Cisco NetApp Proact over FlexPod
Proact Netherlands B.V.
 
Inside Android's Dalvik VM - NEJUG Nov 2011
Inside Android's Dalvik VM - NEJUG Nov 2011Inside Android's Dalvik VM - NEJUG Nov 2011
Inside Android's Dalvik VM - NEJUG Nov 2011
Doug Hawkins
 
What to curate? Preserving and Curating Software-Based Art
What to curate? Preserving and Curating Software-Based ArtWhat to curate? Preserving and Curating Software-Based Art
What to curate? Preserving and Curating Software-Based Art
neilgrindley
 

Similar to Smart Repository Management (openBlend 2011, Ljubljana, Slovenia) (20)

Nuxeo, an open source platform for content-centric business applications
Nuxeo, an open source platform for content-centric business applicationsNuxeo, an open source platform for content-centric business applications
Nuxeo, an open source platform for content-centric business applications
 
Nuxeo Open Source ECM, OW2con 11, Nov 24-25, Paris
Nuxeo Open Source ECM, OW2con 11, Nov 24-25, ParisNuxeo Open Source ECM, OW2con 11, Nov 24-25, Paris
Nuxeo Open Source ECM, OW2con 11, Nov 24-25, Paris
 
Practical SOA for the Solution Architect
Practical SOA for the Solution Architect Practical SOA for the Solution Architect
Practical SOA for the Solution Architect
 
Framework
FrameworkFramework
Framework
 
Drupal intro-short
Drupal intro-shortDrupal intro-short
Drupal intro-short
 
Integrating Quality into Project Portfolio Management
Integrating Quality into Project Portfolio ManagementIntegrating Quality into Project Portfolio Management
Integrating Quality into Project Portfolio Management
 
Android for Java Developers
Android for Java DevelopersAndroid for Java Developers
Android for Java Developers
 
Open stack swift_essex_meetup_2012_06_21_judd_maltin
Open stack swift_essex_meetup_2012_06_21_judd_maltinOpen stack swift_essex_meetup_2012_06_21_judd_maltin
Open stack swift_essex_meetup_2012_06_21_judd_maltin
 
Spagic 3: OSGi Universal Middleware for an effective SOA solution
Spagic 3: OSGi Universal Middleware for an effective SOA solution Spagic 3: OSGi Universal Middleware for an effective SOA solution
Spagic 3: OSGi Universal Middleware for an effective SOA solution
 
Nuxeo EP 5 2
Nuxeo EP 5 2Nuxeo EP 5 2
Nuxeo EP 5 2
 
Sapphire
SapphireSapphire
Sapphire
 
Mark Logic Information Analysis Trends Webinar
Mark Logic Information Analysis Trends WebinarMark Logic Information Analysis Trends Webinar
Mark Logic Information Analysis Trends Webinar
 
On Semantics in Onto-DIY
On Semantics in Onto-DIYOn Semantics in Onto-DIY
On Semantics in Onto-DIY
 
Updating Your Website to Drupal 7
Updating Your Website to Drupal 7Updating Your Website to Drupal 7
Updating Your Website to Drupal 7
 
BBC DMI Project Info for Backstage (Part 3)
BBC DMI Project Info for Backstage (Part 3)BBC DMI Project Info for Backstage (Part 3)
BBC DMI Project Info for Backstage (Part 3)
 
Jimwebber soa
Jimwebber soaJimwebber soa
Jimwebber soa
 
01.19.2011 AIIT InfoTalk on OpenStack
01.19.2011 AIIT InfoTalk on OpenStack01.19.2011 AIIT InfoTalk on OpenStack
01.19.2011 AIIT InfoTalk on OpenStack
 
Presentatie Cisco NetApp Proact over FlexPod
Presentatie Cisco NetApp Proact over FlexPodPresentatie Cisco NetApp Proact over FlexPod
Presentatie Cisco NetApp Proact over FlexPod
 
Inside Android's Dalvik VM - NEJUG Nov 2011
Inside Android's Dalvik VM - NEJUG Nov 2011Inside Android's Dalvik VM - NEJUG Nov 2011
Inside Android's Dalvik VM - NEJUG Nov 2011
 
What to curate? Preserving and Curating Software-Based Art
What to curate? Preserving and Curating Software-Based ArtWhat to curate? Preserving and Curating Software-Based Art
What to curate? Preserving and Curating Software-Based Art
 

Recently uploaded

Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
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
 
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
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
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
 
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
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
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
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
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
 

Recently uploaded (20)

Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
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
 
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
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 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...
 
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
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
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 !
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
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
 

Smart Repository Management (openBlend 2011, Ljubljana, Slovenia)

  • 1. Smart Repository Management With Nexus MMXI. Ljubljana, Slovenia Transforming Software Development Thursday, September 22, 2011
  • 2. Smart Repository Management The Inception 2005 Transforming Software Development Thursday, September 22, 2011
  • 3. Smart Repository Management The Inception Bandwidth waste and congestion Depending on network and external repository up-times Unsolved “hosting” and collaboration Exposed to mismanaged repositories Transforming Software Development Thursday, September 22, 2011
  • 4. Smart Repository Management The Inception Laborious discovery of artifacts, plugins Infrastructure maintenance hell (deploying, site publishing) Non-trivial entry for new developers Key-based security – who entered the office had full access Transforming Software Development Thursday, September 22, 2011
  • 5. Smart Repository Management Proxy Repositories Pluggable “remote” transport, caching locally Isolation from outer world Crossing two worlds: mirrors (content) and proxies (protocol) Get what you need, when you need it Transforming Software Development Thursday, September 22, 2011
  • 6. Smart Repository Management Hosted Repositories Pluggable “local” storage Simplify the needed infrastructure Get all content treated same way Keep your artifacts properly separated Transforming Software Development Thursday, September 22, 2011
  • 7. Smart Repository Management Grouping “Aggregating” multiple repositories into one Hiding the actual source and URL(s) of Repositories Order of processing in a group is important Became de facto “standard” setup Transforming Software Development Thursday, September 22, 2011
  • 8. Smart Repository Management Typical Usage Open Source Ghetto Terracotta Codehaus Apache JBoss Nexus Dev Test Production QA Precious Developers Your Ghetto Transforming Software Development Thursday, September 22, 2011
  • 9. Smart Repository Management Grouping Optimizations Is corollary of Grouping Based on repository policy Based on repository routes Parallel processing Or ultimate: stop using grouping! (today not quite possible) Transforming Software Development Thursday, September 22, 2011
  • 10. Smart Repository Management Bridging and Mediation Do it transparently First application was to support Maven1 repositories Layout changes (Maven1 – Maven2 bidi) Content changes (GEM, OSGi recipes) Transforming Software Development Thursday, September 22, 2011
  • 11. Smart Repository Management Indexing Pluggable Index Creators (POM, Classes, OSGi, ...) Incremental updating and publishing De facto standard, embraced by all IDEs, MRMs... Source donated to Apache Maven Project as Maven Indexer Transforming Software Development Thursday, September 22, 2011
  • 12. Smart Repository Management Security Integrated Apache Shiro Supporting XML, LDAP, Atlassian Crowd, URL delegation... Content secured using Repository Targets Pluggable Realms Transforming Software Development Thursday, September 22, 2011
  • 13. Smart Repository Management Staging and Promotion Dogma of Maven is immutable releases, no recall once deployed To not release incremental versions, or use temporary locations Single deployment URL, just set it in organization POM Notification and Automation Transforming Software Development Thursday, September 22, 2011
  • 14. Smart Repository Management Artifact Procurement Before was laborious, error prone and difficult Firewall with user extensible rules Strategies: “Ask First”, “Check Later” Easy integration Transforming Software Development Thursday, September 22, 2011
  • 15. Smart Repository Management Conclusions What We Learned Transforming Software Development Thursday, September 22, 2011
  • 16. Smart Repository Management Maven Fact Maven is usually wrongly recognized as a “CLI build tool”, but is much more than that, it’s infrastructure. Transforming Software Development Thursday, September 22, 2011
  • 17. Smart Repository Management Refreshing Diversity – Unified! Maven Artifact Repository Static Sites Repository Eclipse P2 Bundle Repository Apache Felix OSGi Bundle Repository Ruby GEM Repository OSGi Recipes Anything we missed? Transforming Software Development Thursday, September 22, 2011
  • 18. Smart Repository Management Why do you need it? Hosts what your build outputs Proxies what your build consumes Bridges and mediates between different kind of repositories Has motto “no content duplication” encoded in it’s DNA Eases “every day routine” Gives tools to implement complex workflows Easy integration using REST API Transforming Software Development Thursday, September 22, 2011
  • 19. Smart Repository Management What to proxy (outbound)? Do not proxy “aggregated” repositories (information loss) Do not proxy “staging” repositories (releases disappears) Do not proxy snapshot repositories, unless a must Transforming Software Development Thursday, September 22, 2011
  • 20. Smart Repository Management How to consume (inbound) – today Groups in Nexus are cheap Groups of groups Per project groups Groups per developers, CI and public Transforming Software Development Thursday, September 22, 2011
  • 21. Smart Repository Management How to consume (inbound) – future Mirror of all – The typical setup since Proximity, has it’s known problems, information loss Mirror per Repository – The most precise control, but not maintainable Dynamic mirror discovery – Intelligent mirror selection and proper fallback, magic on both ends, no information loss HTTP Proxy – Simple maintenance, still needs user side configuration, but magic happens on Nexus side, no information loss Transforming Software Development Thursday, September 22, 2011
  • 22. Smart Repository Management Repositories in POM, yes or no? No doubt: yes Transforming Software Development Thursday, September 22, 2011
  • 23. Smart Repository Management In-house Snapshots Mirko SCM CI Maven Nx Radirko Local Maven Repo Transforming Software Development Thursday, September 22, 2011
  • 24. Smart Repository Management Third Party Snapshots “Freeze” them at least, but better is to build from source Transforming Software Development Thursday, September 22, 2011
  • 25. Smart Repository Management Central Repository Facts and Stats Transforming Software Development Thursday, September 22, 2011
  • 26. Smart Repository Management Transforming Software Development Thursday, September 22, 2011
  • 27. Smart Repository Management Transforming Software Development Thursday, September 22, 2011
  • 28. Smart Repository Management Transforming Software Development Thursday, September 22, 2011
  • 29. Smart Repository Management Questions? Tamas Cservenak Sonatype Nexus Lead Developer http://twitter.com/cstamas Thanks, ~t~ Transforming Software Development Thursday, September 22, 2011