build engineering
play

Build Engineering Build Engineering Evolution in Managing OS Pete - PowerPoint PPT Presentation

Build Engineering Build Engineering Evolution in Managing OS Pete Garcin , Senior Product Manager, ActiveState Shaun Lowry , Build Engineering Lead, ActiveState Build Engineering and its Role in Managing Open Source Build Engineering


  1. Build Engineering

  2. Build Engineering Evolution in Managing OS Pete Garcin , Senior Product Manager, ActiveState ● Shaun Lowry , Build Engineering Lead, ActiveState ●

  3. Build Engineering and its Role in Managing Open Source

  4. Build Engineering Evolution in Managing OS Platform Presentation Pete Garcin Senior Product Manager ActiveState

  5. Build Engineering Evolution in Managing OS Track-record: Polyglot: Runtime Focus:

  6. Build Engineering Evolution in Managing OS Open Source in the Enterprise

  7. Build Engineering Evolution in Managing OS Open Source in the Enterprise More sources, more attack surface, more repositories to manage

  8. Build Engineering Evolution in Managing OS Build Engineering Defined Who? Developers with: Ecosystem knowledge ● Systems knowledge ● Process knowledge ● What? Core tasks are: Locating canonical sources of libraries, languages, tools, etc. ● ● Compiling those sources into artifacts. Packaging those artifacts for distribution. ●

  9. Build Engineering Evolution in Managing OS Build Engineering in Relation to SDLC SDLC Build Engineer Missing Link

  10. Build Engineering Evolution in Managing OS Hidden Costs 75%

  11. Build Engineering Evolution in Managing OS Automating Build Engineering Environment configuration ● Dependency management ● Build execution and storage. ●

  12. Build Engineering Evolution in Managing OS What are the challenges? Automate, systematize, componentize builds ● Seamless, effortless and reproducible across your ● team and organization. Reproducibility, critical for testing, deployment and ● development — without it, nobody is speaking the same language.

  13. Build Engineering Evolution in Managing OS Challenges in Build Engineering Environment Dependency Build Configuration Management Reproducibility

  14. Build Engineering Evolution in Managing OS Environment Configuration Toolchain Language /Tool Compiler setup versions Setup version

  15. Build Engineering Evolution in Managing OS Dependency Management Dependency Version Monitoring Binary Sources Chains Pinning CVEs, Licenses

  16. Build Engineering Evolution in Managing OS Automation Wins Shrink Developer Developer Tech Debt Time Sanity

  17. Build Engineering Evolution in Managing OS Potential Features + Automation “Free” speculative builds ● Build revisions as source control — can be forked, ● reverted, merged, etc. Integration with your CI ● No more local hacks, “Franken-builds”, etc. — ● everything is audited and guaranteed

  18. Build Engineering Evolution in Managing OS ActiveState Platform

  19. Build Engineering - Why It’s Hard and Why You Still Need It

  20. Build Engineering Evolution in Managing OS Platform Presentation Shaun Lowry Build Engineering Lead ActiveState

  21. Build Engineering Evolution in Managing OS Third-party software Many benefits of using open source components ● OSS or licensed components offer shortcuts and ● competitive advantage How to incorporate 3rd-party components ●

  22. Build Engineering Evolution in Managing OS What’s so hard? Compiling disparate OSS components ● ● ●

  23. Build Engineering Evolution in Managing OS Compilers Different compilers disallow different code ● Same for compiler versions ● Some even have different ABIs between versions ● (GCC4 vs GCC5)

  24. Build Engineering Evolution in Managing OS Build Tools setup.py Autotools Bazel Cmake Custom

  25. Build Engineering Evolution in Managing OS Dependencies

  26. Build Engineering Evolution in Managing OS C libraries Assumed to be on the system ● ○ Source included with package ● ○ Download source at build time (!) ●

  27. Build Engineering Evolution in Managing OS Example Builds using bazel ● ○ ○ Many variations, optional support ● ○ ○

  28. Build Engineering Evolution in Managing OS Why? That’s scary! What’s wrong with just downloading free stuff?

  29. Build Engineering Evolution in Managing OS Was that zipfile/wheel/magic binary ● really compiled from that source? What else is in there? ● How many people are you trusting? ● Do your customers trust all of them? ●

  30. Build Engineering Evolution in Managing OS OS or runtime dependencies ● ○ Uniform compiler ● Hardware dependencies ● ○ ○

  31. Build Engineering Evolution in Managing OS Bugs ● ● Licenses ● ●

  32. Build Engineering Evolution in Managing OS Example: wand Python binding to ImageMagick ● ○ ImageMagick needs Ghostscript for PDF ● manipulation ○

  33. Build Engineering Evolution in Managing OS So what should I do? Building OSS from source can be hard to deal with ● Not building from source can be worse ● Incorporate OSS builds into your own pipeline ● Outsource OSS builds to a single trusted source ●

  34. Q & A

  35. Watch a demo: ● https://www.youtube.com/watch?v=c5AIxN9ehrI Get a demo marketing@activestate.com ● Contact us for the language build you need: ● platform@activestate.com

  36. Platform Presentation Where to find us Tel: 1.866.631.4581 Website: www.activestate.com Twitter: @activestate Facebook: /activestatesoftware

Recommend


More recommend