This course will sell out—sign up today!
Learn Go, understand when to use it (and when not) and being able to apply best practices for system tasks.
You are a sysadmin, DevOps engineer, or developer who manages infrastructure and want to have an effective and reliable tool at your disposal to automate parts of your daily work.
A basic familiarity with the command line is required, knowing a programming language is a plus.
You will need a laptop and having a GitHub account is beneficial but not strictly required.
In the past couple of years, Go has established itself as a popular language for systems programming, services, and tools. More and more people use Go nowadays for tasks that would traditionally have been solved using Python or Ruby. Many system’s tools, for example container technologies like Docker & Kubernetes, are also developed in Go.
Go produces statically linked binaries across the major operating systems (Linux, Windows, macOS) and platforms (x86, AMD, ARM, etc.) and comes with a powerful standard library providing you with everything you need, from networking to security to filesystem operations.
The first day provides an introduction to the Go programming language and its ecosystem:
Part 1 – review of tools written in Go
During the first half day we carry out code reviews of a couple of tools written in Go. Each of the codebases we review provides a deep-dive into certain aspects of system tasks such as dealing with the filesystem, containers, cloud providers, and provisioning and provides concrete examples around error handling, logging, configuration management and CLI apps (how to implement commands, etc). The code reviews help you understand how to go about common tasks and also serve as applied best practices:
Note that it is not about the selected tools we review but about the patterns and packages used.
Part 2 – implement your own tool using Go
In the second half day you will implement your own systems tool in Go, choosing one of the following:
Michael is a Developer Advocate for OpenShift and Kubernetes at Red Hat where he helps appops to build and operate distributed services. He shares his experience with distributed systems and large-scale data processing through demos, blog posts and public speaking engagements and contributes to open source software such as OpenShift and Kubernetes. Prior to Red Hat, Michael was a Developer Advocate at Mesosphere, Chief Data Engineer at MapR Technologies, and before that he was a Research Fellow at the National University of Ireland, Galway where he researched into large-scale data integration and the Internet of Things and where he gathered experience in advocacy and standardization (World Wide Web Consortium, IETF).
Get the Platinum pass or the Training pass to add this course to your package. Early Price ends August 17.
Help us make this conference the best it can be for you. Have questions you'd like this speaker to address? Suggestions for issues that deserve extra attention? Feedback that you'd like to share with the speaker and other attendees?
Join the conversation here (requires login)
©2017, O'Reilly Media, Inc. • (800) 889-8969 or (707) 827-7019 • Monday-Friday 7:30am-5pm PT • All trademarks and registered trademarks appearing on oreilly.com are the property of their respective owners. • email@example.com