Dan Woods

JVM and Cloud Enthusiast

Dan Woods is a Senior Engineer with The Groundwork. He is passionate about software architecture and best practices. Dan is active in the Java and Groovy communities and is a core team member for the Ratpack web framework open source project.

Presentations

There are plenty of patterns for architecting applications to meet the news of scale and agility, but designing the architecture within which those applications will run is a non-trivial task. With the emergence of convenience containerized solutions, and an ever-expanding proliferation of PaaS solutions, the reality of immutable infrastructure is finally hitting the main stream.

When considering matters of scale, and the potential intricacies of cross-datacenter applications, the complexities of infrastructure extends beyond simple immutability. This talk will discuss the patterns used at organizations, like The Groundwork, to achieve unprecedented scale, rapid delivery, and extreme agility.

This talk will take attendees through the basics of building web applications in Ratpack.

Attendees will be exposed to API design and best practices; discuss the concepts of reactive programming; take them in-depth with dependency injection in Ratpack; discuss Ratpack's registry and take them through developing custom registries, with discussion on how and when that is appropriate; cover functional and unit testing using Ratpack's rich test fixtures; show how to use Spring Boot within Ratpack; expose them to packaging Ratpack apps for distribution; and discuss and demonstrate running Ratpack applications in the cloud.

As teams increasingly move to the cloud, they are met with many challenges when managing a distributed footprint.

This talk will discuss the considerations needed for scaling infrastructure in the cloud, what tooling options are available for managing cloud infrastructure, and ultimately steps that can be taken for ensuring scalability of cloud infrastructure.

Target is a US-based retailer with nearly 2,000 physical stores and each of these stores runs a microservice footprint to support operations including point-of-sale and IoT processing.

This talk will discuss how Target leverages Kubernetes as an infrastructure platform at the edge, and how they've enabled continuous delivery to the store “mini-clouds”.

Continuous delivery is important at any scale, but especially when building a distributed infrastructure.

Continuous delivery is the process by which software is built and (possibly) deployed automatically. The flow to this process is non-trivial and when introducing a complex distributed infrastructure – like microservices – managing delivery and deployments becomes complex. This talk introduces attendees to considerations for managing continuous delivery at scale, and offers solutions for facilitating the process in an organization.

Java 8 sports the latest and greatest features of the JVM platform, and introduces new concepts
of asynchronous programming and Lambdas, amongst other syntactic improvements to the
language. Many of the language's upcoming features are concepts and constructs that Groovy
programmers have been familiar with for years.

This talk will discuss the upcoming features of Java 8, their practical implementations, and will discuss the new features in terms that developers familiar with Groovy can understand and immediately relate to.

The cloud is a rapidly changing landscape, and the options available for running code in the cloud continue to grow with that. Groovy is a versatile language for the JVM, and opens the door on building robust and comprehensive solutions for any cloud deployment. As such, the different cloud runtimes that are available should be examined to ensure that best practices are being followed when developing Groovy projects for the cloud.

This talk will discuss the various options that are available, how Groovy fits into those infrastructures, and the best ways to ensure success when running Groovy in the cloud.

Organizations that embrace microservice architecture learn quickly they need a host of tooling to support continuous delivery, configuration management, and service discovery. The collective discipline of building and maintaining these tools is known as Platform Engineering.

This talk will discuss the many facets that comprise platform engineering, as well as covering a host of open source tools available to support the task.

Ratpack is an asynchronous web framework for the JVM that was inspired by the simplistic
nature of Ruby's Sinatra framework. Written in Java, optimized for Groovy and Java 8, Ratpack
sports a high throughput, simplistic interface for rapid development of rich, real-time web
applications.

This talk will discuss the methodologies that support the framework's core
development, and will showcase some of the rapid development and real-time web features that
make up a Ratpack application's architecture.

Ratpack is a high-through, reactive, non-blocking web framework for Java 8. Ratpack is designed to ease the complexities of programming in a non-blocking, asynchronous manner by providing a rich API and deterministic execution model. The framework takes a developer-first approach to development, sporting hot reloading and test fixtures that make the process of writing well-tested, powerful web applications easier than ever.

This talk will showcase the framework's features, and attendees will leave with an understanding of how to write applications with Ratpack.

The landscape for web development is changing, and consumers of the web are expecting an increasingly improved experience. As internet technologies improve, so need to the mechanisms by which web content is served.

This talk will discuss the paradigm of real time web development, its challenges, and how we can evolve into developing real-time web applications. Attendees will be exposed to technologies and frameworks that assist in facilitating a real-time user experience.