EncartaLabs

Bazel

( Duration: 2 Days )

Google's Bazel build tool is emerging as the leading solution for fast and correct large-scale software build automation. Bazel understands (or can be taught) many languages, and provides a path to deploy scaled computing resources to maximize human productivity. This Bazel training course provides the important concepts and Bazel usage on a series of increasingly complex scenarios. This course provides skills for building, testing, containerizing image production and pushing, CI pipeline caching, and more using Bazel.

  • Software development build tools (of any kind)
  • Editor/IDE and other tools to work on source code.

The Bazel workshop is ideal for:

  • Decision-makers and technical architects comparing Bazel with other build tools
  • Developers / build engineers responsible for build scripts, dependency issues, CI/CD, and devops.
  • Teams tasked with implementing a move to Bazel.

COURSE AGENDA

1

Introduction and Background

  • Oasis Digital introduction, student introduction
  • Building software - key concerns which Bazel addresses
  • Correct
  • Functional (Deterministic)
  • Isolated / Hermetic
  • Incremental
  • Fast
  • Composable
  • Universal
  • Proven / industrial grade
  • Bazel's place in the world
  • Make and friends
  • Blaze: the Bazel origin story
  • Bazel-likes in the xoogler diaspora
  • Buck (Facebook)
  • Pants (Twitter, others)
  • Please
2

Adopting and migrating to Bazel

  • The Bazel ethos: maximize consistency
  • Migrating a Java build from Maven
  • Shared libraries
  • Maven Plugins
  • Migrating a Java build from Gradle
  • Shared libraries
  • Gradle plugins
  • Migrating a C build from Make
  • Escape hatch: call an existing build tool
  • Trade-offs with choosing this path
  • Incremental migration
  • Outer Bazel build which calls legacy tools
  • Inner Bazel builds orchestrated by legacy tools
  • Corporate artifact repositories
  • Consider a project-level monorepo
  • Relatively easy transition
  • Consider a many-project monorepo
  • Source control and other tooling considerations at scale
  • Consider a single-version policy
  • Running CI/CD from Bazel
3

Containerized output

  • What containers achieve
  • How containers are built with Docker
  • Container-building challenges
  • Bazel container generation
  • Comparing and choosing whether to use it
4

Performance at scale

  • Remote caching
  • Scoping a cache for information security
  • Remote Execution
  • Google Cloud Remote Build Execution
  • Corporate build farm
  • Scoping a build farm for information security
5

The Bazel Ecosystem

  • Bazel core is relatively small as of 1.0
  • Ecosystem and version compatibility
  • “Awesome Bazel”
  • Bazel Federation
  • Version compatibility verification
  • Inter-tool compatibility verification
  • Code provenance

Encarta Labs Advantage

  • One Stop Corporate Training Solution Providers for over 4,000 Modules on a variety of subjects
  • All courses are delivered by Industry Veterans
  • Get jumpstarted from newbie to production ready in a matter of few days
  • Trained more than 50,000 Corporate executives across the Globe
  • All our trainings are conducted in workshop mode with more focus on hands-on sessions

View our other course offerings by visiting http://encartalabs.com/course-catalogue-all.php

Contact us for delivering this course as a public/open-house workshop/online training for a group of 10+ candidates.

Top