Past Meetup

Refactoring Legacy Java Apps with Akka Cluster and DC/OS

This Meetup is past

57 people went

Details

Location

University of Toronto School of Continuing Studies has been gracious enough to host our event! We'll be in Room 1130, BA Building.

Timing

• Doors open: 6:45pm

• Talks start: 7:00pm

• Finish by: 8:30pm

Abstract Enterprises are facing a major challenge: most organizations have some type of cloud-enablement strategy for their legacy applications in the works, but many organizations don't know where to start.

This talk presents a case for leveraging Akka Cluster, a distributed compute toolkit from Lightbend, along with DC/OS, a cluster-compute fabric built on top of Apache Mesos, for refactoring legacy Java apps to Akka-based microservices. Once the application is refactored, we'll step through how to deploy your new Akka Cluster system to the cloud using DC/OS.

Part 1: Introducing Akka Cluster and Stateful Cluster Compute (40 minutes)

Kevin Webber, CEO of RedElastic, former Developer Advocate and Enterprise Architect at Lightbend, will present "Akka Cluster 101".

What's Akka Cluster? What are the benefits? What's the learning curve? How does it fit into a complete modern web architecture?

To introduce the core concepts of cluster compute, we'll walk through a hypothetical Java application that has been modernized for cloud infrastructure. We'll step through the UI layer, down to stateless middleware, and start to discuss the difference between stateless cluster compute and handling state in a cluster.

We'll wrap up by discussing how Akka can help us modernize and refactor the stateful code we already have using Akka to be ready for deployment to cloud infrastructure.

Part 2: Deploying Akka Cluster to DC/OS (40 minutes)

Jason Goodwin, CTO of RedElastic, former Developer at Google and mDialog, will discuss how to set up the infrastructure required to run Akka Cluster in a production environment. What happens during a netsplit? Machine failure? Etc.

We'll first introduce DC/OS as a fabric on top of any cloud-based infrastructure, such as AWS, Azure, or GCE. We'll then cover the deployment of our system before diving into edge cases of running Akka Cluster in production. We'll show how DC/OS helps make the vision of stateful cluster compute for Java microservices a reality and one step closer to a turnkey solution.

Intent

This is not meant to be exhaustive training on Akka Cluster and DC/OS, both of which require enterprise developers and architects to learn many new concepts before achieving success. Rather, these talks are aimed to inspire developers and architects to explore the possibilities of how to evolve their existing enterprise applications for the cloud. After coming to this talk, you should leave with a few new ideas for what's possible and have a path for taking your existing systems to the next level.

Required knowledge

To get the most out of these talks you should have familiarity with Java 8 syntax. Previous exposure to the core concepts of Akka will be helpful, but we will introduce the basics before diving into Akka Cluster.