Mastering Modern Software Architecture with Scala, Akka, And Spark

Brochure Image

by Vladimir Bacvanski download a PDF brochure Download Event Brochure


The industry is entering a new wave of software architectures based on Scalability, Fast and Big Data and Microservices. This hands-on course will immerse you into this new world and give you practical knowledge to start developing the next generation software systems today. We start with a rapid immersion into Scala and its key features. You will learn what are Scala’s strengths and why companies like Twitter, Guardian, Meetup, Box, and many others rely on Scala. You will practice hands-on and write code in Scala style. Akka is a Scala framework for building highly scalable distributed systems and it is a technology used to build reactive applications that are responsive, resilient, elastic, and message driven. We also explore the Akka as a way of realizing Microservices architectures using akka-http for REST Web Services. The third major section of the course deals with Big Data. Apache Spark, which is itself built with Scala, provides the solution for fast processing of both batch and real time streaming workloads. It represents the backbone of the new Big Data toolset. Through practical examples and exercises you will learn how to develop with Spark and you will learn its key tools and approaches to problem solving. Hands on examples and exercises represent about 40% of the course.

What you will learn

  • Write Scala code
  • Create concurrent, distributed applications with Akka
  • Apply Microservices architecture with Scala and Akka using akka-http
  • Program Big Data applications with Apache Spark
  • Write batch and streaming processing programs with Apache Spark

Main Topics

Scala: Full speed ahead!

  • Why Scala? • Scala Ecosystem
  • Scala Collections
  • Pattern Matching
  • Objects in Scala
  • Traits
  • Functional Programming in Scala

Developing Distributed Systems with Akka

  • The Actor Model and Akka Actors
  • Programming Supervision and Fault-Tolerant Systems with Akka
  • Routers and Dispatchers
  • Reactive Architecture
  • REST Web-Services using akka-http
  • Implementing Microservices

Big Data with Scala and Apache Spark

  • Apache Spark Architecture
  • Distributed Data and HDFS
  • Developing with RDD and Scala APIs
  • Spark Streaming
  • Advanced Spark APIs