SlideShare ist ein Scribd-Unternehmen logo
1 von 27
Downloaden Sie, um offline zu lesen
DevOps Practices and Tools
of a Small Company
in love with Open Source
Francesco Chicchiriccò, Industrial Keynote @ QUDOS 2017
L’Aquila, April 27th
2017
About me: Tirasa...
● 2001: MD in Computer Science
● 2003: starts ePOSSE
● 2007: ePOSSE is preferred
IAM delivery partner for Sun Microsystems Italia
● 2008: ePOSSE joins the Dutch Everett group as Everett Italia
● 2011: starts Tirasa, focusing on Open Source IAM
...and more
● At The Apache Software Foundation:
○ Member
○ V.P. Apache Syncope
○ Cocoon, Olingo, jClouds, CXF, OpenJPA, PonyMail…
● Google Summer of Code mentor
● At GitHub:
About Tirasa: Inception
● After Sun Microsystem acquisition by Oracle, the future of
Waveset was uncertain
● 2010: Syncope project started to fill this gap
○ 100% Open Source
○ Based on Sun’s Identity Connectors, now ConnId
● 2011: Tirasa started, to provide enterprise services around
Syncope and other Open Source IAM technologies
● 2012: Tirasa donates Syncope IdM to The ASF, and it
becomes Apache Syncope
About Tirasa: Today
● Small (10), highly skilled staff
○ 1 ASF member
○ 4 PMC members
○ 1 ASF committer
● Create and leverage Open Source tools for Enterprise
Integration
About Tirasa: Services and Expertise
● Identity & Access Management (IAM)
○ Tailored Single-Day Workshop
○ Proof-of-Concept
○ Training
○ Development Support
Do it yourself and speed up implementation
○ Production Support
Take care of your rolled-out systems
● Delivery, Consultancy and System Integration
About Tirasa: CHOReVOLUTION
● EU funded project via H2020
● Dynamic and secured choreographies via distributed
coordination of services
● Tirasa responsible of developing Apache Syncope and
ConnId as security enablers of the platform
The Apache Syncope project
● Inception by Tirasa in 2010
● Entered ASF incubator in February 2012
● Graduated as TLP in November 2012
● Active community
○ 18 committers, 6 contributors
○ > 200 mailing list subscribers
○ 40 releases
● Joined GSoC in 2016
Who is using Apache Syncope?
Apache Syncope for High Education
Indirect customers Direct customers Evaluating
Open Development
Learned from The ASF: Open Development*
● Not (necessarily) the same as Open Source
● Many eyeballs
● Written communication, asynchronous, distributed
● No meetings ??!?
● Quick feedback
● Learn from others
● Don’t be afraid to make mistakes in public
* courtesy of bdelacretaz@apache.org
Open Development basics
● Issue tracker for everything:
○ features
○ bugs
○ test setup
○ server upgrades
● Discoverable repository:
○ code
○ node / container / VM
configuration & orchestration
● Continuous integration
Open Development: (1) Share
● Move away from 1:n / m:1 / n:k
e-mails to central hub
(mailing list, issue tracker,
code repository, …)
● Speak in URLs:
○ http://my.tracker/ISSUE-XXX
○ http://my.archive/xxx-yyy-zzz.html
○ http://my.code/xyx-a5f-ssd-556v
Open Development: (2) Real-time updates
● The project’s activity stream is populated by events from:
○ issue tracker
○ mailing list(s)
○ code repository
○ CI
● Who needs status meetings??!?
Open Development: (3) Broadcast
● Create an issue on the tracker rather than asking Fabio to fix:
○ code bug / improvement / refinement
○ missing / wrong documentation
○ deployments
○ configuration
● Traceable, Shareable
● Help building release notes
● Kanban board-able!
Open Development: (4) Searchable archives
● Live, self-updating knowledge base of project information:
○ issue tracker
○ mailing list(s)
○ code repository
○ CI
● Nothing helps more to get new project members up to speed
The five Wisdoms of Open Development
1. If it didn’t happen on the dev ML, it didn’t happen
2. Whatever you’re working on, it must be backed by an issue
on the tracker
3. If it’s not in the source code control system, it doesn’t exist
4. If it’s important, it needs a permanent URL
5. What happened while you were away?
Check the activity stream and archives.
Bring in the robots
● Automatic unit tests running on all
incoming contributions
● Automatic deployments for end-to-end
tests
● Notifications back to issue tracker /
mailing list
● Nightly builds
Tools
In practice: push scenarios at Tirasa
Scenario 1: Apache Syncope
Push to https://git-wip-us.apache.org/repos/asf/syncope.git
1. Notifies commits@syncope.apache.org
2. Triggers https://builds.apache.org/ (Jenkins)
(errors back to dev@syncope.apache.org)
a. Deploys to http://repository.apache.org/content/groups/snapshots/
b. Deploys to http://syncope-vm.apache.org:9080/
3. Comments https://issues.apache.org/jira/browse/SYNCOPE
4. R / O mirror to https://github.com/apache/syncope.git
a. Triggers https://travis-ci.org/apache/syncope/
b. Triggers https://ci.appveyor.com/project/ApacheSoftwareFoundation/syncope
Scenario 2: ConnId
Push to https://github.com/Tirasa/ConnId.git
1. Notifies connid-dev@google-groups.com
2. Triggers http://jenkins.tirasa.net
(errors back to connid-dev@google-groups.com)
3. Comments https://connid.atlassian.net/projects/BASE/
4. Triggers https://travis-ci.org/Tirasa/ConnId/
a. Deploys to https://oss.sonatype.org/content/repositories/snapshots
5. Triggers https://scan.coverity.com/projects/tirasa-connid
Scenario 3: Open Source IAM demo
Push to
https://sra.tirasa.net/gitbucket/git/Tirasa/SyncopeVMDemo.git
1. Notifies syncopevmdemo@tirasa.net
2. Triggers http://jenkins.tirasa.net
(errors back to syncopevmdemo@tirasa.net)
a. Build Docker image
b. Deploys to private registry
c. Synchronize with Dropbox for public download (on request)
3. Comments https://sra.tirasa.net/gitbucket/Tirasa/SyncopeVMDemo/issues
Thank you
… questions?

Weitere ähnliche Inhalte

Was ist angesagt?

Python Pune October Meetup 2015
Python Pune October Meetup 2015Python Pune October Meetup 2015
Python Pune October Meetup 2015Abhijeet Kasurde
 
Contributing to Open Source
Contributing to Open SourceContributing to Open Source
Contributing to Open SourceAll Things Open
 
The printing press of 2021 - using GitLab to publish the VSHN Handbook
The printing press of 2021 - using GitLab to publish the VSHN HandbookThe printing press of 2021 - using GitLab to publish the VSHN Handbook
The printing press of 2021 - using GitLab to publish the VSHN HandbookAarno Aukia
 
DevDay Napoli - Scala - Dalla Svizzera con furore
DevDay Napoli - Scala - Dalla Svizzera con furoreDevDay Napoli - Scala - Dalla Svizzera con furore
DevDay Napoli - Scala - Dalla Svizzera con furoreDevDay
 
TYPO3 6.2 LTS - TYPO3 Conference Stuttgart, 2013
TYPO3 6.2 LTS - TYPO3 Conference Stuttgart, 2013TYPO3 6.2 LTS - TYPO3 Conference Stuttgart, 2013
TYPO3 6.2 LTS - TYPO3 Conference Stuttgart, 2013Ernesto Baschny
 

Was ist angesagt? (6)

Python Pune October Meetup 2015
Python Pune October Meetup 2015Python Pune October Meetup 2015
Python Pune October Meetup 2015
 
Contributing to Open Source
Contributing to Open SourceContributing to Open Source
Contributing to Open Source
 
The printing press of 2021 - using GitLab to publish the VSHN Handbook
The printing press of 2021 - using GitLab to publish the VSHN HandbookThe printing press of 2021 - using GitLab to publish the VSHN Handbook
The printing press of 2021 - using GitLab to publish the VSHN Handbook
 
DevDay Napoli - Scala - Dalla Svizzera con furore
DevDay Napoli - Scala - Dalla Svizzera con furoreDevDay Napoli - Scala - Dalla Svizzera con furore
DevDay Napoli - Scala - Dalla Svizzera con furore
 
Psicquic tutorial
Psicquic tutorialPsicquic tutorial
Psicquic tutorial
 
TYPO3 6.2 LTS - TYPO3 Conference Stuttgart, 2013
TYPO3 6.2 LTS - TYPO3 Conference Stuttgart, 2013TYPO3 6.2 LTS - TYPO3 Conference Stuttgart, 2013
TYPO3 6.2 LTS - TYPO3 Conference Stuttgart, 2013
 

Ähnlich wie DevOps Practices and Tools of a Small Company in love with Open Source

Netflix OSS Meetup Season 4 Episode 4
Netflix OSS Meetup Season 4 Episode 4Netflix OSS Meetup Season 4 Episode 4
Netflix OSS Meetup Season 4 Episode 4aspyker
 
Netflix Open Source: Building a Distributed and Automated Open Source Program
Netflix Open Source:  Building a Distributed and Automated Open Source ProgramNetflix Open Source:  Building a Distributed and Automated Open Source Program
Netflix Open Source: Building a Distributed and Automated Open Source Programaspyker
 
Building a Distributed & Automated Open Source Program at Netflix
Building a Distributed & Automated Open Source Program at NetflixBuilding a Distributed & Automated Open Source Program at Netflix
Building a Distributed & Automated Open Source Program at NetflixAll Things Open
 
Contributing to Apache Projects and Making Profits
Contributing to Apache Projects and Making ProfitsContributing to Apache Projects and Making Profits
Contributing to Apache Projects and Making ProfitsHenry Saputra
 
SIM RTP Meeting - So Who's Using Open Source Anyway?
SIM RTP Meeting - So Who's Using Open Source Anyway?SIM RTP Meeting - So Who's Using Open Source Anyway?
SIM RTP Meeting - So Who's Using Open Source Anyway?Alex Meadows
 
What is Python? An overview of Python for science.
What is Python? An overview of Python for science.What is Python? An overview of Python for science.
What is Python? An overview of Python for science.Nicholas Pringle
 
[WSO2Con EU 2018] OpenAPI Specification 3 - The Evolution of Swagger
[WSO2Con EU 2018] OpenAPI Specification 3 - The Evolution of Swagger[WSO2Con EU 2018] OpenAPI Specification 3 - The Evolution of Swagger
[WSO2Con EU 2018] OpenAPI Specification 3 - The Evolution of SwaggerWSO2
 
Visual, scalable, and manageable data loading to and from Neo4j with Apache Hop
Visual, scalable, and manageable data loading to and from Neo4j with Apache Hop Visual, scalable, and manageable data loading to and from Neo4j with Apache Hop
Visual, scalable, and manageable data loading to and from Neo4j with Apache Hop Neo4j
 
Oscon 2016: open source lessons from the todo group
Oscon 2016: open source lessons from the todo groupOscon 2016: open source lessons from the todo group
Oscon 2016: open source lessons from the todo groupBen VanEvery
 
2016 EDRLab roadmap at epubsummit
2016 EDRLab roadmap at epubsummit2016 EDRLab roadmap at epubsummit
2016 EDRLab roadmap at epubsummitLaurent Le Meur
 
Dynatech presentation for TSI Career Day
Dynatech presentation for TSI Career DayDynatech presentation for TSI Career Day
Dynatech presentation for TSI Career DayArtur Babyuk
 
Manila Project Onboarding - Denver Open Infrastructure Summit - May 2019
Manila Project Onboarding - Denver Open Infrastructure Summit - May 2019Manila Project Onboarding - Denver Open Infrastructure Summit - May 2019
Manila Project Onboarding - Denver Open Infrastructure Summit - May 2019TomBarron
 
BUD17-TR01: Philosophy of Open Source
BUD17-TR01: Philosophy of Open SourceBUD17-TR01: Philosophy of Open Source
BUD17-TR01: Philosophy of Open SourceLinaro
 
Pentester++
Pentester++Pentester++
Pentester++CTruncer
 
Primeros pasos del Software Libre en infraestructura civil Civil Infrastructu...
Primeros pasos del Software Libre en infraestructura civil Civil Infrastructu...Primeros pasos del Software Libre en infraestructura civil Civil Infrastructu...
Primeros pasos del Software Libre en infraestructura civil Civil Infrastructu...Agustin Benito Bethencourt
 
Hello, Python
Hello, PythonHello, Python
Hello, Pythonhardwyrd
 
Philosophy of Open Source - SFO17-TR01
Philosophy of Open Source - SFO17-TR01Philosophy of Open Source - SFO17-TR01
Philosophy of Open Source - SFO17-TR01Linaro
 
On making standards organizations & open source communities work hand in hand
On making standards organizations & open source communities work hand in handOn making standards organizations & open source communities work hand in hand
On making standards organizations & open source communities work hand in handBenjamin Cabé
 
Turning huge ships - Open Source and Microsoft
Turning huge ships - Open Source and MicrosoftTurning huge ships - Open Source and Microsoft
Turning huge ships - Open Source and MicrosoftChristian Heilmann
 
Open source, What | Why | How
Open source, What | Why | How Open source, What | Why | How
Open source, What | Why | How Nikhil Agrawal
 

Ähnlich wie DevOps Practices and Tools of a Small Company in love with Open Source (20)

Netflix OSS Meetup Season 4 Episode 4
Netflix OSS Meetup Season 4 Episode 4Netflix OSS Meetup Season 4 Episode 4
Netflix OSS Meetup Season 4 Episode 4
 
Netflix Open Source: Building a Distributed and Automated Open Source Program
Netflix Open Source:  Building a Distributed and Automated Open Source ProgramNetflix Open Source:  Building a Distributed and Automated Open Source Program
Netflix Open Source: Building a Distributed and Automated Open Source Program
 
Building a Distributed & Automated Open Source Program at Netflix
Building a Distributed & Automated Open Source Program at NetflixBuilding a Distributed & Automated Open Source Program at Netflix
Building a Distributed & Automated Open Source Program at Netflix
 
Contributing to Apache Projects and Making Profits
Contributing to Apache Projects and Making ProfitsContributing to Apache Projects and Making Profits
Contributing to Apache Projects and Making Profits
 
SIM RTP Meeting - So Who's Using Open Source Anyway?
SIM RTP Meeting - So Who's Using Open Source Anyway?SIM RTP Meeting - So Who's Using Open Source Anyway?
SIM RTP Meeting - So Who's Using Open Source Anyway?
 
What is Python? An overview of Python for science.
What is Python? An overview of Python for science.What is Python? An overview of Python for science.
What is Python? An overview of Python for science.
 
[WSO2Con EU 2018] OpenAPI Specification 3 - The Evolution of Swagger
[WSO2Con EU 2018] OpenAPI Specification 3 - The Evolution of Swagger[WSO2Con EU 2018] OpenAPI Specification 3 - The Evolution of Swagger
[WSO2Con EU 2018] OpenAPI Specification 3 - The Evolution of Swagger
 
Visual, scalable, and manageable data loading to and from Neo4j with Apache Hop
Visual, scalable, and manageable data loading to and from Neo4j with Apache Hop Visual, scalable, and manageable data loading to and from Neo4j with Apache Hop
Visual, scalable, and manageable data loading to and from Neo4j with Apache Hop
 
Oscon 2016: open source lessons from the todo group
Oscon 2016: open source lessons from the todo groupOscon 2016: open source lessons from the todo group
Oscon 2016: open source lessons from the todo group
 
2016 EDRLab roadmap at epubsummit
2016 EDRLab roadmap at epubsummit2016 EDRLab roadmap at epubsummit
2016 EDRLab roadmap at epubsummit
 
Dynatech presentation for TSI Career Day
Dynatech presentation for TSI Career DayDynatech presentation for TSI Career Day
Dynatech presentation for TSI Career Day
 
Manila Project Onboarding - Denver Open Infrastructure Summit - May 2019
Manila Project Onboarding - Denver Open Infrastructure Summit - May 2019Manila Project Onboarding - Denver Open Infrastructure Summit - May 2019
Manila Project Onboarding - Denver Open Infrastructure Summit - May 2019
 
BUD17-TR01: Philosophy of Open Source
BUD17-TR01: Philosophy of Open SourceBUD17-TR01: Philosophy of Open Source
BUD17-TR01: Philosophy of Open Source
 
Pentester++
Pentester++Pentester++
Pentester++
 
Primeros pasos del Software Libre en infraestructura civil Civil Infrastructu...
Primeros pasos del Software Libre en infraestructura civil Civil Infrastructu...Primeros pasos del Software Libre en infraestructura civil Civil Infrastructu...
Primeros pasos del Software Libre en infraestructura civil Civil Infrastructu...
 
Hello, Python
Hello, PythonHello, Python
Hello, Python
 
Philosophy of Open Source - SFO17-TR01
Philosophy of Open Source - SFO17-TR01Philosophy of Open Source - SFO17-TR01
Philosophy of Open Source - SFO17-TR01
 
On making standards organizations & open source communities work hand in hand
On making standards organizations & open source communities work hand in handOn making standards organizations & open source communities work hand in hand
On making standards organizations & open source communities work hand in hand
 
Turning huge ships - Open Source and Microsoft
Turning huge ships - Open Source and MicrosoftTurning huge ships - Open Source and Microsoft
Turning huge ships - Open Source and Microsoft
 
Open source, What | Why | How
Open source, What | Why | How Open source, What | Why | How
Open source, What | Why | How
 

Mehr von Francesco Chicchiriccò (12)

Perché mai Tirasa? Career Day 2017 - UnivAQ
Perché mai Tirasa? Career Day 2017 - UnivAQPerché mai Tirasa? Career Day 2017 - UnivAQ
Perché mai Tirasa? Career Day 2017 - UnivAQ
 
Building open source identity infrastructures
Building open source identity infrastructuresBuilding open source identity infrastructures
Building open source identity infrastructures
 
Apache Syncope and Tirasa
Apache Syncope and TirasaApache Syncope and Tirasa
Apache Syncope and Tirasa
 
Open source identity management 20121106 - apache con eu
Open source identity management   20121106 - apache con euOpen source identity management   20121106 - apache con eu
Open source identity management 20121106 - apache con eu
 
Apache Syncope Identity Manager 20120623 confsl
Apache Syncope Identity Manager 20120623 confslApache Syncope Identity Manager 20120623 confsl
Apache Syncope Identity Manager 20120623 confsl
 
20100327 Triduo Pasquale
20100327 Triduo Pasquale20100327 Triduo Pasquale
20100327 Triduo Pasquale
 
Sviluppo DTT e Sofia
Sviluppo DTT e SofiaSviluppo DTT e Sofia
Sviluppo DTT e Sofia
 
Scrum: una metodologia agile
Scrum: una metodologia agileScrum: una metodologia agile
Scrum: una metodologia agile
 
Service Delivery Network
Service Delivery NetworkService Delivery Network
Service Delivery Network
 
Automatic Server Provisioning
Automatic Server ProvisioningAutomatic Server Provisioning
Automatic Server Provisioning
 
Workflow e dintorni
Workflow e dintorniWorkflow e dintorni
Workflow e dintorni
 
Hands On Cocoon
Hands On CocoonHands On Cocoon
Hands On Cocoon
 

Kürzlich hochgeladen

Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfBest Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfIdiosysTechnologies1
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noidabntitsolutionsrishis
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 

Kürzlich hochgeladen (20)

Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfBest Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdf
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 

DevOps Practices and Tools of a Small Company in love with Open Source

  • 1. DevOps Practices and Tools of a Small Company in love with Open Source Francesco Chicchiriccò, Industrial Keynote @ QUDOS 2017 L’Aquila, April 27th 2017
  • 2. About me: Tirasa... ● 2001: MD in Computer Science ● 2003: starts ePOSSE ● 2007: ePOSSE is preferred IAM delivery partner for Sun Microsystems Italia ● 2008: ePOSSE joins the Dutch Everett group as Everett Italia ● 2011: starts Tirasa, focusing on Open Source IAM
  • 3. ...and more ● At The Apache Software Foundation: ○ Member ○ V.P. Apache Syncope ○ Cocoon, Olingo, jClouds, CXF, OpenJPA, PonyMail… ● Google Summer of Code mentor ● At GitHub:
  • 4. About Tirasa: Inception ● After Sun Microsystem acquisition by Oracle, the future of Waveset was uncertain ● 2010: Syncope project started to fill this gap ○ 100% Open Source ○ Based on Sun’s Identity Connectors, now ConnId ● 2011: Tirasa started, to provide enterprise services around Syncope and other Open Source IAM technologies ● 2012: Tirasa donates Syncope IdM to The ASF, and it becomes Apache Syncope
  • 5. About Tirasa: Today ● Small (10), highly skilled staff ○ 1 ASF member ○ 4 PMC members ○ 1 ASF committer ● Create and leverage Open Source tools for Enterprise Integration
  • 6. About Tirasa: Services and Expertise ● Identity & Access Management (IAM) ○ Tailored Single-Day Workshop ○ Proof-of-Concept ○ Training ○ Development Support Do it yourself and speed up implementation ○ Production Support Take care of your rolled-out systems ● Delivery, Consultancy and System Integration
  • 7. About Tirasa: CHOReVOLUTION ● EU funded project via H2020 ● Dynamic and secured choreographies via distributed coordination of services ● Tirasa responsible of developing Apache Syncope and ConnId as security enablers of the platform
  • 8. The Apache Syncope project ● Inception by Tirasa in 2010 ● Entered ASF incubator in February 2012 ● Graduated as TLP in November 2012 ● Active community ○ 18 committers, 6 contributors ○ > 200 mailing list subscribers ○ 40 releases ● Joined GSoC in 2016
  • 9. Who is using Apache Syncope?
  • 10. Apache Syncope for High Education Indirect customers Direct customers Evaluating
  • 12. Learned from The ASF: Open Development* ● Not (necessarily) the same as Open Source ● Many eyeballs ● Written communication, asynchronous, distributed ● No meetings ??!? ● Quick feedback ● Learn from others ● Don’t be afraid to make mistakes in public * courtesy of bdelacretaz@apache.org
  • 13.
  • 14. Open Development basics ● Issue tracker for everything: ○ features ○ bugs ○ test setup ○ server upgrades ● Discoverable repository: ○ code ○ node / container / VM configuration & orchestration ● Continuous integration
  • 15. Open Development: (1) Share ● Move away from 1:n / m:1 / n:k e-mails to central hub (mailing list, issue tracker, code repository, …) ● Speak in URLs: ○ http://my.tracker/ISSUE-XXX ○ http://my.archive/xxx-yyy-zzz.html ○ http://my.code/xyx-a5f-ssd-556v
  • 16. Open Development: (2) Real-time updates ● The project’s activity stream is populated by events from: ○ issue tracker ○ mailing list(s) ○ code repository ○ CI ● Who needs status meetings??!?
  • 17. Open Development: (3) Broadcast ● Create an issue on the tracker rather than asking Fabio to fix: ○ code bug / improvement / refinement ○ missing / wrong documentation ○ deployments ○ configuration ● Traceable, Shareable ● Help building release notes ● Kanban board-able!
  • 18. Open Development: (4) Searchable archives ● Live, self-updating knowledge base of project information: ○ issue tracker ○ mailing list(s) ○ code repository ○ CI ● Nothing helps more to get new project members up to speed
  • 19. The five Wisdoms of Open Development 1. If it didn’t happen on the dev ML, it didn’t happen 2. Whatever you’re working on, it must be backed by an issue on the tracker 3. If it’s not in the source code control system, it doesn’t exist 4. If it’s important, it needs a permanent URL 5. What happened while you were away? Check the activity stream and archives.
  • 20. Bring in the robots ● Automatic unit tests running on all incoming contributions ● Automatic deployments for end-to-end tests ● Notifications back to issue tracker / mailing list ● Nightly builds
  • 21. Tools
  • 22.
  • 23. In practice: push scenarios at Tirasa
  • 24. Scenario 1: Apache Syncope Push to https://git-wip-us.apache.org/repos/asf/syncope.git 1. Notifies commits@syncope.apache.org 2. Triggers https://builds.apache.org/ (Jenkins) (errors back to dev@syncope.apache.org) a. Deploys to http://repository.apache.org/content/groups/snapshots/ b. Deploys to http://syncope-vm.apache.org:9080/ 3. Comments https://issues.apache.org/jira/browse/SYNCOPE 4. R / O mirror to https://github.com/apache/syncope.git a. Triggers https://travis-ci.org/apache/syncope/ b. Triggers https://ci.appveyor.com/project/ApacheSoftwareFoundation/syncope
  • 25. Scenario 2: ConnId Push to https://github.com/Tirasa/ConnId.git 1. Notifies connid-dev@google-groups.com 2. Triggers http://jenkins.tirasa.net (errors back to connid-dev@google-groups.com) 3. Comments https://connid.atlassian.net/projects/BASE/ 4. Triggers https://travis-ci.org/Tirasa/ConnId/ a. Deploys to https://oss.sonatype.org/content/repositories/snapshots 5. Triggers https://scan.coverity.com/projects/tirasa-connid
  • 26. Scenario 3: Open Source IAM demo Push to https://sra.tirasa.net/gitbucket/git/Tirasa/SyncopeVMDemo.git 1. Notifies syncopevmdemo@tirasa.net 2. Triggers http://jenkins.tirasa.net (errors back to syncopevmdemo@tirasa.net) a. Build Docker image b. Deploys to private registry c. Synchronize with Dropbox for public download (on request) 3. Comments https://sra.tirasa.net/gitbucket/Tirasa/SyncopeVMDemo/issues