Jonathan Johnson
Jonathan Johnson has been engineering commercial software for some twenty years. Software has the amazing potential to improve and even save lives. Sadly, lousy software can miss this potential. His journey is driven by delivering helpful software to move us forward.
His early work began with laboratory instrument software and managing its data. Jonathan was enticed by the advent of object-oriented design and Windows to develop personal banking software. Banking soon turned to the internet and enterprise applications took off. Java exploded onto the scene and since then he has inhabited that ecosystem. At 454 Life Sciences and Roche Diagnostics Jonathan returned to laboratory software and leveraged Java-based state machines and enterprise services to manage the terabytes of data flowing out of DNA sequencing instruments.
His journey continues with Thermo Fisher Scientific as a hands-on architect continuously delivering a laboratory management platform based on Kubernetes with microservices.
Hands-on Architect
Understanding Kubernetes
So you have some code and it is in a bounded context with a REST API. You are on your way to Microservices. Next you wrap it in a container and now it is an image that others can run. Simple. Now what? No service is an island. Your service needs to log information, needs to scale and load balance between its clones. Your service needs environment and metadata way outside its context. What about where the service will run? Who starts it? What monitors its health? What about antifragility? Updates? Networking? Oh my.
Services live in clusters and clusters live in data centers. Many concepts overlap with the features of cloud management. But don’t get too flustered since, fundamentally, services are managed by clusters. There are several approaches to cluster management such as Docker Swarm, Mesos with Marathon and Kubernetes.
Minikube with Kubernetes is an approachable technique to set up a local cluster that is easy to understand and get started. Whether you have a simple service or a Web application with a set of services, you can develop much of it on Kubernetes with Minikube. We will run some practical examples. Once you understand the mechanics of the tools, we will explore how it works, sort through the terminology and share ideas about practical uses for this technology.
Afterward, you will understand how to run your personal cluster with your Linux, OS X or Windows laptop to further enjoy unraveling the mysteries of running applications in a cluster.