Using and Building Open Source in Google Corporate Engineering - Justin McWilliamsPresentation Transcript
Open Source inGoogle Corporate Engineering Justin McWilliams
Corporate ITWorkstations & WiFi Video Conferencing & TelecommunicationVPN & Remote Access Helpdesk / Tech Support Calendar & ProductivityServers & Networking Email Mobile Devices
Google CorpEng Challenges
CorpEng not only runs, but develops most solutions! ● Video conferencing, complete with fleet management ● Mac OS X software deployment client and server ● Full disk encryption recovery key escrow solution ● Binary whitelist approval workflow system ● Employee performance review and promotion system ● Interview scheduling, feedback, and hiring decision solution ● Financial and expense reporting tools ● Compensation review/display ● International payroll calculation ● Much, much more Most of the above are built on Google App Engine, and some are open sourced.
Why does CorpEng Open Source? Why does Google Open Source? Why does anyone Open Source?
"Open" more than just "Source"
OSS widely used within CorpEng● Need a high-performance, distributed in-memory object caching system? ○ Memcached● Java date and time classes causing pain? ○ JodaTime● Want a library or framework to help with testing? ○ Mockito, EasyMock, Machinist, UnitRecord, FlexMock, pymox● Developing a web application? ○ Django, GWT, Spring, Struts, Closure, jQuery, AngularJS, ...● Cant write in binary? ○ Java, Python, Ruby (on Rails), Go, etc.
+ = Simian
CorpEng Open Source SolutionsSimian Software mgmt for one of the largest Mac deployments in the worldCauliflower Vest Enterprise-class FileVault 2 recovery key escrow solutionGaneti Cluster-based virtualization management softwareCloudCourse LMS for enterprise course scheduling and management
CorpEng OSS Releases / ContributionsGORD Platform agnostic RPC daemon for interaction with Microsoft SMS/SCCMCompliance Management Automated maintenance, analytics and reporting of compliance dataAppReduce* Enterprise software license tracking and employee transparency toolContributions to non-Google OSS: Firebug, FreeJ, Objectify, PyActiveResource, PyCups, Rails, ..., Debian, Ubuntu, ...
CorpEng Open Source Release Process Akin to Android, not Chromium; develop internally then release large dumps, because....
Links! Questions?CorpEng Open Source Projects ● Simian http://code.google.com/p/simian ○ Munki http://code.google.com/p/munki ● Cauliflower Vest http://code.google.com/p/cauliflowervest ● Ganeti http://code.google.com/p/ganeti ● Compliance Management http://code.google.com/p/compliance-managementMisc ● Make Open Easy http://code.google.com/p/make-open-easyCorpEng Videos & Presentations: ● Google on Google, I/O http://goo.gl/ovJ2D ● Coding For Cloud, I/O http://goo.gl/nt6Ox ● Corp Apps on AppEngine, I/O http://goo.gl/m1XzN ● Life@Google IT Teams http://goo.gl/7cYSf