Microservices, Debugging Containers and Software Development Methodologies
Once again I’m privileged to be speaking at the premier Java conference, JavaOne in San Francisco. This year I will be presenting (at least) three conferences sessions: “Building a Microservice Ecosystem”, “Debugging Java Apps in Containers” and “Thinking, Fast and Slow, with Software Development”. I say ‘at least’ three talks as I usually get
press-ganged volunteered into helping out at other talks and BoF sessions, but this is simply a sign of the great community spirit and a large group of friends involved with this conference!
Having three talks accepted this year is great, and the range of talk content accepted will allow me to talk about several things that we are passionate about at OpenCredo, namely creating (micro)service-based applications, working with leading-edge technologies such as containers, and also the fundamentals behind the process of creating software. I’m very much looking forward to the event, and have included a preview of my talks below. If you’re out in San Francisco, then please do come and find me for a chat!
Building a Microservice Ecosystem: Some Assembly (Still) Required [CON5673]
Wednesday, Oct 28, 11:30 a.m. | Parc 55—Embarcadero
Microservice platforms are finally becoming a reality: Mesos, Kubernetes, and a whole bunch of PaaS-style offerings are available, but the reality is that these platforms still don’t provide everything you need in order to build a fully functional microservice ecosystem. Come to this session to learn about the essential deployment, orchestration, and glue components that often have to be self-assembled. The presentation begins by looking at deployment techniques and tools and examines where to test (QA, staging, or production), how to test (integration and contracts), and how to separate deployment and release. It then discusses orchestration, configuration, and service discovery. Finally it looks at essential glue such as logging, monitoring, and alerting.
Debugging Java Apps in Containers: No Heavy Welding Gear Required [CON6832]
Co-presentation with Steve Poole from IBM
Wednesday, Oct 28, 10:00 a.m. | Parc 55—Cyril Magnin I
It’s easy to get seduced by being able to quickly deploy and scale applications by using containers. However, when things inevitably go wrong, how do you debug your application? This session covers various pro bug hunting tips and tricks. It shows live demos of tools such as the Docker stats API, Docker exec (and top, vmstat, and netstat), and how to use the ELK stack for centralized logging. It also dives into other more sophisticated tools that operate at the application and (micro)service layer, such as Twitter’s Zipkin tracing app, Spring Boot’s Actuator, and DropWizard’s Metrics library. Keep those container-based nightmares away by ensuring that when the worst does happen, you have the tools, info, and experience to debug containerized applications.
Thinking, Fast and Slow, with Software Development [CON1606]
Wednesday, Oct 28, 1:00 p.m. | Hilton—Imperial Ballroom B
In the international bestseller Thinking, Fast and Slow, Daniel Kahneman explains how we, as human beings, think and reason and, perhaps surprisingly, how our thought processes are often fundamentally flawed and biased. This session explores the ideas presented in the book in the context of professional software development. Along this journey, the presentation also shares techniques, processes, and models that can help overcome some of the identified limitations of our decision-making abilities. Topics discussed include the “availability heuristic,” which can lead developers to choose the “latest and greatest” technology without proper evaluation; “optimistic bias,” which can blind architects so they can’t see the “unknown unknowns” within a project; and more.