Open Developer Platform: What Is It and Why Should I Care? Maurizio Pillitu

symphonyOSS 1,119 views 19 slides Jun 28, 2017
Slide 1
Slide 1 of 19
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19

About This Presentation

Presented at the 2017 Members Meeting.


Slide Content

Open Developer Platform
2017-06-21 Annual Member’s Meeting, NYC
Maurizio Pillitu
Devops Director, Symphony Software Foundation
@maoo [email protected]
What is it and why should I care

1/14
A set of online services and
best practices to expedite the
developer productivity of
Foundation's project teams.
Open Developer Platform
What is it

2/14
Open Developer Platform
Architecture
Source Code (SCM)
Build Test Report Publish
Dev
Deploy
Project Infrastructure

Open Developer Platform
Architecture
Project Infrastructure
Source Code (SCM)
Build Test Report Publish
Dev
Deploy
Technology 1 Technology 2 Technology N... Technologies
2/14

Project Infrastructure
Source Code (SCM)
Build Test Report Publish
Technology 1 Technology 2 Technology N... Technologies
Incubating Active Archived Project Lifecycle
Dev
Deploy
Open Developer Platform
Contribution flow

3/14

3/14
Open Developer Platform
Contribution flow
Project Infrastructure
Source Code (SCM)
Build Test Report Publish
Technology 1 Technology 2 Technology N... Technologies
Incubating Active Archived Project Lifecycle
Contribution
Dev
Deploy

4/14
A service-based
infrastructure to support
committers throughout the
entire project lifecycle.
Project Infrastructure
What is it

Github
symphonyoss
✅User access management (widely adopted)
✅Git flow (Pull requests + Branch protection)
✅Github Issues
❗IP cleanliness
Source Code - Github
5/14

Github
symphonyoss
TRAVIS CI
Build and Test
✅Clojure, Java, Javascript and Python currently tested and documented
✅Language-specific frameworks/DSLs/platforms for building and testing
✅Use myget.org for C# projects
Build and test - Travis CI
6/14

Github
symphonyoss
TRAVIS CI
Build and Test
TRAVIS CI
Reporting
✅Github IdM widely used
❗Reporting != Validation. Manual checks always needed!
❗Manage false negatives
❗Self-governed repos with org-wide configuration
❗Work in progress: WhiteSource and Fossa
Reporting
SonarCloud
VersionEye
Coverity
Scan
Node
Security
Bithound Code Climate
Github PagesWhiteSource Fossa
7/14

Github
symphonyoss
TRAVIS CI
Build and Test
TRAVIS CI
Reporting
✅Foundation-wide license and components whitelist
✅Identify licenses
❗Dual licensing
❗Code-driven ignores (for transitive dependencies and hosted files)
Reporting - Legal
SonarCloud
VersionEye
Coverity
Scan
Node
Security
Bithound Code Climate
Github PagesWhiteSource Fossa
8/14

Github
symphonyoss
TRAVIS CI
Build and Test
TRAVIS CI
Reporting
✅Define/customise quality gates
❗Test coverage is fundamental
❗Mocked interfaces
❗Integration testing
Reporting - Quality
SonarCloud
VersionEye
Coverity
Scan
Node
Security
Bithound Code Climate
Github PagesWhiteSource Fossa
9/14

Github
symphonyoss
TRAVIS CI
Build and Test
TRAVIS CI
Reporting
✅CVEs based on package name/version
❗Language-specific static code analysis
Reporting - Security
SonarCloud
VersionEye
Coverity
Scan
Node
Security
Bithound Code Climate
Github PagesWhiteSource Fossa
10/14

Github
symphonyoss
TRAVIS CI
Build and Test
TRAVIS CI
Reporting
✅Integration with most important eco-systems
❗Artifact signing (security)
❗code-driven automation (ie semantic-release)
❗Work in progress: Docker Hub
Publish
TRAVIS CI
Artifact
publishing
PyPI NuGet Docker Hub
Maven Central NPMJS
11/14

Github
symphonyoss
TRAVIS CI
Build and Test
TRAVIS CI
Reporting
✅Continuous (Dev) Delivery keystone
✅Containerised deployments
❗Cloud enablement
❗Deployment configuration standardisation
❗Certified image registry
Dev Deployment
TRAVIS CI
Artifact
publishing
TRAVIS CI
Dev Deploy
Openshift
Online
Symphony Dev
Pod
foundation-dev
Rolling
deployment
Symphony APIs
Integration
testing
12/14

13/14
✓CLA bot to scan PRs for IP
cleanliness
✓Facilitate cloud enablement
✓Reporting
○More tools
○Improve existing integrations
Open Developer Platform
Future

14/14
❗Implementing and/or maintaining a
modern developer workflow is
hard and time-consuming
❗Outdated tools/processes are
enemies of productivity and talent
retention
✅Let us take care of your dev
workflow!
Open Developer Platform
Why should I care

14/14
✅symphonyoss.atlassian.net/wiki
✅github.com/symphonyoss
✅symphony.foundation
Open Developer Platform
Resources

Thanks!
Maurizio Pillitu
Devops Director, Symphony Software Foundation
@maoo [email protected]
Tags