Slide 1

Slide 1 text

DevOps in Production BOF OLM Digital Inc Salvati Marc

Slide 2

Slide 2 text

Code Plan Build Test Release Deploy Operate Monitor DEV OPS

Slide 3

Slide 3 text

Today’s plan (60 minutes) ● About you (5mn) ● Plan (10mn) ● Code (10mn) ● Build and ABI (10mn) ● Test (5mn) ● Release/Deploy (5mn) ● Operate/Monitor/Security (5mn) ● About your journey (10mn)

Slide 4

Slide 4 text

About you ● Type of work ○ Live action ○ CG ○ 2D animation ■ Japanese ■ Others ○ Games ○ VR, AI, realtime ● Persons ○ Software engineer ○ Pipeline ○ Tech artists ○ Manager ○ Devops engineer ○ Others?

Slide 5

Slide 5 text

Plan ● How many projects? ● How to gather new tool requests? ● How to gather feedback on existing tools? ● How to estimate ○ Decide to go ○ Costs? Needs? ○ Time, people ● How you manage the backlog ○ Text, spreadsheets, Word ○ Ticket ■ Trello ■ Jira ■ Github project ○ Others? ● Agile or Waterfall? Scrum, kanban, sprint… ● What kind of manager? Senior dev? Specialist? ● Specification ○ Figma ○ Wiki ○ Slides, excel ○ Specifications ■ So many levels of abstraction ● UI concepts ● Functionality overviews ■ UML diagrams ■ C++ function signature + expected output ● Reference sources ○ Siggraph, eurographics, GDC?

Slide 6

Slide 6 text

Code ● What language? ○ C/C++ ○ Rust? ● IDE ○ Visual studio, code, emacs, vim ● Source management ○ Git ○ Svn ○ Mercury ○ Others ● Cloud ○ Github ○ Gitlab ● Branching ○ Trunk base ○ Git flow ● Pull request and code reviews ● Open source ● Version naming convention ● Coding rules ○ C++ core, google ■ C++ modules ■ Exceptions ■ Auto, noexcept ○ Python Pep ○ Specifics? ● Rule Enforcement? Clang? At push? ● SIMD ● Parallelization ○ Tbb ○ Openmp ○ Stdlib ● ABI ○ New ○ Old ● Branchless ● Debugger, profiling ○ GPU? Vtune, valgrind, GDB ○ Maya profiler…

Slide 7

Slide 7 text

Build ● How many dcc version? Tool version? How many OS? ● Compile system ○ Scons ○ Cmake ○ Makefile ○ Ninja ○ … ● CI ○ Jenkins, github, gitlab, perforce… ● Build stdc++11 new and old? ● Other ABI problems? ● Use package manager ○ Vpkg, conan, CPM, others?

Slide 8

Slide 8 text

Test ● Unit test framework ○ Doctest ○ Catch ○ Google Test ● How to test in DCC? ● How to test user interaction? UI ○ Button click that crash app

Slide 9

Slide 9 text

Release/Deploy ● Application setup ○ Rez? ○ installer? ○ In house? ● Dev, test, production environment? ● Project version description? Ad hoc?

Slide 10

Slide 10 text

Operate/Monitor/Security ● Clouds and logins ○ SSH, VPN? ○ OiDC, SAML… ● Remote work ○ Onsite or remote staff? ○ Local or remote machine? ● Server maintenance ● License management ● Render farm ● Logging and metrics ● Automatic feedback/stats ○ Crash report ○ How the tool is used? ○ How often the tool is used? ○ How fast is the rendering? ○ Who uses the tool? ○ Tool popularity and impact? ○ Identify bottlenecks?

Slide 11

Slide 11 text

About your journey ● What you changed? ● What you want to change? ● How? ● Why?

Slide 12

Slide 12 text

Who wanna collaborate on DevOps Course for siggraph?