Blog

September 1, 2015 - July 2, 2015

Concurrent sharing of “data in motion” across clusters with CRDTs in Akka Distributed Data

If we used only our hands to count the differences between traditional full stack applications and the new generation of loosely-coupled, distributed Reactive systems, we’d quickly run out of fingers. Among things like higher resiliency and better elasticity due to asynchronicity and distribution, Reactive systems are built for hybrid cloud environments, multi-core processing, in-memory computation, data streaming, experimenting using microservices instead of large monolithic app servers, and so on.  

But how do Reactive systems, namely those based on Akka Clusters employing the actor model, concurrently share data across nodes, especially in light of issues like network partitions? This is when one or more nodes in the cluster become unresponsive to pings, and must be handled appropriately. After all, the node that believes the others to be unreachable may in fact be the unreachable node, and it’s good to know this...

Read More...

Reactive Revealed Part 2 of 3: Elasticity, Scalability and Location Transparency in Reactive systems

In Part 2 of 3 in our Reactive Revealed series, Typesafe deputy-CTO Viktor Klang looks at how organizations with Reactive systems (like Netflix, Twitter, LinkedIn, Walmart, Gilt, Huffington Post and many more) are able to adaptively scale in an elastic, infrastructure-efficient way, and how location transparency plays a role in distributed Reactive systems. This webinar takes a step far back from the deep technology and low-level protocols reviewed in Reactive Revealed Part 1 with Konrad Malawski, looking more at math, conceptual ideas and theory rather than code. 

Read More...

The 7 Ways to Wash Dishes and the Case for Message-driven Reactive Systems

Understanding Async, Non-Blocking, Concurrent, Parallel and More

I’ve been working for several years to try to find a meaningful way to describe the core concepts of building efficient, Reactive applications - being asynchronous and non-blocking while minimizing concurrency and supporting linear scalability by enhancing parallelism. That is a veritable soup of esoteric terms that are difficult to grasp for even the most experienced developers. Yet understanding them is critical to building truly Reactive applications.

In the past few months, I think I may have found a way to express these concepts more clearly. It also highlights some other interesting concepts, such as pipelining, batching, fork/join and Amdahl’s Law via an everyday metaphor. This kind of real-world analogy has always helped me understand concepts, and when I’ve run through this one with customers, they’ve found it to be helpful as well.

Read More...

Reactive Revealed 2015 Survey: How to Transform 5 minutes into a Donation to Devoxx4Kids

Wouldn't it be great to support good ol' primary research and Devoxx4Kids? You can do just that by completing Reactive Revealed 2015, a 5-minute (engineer verified) survey that asks about the relevance of the tools, architectures, practices and opinions related to Reactive application development to your project. By completing this anonymous, 20-question survey, you're not only sharing valuable experiences from which we can all learn from, but you're also supporting a strong cause for young geeks.

Read More...

Reactive for DevOps: Part 2 - Reactive Architectures with Microservices and ConductR

Drawn by the success of high-traffic enterprises like Twitter, Netflix, Gilt, PayPal, and Condé Nast, some people have been led to believe that Microservices are the magic bullet, automatically providing a better way to build and deploy applications. This is only partially true: Microservices are independent services (or applications) that can be deployed, scaled and updated without affecting the rest of the system. This style of architecture makes system responsiveness, resilience and elastic scalability much more attainable. 

Read More...

Meet Deeplearning4J and BIDData, two emerging Machine Learning technologies for the JVM

The explosive interest in building and deploying message-driven, elastic, resilient and responsive Reactive applications in enterprises continues to drive the need for real-time data streaming and instant decision-making. We see tools like Apache Spark, Cassandra, Riak, Kafka, Akka and Slick embracing this trend already. Additionally, the reality of Reactive Streams 1.0.0 is helping to pave the way for a new generation of somewhat alarming tools in the fields of Machine Learning and Deep Learning, which some believe may predicate the SkyNet takeover of Earth...

Nonetheless, there are two emerging projects in our ecosystem–Deeplearning4J and BIDData–that will get architects and developers passionate about data-centric computing. Let's quickly go over what these upcoming areas are in plain language.

Read More...

The 7 Ways to Wash Dishes and the Case for Message-driven Reactive Systems

Understanding Async, Non-Blocking, Concurrent, Parallel and More

I’ve been working for several years to try to find a meaningful way to describe the core concepts of building efficient, Reactive applications - being asynchronous and non-blocking while minimizing concurrency and supporting linear scalability by enhancing parallelism. That is a veritable soup of esoteric terms that are difficult to grasp for even the most experienced developers. Yet understanding them is critical to building truly Reactive applications.

In the past few months, I think I may have found a way to express these concepts more clearly. It also highlights some other interesting concepts, such as pipelining, batching, fork/join and Amdahl’s Law via an everyday metaphor. This kind of real-world analogy has always helped me understand concepts, and when I’ve run through this one with customers, they’ve found it to be helpful as well.

Read More...

What does it take to become a Typesafe certified Systems Integration partner?

At Typesafe, we have already partnered with quite a few consulting firms to provide professional services to companies looking to Go Reactive. In doing so, we ask each of our partner candidates to put together a Typesafe Activator template that showcases their skills, capabilities and quality of work. However, that doesn't give us much visibility into the specific strengths each firm brings to the table. To help provide that visibility, we recently created a capabilities model for partners that reflects the many different aspects of our technologies...

Read More...

Microservices 101: Exploiting Reality's Constraints with Technology

Typesafe Deputy CTO Viktor Klang goes into the world of microservices to see how these architectures emerge from the constraints of reality. Viktor reviews the problems imposed by reality, and shows how they can not only be solved, but how the constraints free us from misconceptions that are otherwise very easy to acquire. We also explore how distributed systems are at the heart of microservices-based architectures and how communication shapes the structure, behavior and development of the software...

Read More...

Incident report for repo.typesafe.com and repo.scala-sbt.org

After Typesafe migrated both repo.typesafe.com and repo.scala-sbt.org to JFrog Bintray, we requested Artifactory SaaS servers to be shut down. The shutdown resulted in unexpected service interruption on Travis CI's Scala builds and the outage of sbt community repository on July 23, 2015. Travis CI fixed their service interruption by updating its build environment. Typesafe corrected the sbt community repository outage by adding a new redirection service. We apologize for the inconvenience.

Read More...

Introducing "Reactive Revealed" - A Technical Webinar Series on Going Reactive for Architects and Developers

With the Reactive Manifesto now embraced by over 11,000 people and the Reactive Streams initiative in full swing with a 1.0.0 launch, we are seeing more interest in "Going Reactive" than ever before. Organizations large and small ask us questions like:

  • What does Reactive really mean and why should we care?
  • What does “Going Reactive” mean for our Development and Operations teams?
  • How can Reactive systems help us improve system resilience and scale elastically to accommodate bursty traffic? 
  • What are the business drivers and market forces that we should be aware of, and how can my organization start the journey towards modernizing our existing applications and infrastructure?

From Jonas Bonér, Viktor Klang and Konrad Malawski, co-authors of the Reactive Manifesto and contributors to the Reactive Streams initiative, we have set out to produce a three-part “Reactive Revealed” series to give an interactive opportunity for enterprise architects and software developers (we even have some goodness for Operations and Executives too) to get started with understanding Reactive from the beginning, providing an overview of the technological foundation behind it all. 

Read More...

Reactive for DevOps: Part 1 - Using Amazon EC2, Ansible, Akka and ConductR to manage and deploy to the [hybrid] cloud

Ed Callahan, Senior Engineer at Typesafe, kicks off the series with a broad overview of Typesafe ConductR, a solution for managing Typesafe Reactive Platform-based applications using Play, Akka and Scala or Java across a cluster of machines. In this series, we’ll see how ConductR manages this new wave of message-driven, elastic, resilient and responsive applications while complementing existing configuration and management tools and developer workflow...

Read More...

Four Things to Know about Reliable Spark Streaming with Typesafe and Databricks

Last week, we were happy to have a Typesafe co-webinar with Databricks, the company founded by the creators of Apache Spark. Our Big Data Architect Dean Wampler and Datatbrick's Lead Engineer for Spark Streaming, Tathagata Das (TD) provided a 1-hour presentation with Q/A on Spark Streaming, which makes it easy to build scalable fault-tolerant streaming applications with Apache Spark.

Read More...

How Scala compares with 20 other programming languages according to Reddit analysis

Last week, I came across this excellent, semi-hilarious informal study by Tobias Hermann, aka Dobiasd, which digs into 20+ programming languages and reviews the conversations, comments and sentiments from their respective subreddit feeds (WARNING: this may be NSFW due to profanity recorded by users). Regardless, I loved what I saw, and wanted to reach out to Tobias to ask him if he’d like a little coverage on the Typesafe blog, and why he ran this fascinating experiment. Responding humbly and with a good degree of perceivable curiosity, Tobias wrote me back...

Read More...

12 Tips for Enterprise Adoption of Typesafe Reactive Platform with Play, Akka, sbt, Scala and Java

In April, 2013, we published a blog post about Enterprise Scala Adoption Tips, but the time has come for an update. Not only that, we need to focus on how to help enterprise organizations adopt Scala and also the Typesafe Reactive Platform in general. Many enterprises make the decision to leverage Akka and Play Framework from the Java API, which we fully support.

As more enterprise organizations adopt Scala/Akka/Play, we find it important to help them engage the community effectively. This involves providing them with information about where they can find resources to empower their developers to learn as much about these technologies as possible, as well as to directly engage with the community on a daily basis. By following these steps, the likelihood of successfully adopting these technologies is much higher.

Read More...

A Deeper Look at Reactive Streams with Akka Streams 1.0, Akka HTTP 1.0 and Slick 3.0

As we reviewed in our recent webinar with Roland Kuhn Reactive Streams 1.0.0 and Why You Should Care, the first version of the Reactive Streams specification is now live, and among other technologies from engineers at Netflix, Pivotal, Red Hat and Oracle, so are Typesafe's implementations of Akka Streams 1.0 and Slick 3.0. In this webinar, Typesafe engineer Endre Varga looks deeper into Reactive Streams and demonstrates Akka Streams 1.0, Akka HTTP 1.0 and Slick 3.0 for harnessing the power of streaming with back-pressure in your system.  

Read More...

The Six Questions Architects Ask About Using Akka in Production

In a recent conversation on the Akka User Google Group, we came across a very salient conversation in which we found some very straight answers to questions that architects ask themselves when deciding to adopt a tool or not. The answers below are from Justin du Coeur, the creator of Querki. Querki is still in beta, and represents is a new way of organizing your personal information powered by Scala, Akka, Play and Scala.js. As a one-man show, Justin wears many hats, which makes him an ideal candidate for cutting to the root of matter with these six questions for architects. You can read more about Justin and the Querki project on the project’s development blog and his personal blog, which blends conversations about software, science-fiction, SCA and gaming.

Read More...

What’s in a name? Typesafe public renaming update (week 6)

@theotown
July 2, 2015
name

This naming update is kind of short because the work we are doing now needs to stay private for the next month or so.But, I thought it would be cool to share what we’ve been up to, in a general way. Currently, we are at the Generate Names stage of the process––which a lot of folks on Twitter got a head start on by sharing their suggestions and opinions publicly...

Read More...