O slideshow foi denunciado.
Seu SlideShare está sendo baixado. ×

The Evolving Role of Build Engineering in Managing Open Source

Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Carregando em…3
×

Confira estes a seguir

1 de 36 Anúncio

The Evolving Role of Build Engineering in Managing Open Source

Baixar para ler offline

In this webinar, we’ll explore how the role of build engineering is evolving to reconcile two key trends: massive wide-scale adoption of open source; the most devastating cyber-attacks in recent history tied to unpatched dependencies & other vulnerabilities.

Reconciling these trends will enable enterprises to unlock the the potential of open source & mitigate the risks. Further, our expert panelists will dive into how automating build engineering can accelerate your build time to gain you win speed & predictability in your open source language build pipeline and decrease the risk to deployed applications.

In this webinar, we’ll explore how the role of build engineering is evolving to reconcile two key trends: massive wide-scale adoption of open source; the most devastating cyber-attacks in recent history tied to unpatched dependencies & other vulnerabilities.

Reconciling these trends will enable enterprises to unlock the the potential of open source & mitigate the risks. Further, our expert panelists will dive into how automating build engineering can accelerate your build time to gain you win speed & predictability in your open source language build pipeline and decrease the risk to deployed applications.

Anúncio
Anúncio

Mais Conteúdo rRelacionado

Diapositivos para si (20)

Semelhante a The Evolving Role of Build Engineering in Managing Open Source (20)

Anúncio

Mais de DevOps.com (20)

Mais recentes (20)

Anúncio

The Evolving Role of Build Engineering in Managing Open Source

  1. 1. Build Engineering The Evolution of Build Engineering in Managing Open Source
  2. 2. Panelists ● Pete Garcin, Senior Product Manager, ActiveState ● Shaun Lowry, Build Engineering Lead, ActiveState Build Engineering Evolution in Managing OS
  3. 3. Build Engineering and its Role in Managing Open Source Pete Garcin, ActiveState
  4. 4. Pete Garcin Senior Product Manager ActiveState Platform Presentation Build Engineering Evolution in Managing OS
  5. 5. Track-record: 97% of Fortune 1000, 20+ years open source Polyglot: 5 languages - Python, Perl, Tcl, Go, Ruby Runtime Focus: concept to development to production Build Engineering Evolution in Managing OS
  6. 6. Open Source in the Enterprise Applications built with Open Source Have Vulnerabilities Not Compliant Build Engineering Evolution in Managing OS
  7. 7. Open Source in the Enterprise More sources, more attack surface, more repositories to manage Build Engineering Evolution in Managing OS
  8. 8. 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. Build Engineering Evolution in Managing OS
  9. 9. Build Engineering in Relation to SDLC Build Engineering Evolution in Managing OS SDLCMissing LinkBuild Engineer
  10. 10. Hidden Costs 75% Build Engineering Evolution in Managing OS Managing dependencies
  11. 11. Automating Build Engineering ● Environment configuration ● Dependency management ● Build execution and storage. Build Engineering Evolution in Managing OS
  12. 12. 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. Build Engineering Evolution in Managing OS
  13. 13. Challenges in Build Engineering Environment Configuration Dependency Management Build Reproducibility Build Engineering Evolution in Managing OS
  14. 14. Environment Configuration Compiler version Toolchain setup Language /Tool versions Setup Build Engineering Evolution in Managing OS
  15. 15. Dependency Management Build Engineering Evolution in Managing OS Version Pinning Binary Sources Dependency Chains Monitoring CVEs, Licenses
  16. 16. Automation Wins Build Engineering Evolution in Managing OS Developer Time Developer Sanity Shrink Tech Debt
  17. 17. 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 Build Engineering Evolution in Managing OS
  18. 18. ActiveState Platform Build Engineering Evolution in Managing OS
  19. 19. Build Engineering - Why It’s Hard and Why You Still Need It Shaun Lowry, ActiveState
  20. 20. Shaun Lowry Build Engineering Lead ActiveState Platform Presentation Build Engineering Evolution in Managing OS
  21. 21. 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 Build Engineering Evolution in Managing OS
  22. 22. What’s so hard? Compiling disparate OSS components ● Not all authors use the same tools ● Not all authors care about your platform(s) ● Authors might be great SMEs, but not great engineers Build Engineering Evolution in Managing OS
  23. 23. Compilers ● Different compilers disallow different code ● Same for compiler versions ● Some even have different ABIs between versions (GCC4 vs GCC5) Build Engineering Evolution in Managing OS
  24. 24. Build Tools setup.py Build Engineering Evolution in Managing OS Autotools CustomCmakeBazel
  25. 25. Dependencies ACTIVEPYTHON Build Engineering Evolution in Managing OS
  26. 26. C libraries ● Assumed to be on the system ○ Sometimes incompatible (e.g. libffi, libgdbm) ● Source included with package ○ Do not keep pace with security updates ● Download source at build time (!) Build Engineering Evolution in Managing OS
  27. 27. Example ● Builds using bazel ○ Tensorflow versions sensitive to bazel version ○ Take hours ● Many variations, optional support ○ for additional instruction sets (SSE, AVX, AVX2) ○ for GPU acceleration (CUDA) Build Engineering Evolution in Managing OS
  28. 28. Why? That’s scary! What’s wrong with just downloading free stuff? Build Engineering Evolution in Managing OS
  29. 29. ● 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? Build Engineering Evolution in Managing OS
  30. 30. ● OS or runtime dependencies ○ Glibc, ucrt, msvcrt etc. ● Uniform compiler ● Hardware dependencies ○ Instruction set optimisations ○ GPU availability Build Engineering Evolution in Managing OS
  31. 31. Bugs ● What happens when one hits a customer? ● How quickly can you address it? Licenses ● Are your licenses compatible with every 3rd-party package? ● What about the packages they bring with them? Build Engineering Evolution in Managing OS
  32. 32. Example: wand ● Python binding to ImageMagick ○ ImageMagick has different licenses at different versions ● ImageMagick needs Ghostscript for PDF manipulation ○ Ghostscript is AGPL Build Engineering Evolution in Managing OS
  33. 33. 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 Build Engineering Evolution in Managing OS
  34. 34. Q & A
  35. 35. What’s Next ● 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. 36. Tel: 1.866.631.4581 Website: www.activestate.com Twitter: @activestate Facebook: /activestatesoftware Platform Presentation Where to find us

×