Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

DevOps practices and tools of a small company in love with open source

161 views

Published on

Industrial Keynote at QUDOS 2017 http://qudos2017.fortiss.org/

Published in: Software
  • Be the first to comment

  • Be the first to like this

DevOps practices and tools of a small company in love with open source

  1. 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. 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. 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. 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. 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. 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. 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. 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. 9. Who is using Apache Syncope?
  10. 10. Apache Syncope for High Education Indirect customers Direct customers Evaluating
  11. 11. Open Development
  12. 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. 13. Open Development basics ● Issue tracker for everything: ○ features ○ bugs ○ test setup ○ server upgrades ● Discoverable repository: ○ code ○ node / container / VM configuration & orchestration ● Continuous integration
  14. 14. 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
  15. 15. 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??!?
  16. 16. 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!
  17. 17. 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
  18. 18. 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.
  19. 19. 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
  20. 20. Tools
  21. 21. In practice: push scenarios at Tirasa
  22. 22. 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
  23. 23. 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
  24. 24. 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
  25. 25. Thank you … questions?

×