This meeting is made up of five overview talks which work together to share a big-picture sense of the major development processes at Fitbit. First, we'll start with a bit of history, then continue with Mesos and Aurora, deployment, microservices, certificate management, and some Agile team design. Quite a lot of goodness for one evening!
Fitbit's architecture journey, by Kyle Smith
Over the last 9 years, Fitbit has grown from a two-person startup into a multi-billion-dollar company with 500+ developers. Along the way our small Java/Spring/MVC web app has grown into a large, monolithic application. As many other growing companies have found, such an application can make it difficult to rapidly innovate. In this presentation, we're going to talk about Fitbit's ongoing journey from monolith to microservices and how we plan to re-energize our developers with modern technologies and practices.
Mesos, Aurora and their role in the future of application deployments, by Kory Brown
In this talk, we’ll go through a brief history of how Operations has traditionally handled application deployments ending with the inclusion of Mesos. After we’ve gotten a feel for the landscape, we’ll go into how Mesos has changed this process, and what the future of datacenter-level computing looks like.
Deploying Microservices At Fitbit, by Sean Reque
At Fitbit we want smaller teams of developers to be able to easily deploy, monitor, and take ownership of their Java services without feeling burdened by the need to create and maintain their own operational infrastructure and tooling. In this talk, we discuss the efforts we have taken to make total service ownership as easy as possible.
Create your own certificate authority for development, by Kevin Jamieson
With the increasing calls for “SSL Everywhere!”, creating your own Certificate Authority is a great way to understand both the mechanisms of SSL/TLS and to allow for rapid application development. We’ll be going over basics of SSL/TLS, using OpenSSL to create a CA, creating server and client certificates, and some brief history of this entire burning dumpster of functionality.
The role of testing specialists on agile teams, by Steve Berczuk
Automated testing is an essential part of agile software development. While some knowledge of testing is required, testing is also a specialized skill. Most agile teams write good unit tests but integration tests and the build & deployment infrastructure that enable it often require help. This talk will discuss how a Software Test Engineering team can improve the quality of testing practices while still being consistent with the goals of a self-sufficient, cross-functional agile team.