introduction to the typesafe reactive platform
TRANSCRIPT
Introductionto the Typesafe Reactive Platform
Michael Nash, VP Capabilities
What?• Typesafe Reactive Platform
• Open Source and Commercial Offerings
• Business Benefits
• Value
What's Changed?
• (Much) More data
• More features
• More insight
• Smaller response times
• Less development time
• 100% Uptime... and Moore's law is capping out
So we go Multicore and
Distributed
Scaling Up (Vertical)
• A 10% bigger machine costs more than +10%
• There's an upper limit
• It's easy: Software doesn't change
• But you get...
• Single point of failure
• Single point of contention
• A hard upper limit
Scaling Out instead of Up (Horizontal)
• More machines - a cluster
• As soon as you have two machines you need
• Parallelism
• Non-Determinism
• Distributed State
• Now you have a design issue
You need a Reactive Platform
Theoretically, you can build such a system with any platform... eventually
A platform that supports concurrency and distribution makes it cost-effective
You get business value faster, with fewer errors and lower maintenance
Productivity and Effectiveness
Developing software at the speed and efficiency of yesterday isn't enough anymore
We need more resilient and elastic systems, and we need them faster
The Best TeamsThe best developers want to work with the best technologies
Attract and retain the best teamsGreat developers want to work with other great developers
Better Tools
We need better tools for - Time to Market - Scalability (without re-writes) - Less downtime - Fewer errors - Greater resilience
What's Reactive?Reactive is an approach to building software that is...
• Responsive
• Elastic
• Resilient
• Message-Driven
What's the Typesafe Reactive Platform?Open Source and Commercial Offerings
TRP: Open SourceScalaAkkaPlaySparkTooling
Scala
• Object-Functional Language
• Compile to JVM or JavaScript
• 7+ times higher velocity
• Attracts the best talent
Akka
The Actor Model for the JVMToolkit for building concurrent and scalable apps
• Elastic
• High performance
• Distributed by design
• Resilient
• Great base for Microservices
Play
• Developer-friendly
• Scalable
• Uses Akka under the hood
• RESTful APIs are easy
• Native JSON support
• Websocket, Comet, Streaming
Spark
• Big data/Fast data analytics
• Machine learning
• Massive scale
• In-memory distributed data sets
We'll have a whole webinar dedicated to exploring Spark on October 27th
Tooling
• Activator
• Templates
• Up and running quickly
• SBT
• Monitoring
• Microservices
A DevOps Approach• Older approaches try to hide
• The network
• Failure
• They try to enforce
• A global "now"
• Transaction isolation
• Homogenous deployment
A DevOps ApproachReactive systems embrace DevOps - The network is native - Failure is embraced - Time is a first-class citizen
Developers and Ops need to collaborateon the same team
TRP provides tools to make this easy
TRP: Commercial
World-class Support
Certified builds- Verified compatibility- Security audited- Open-source indemnification- Commercial activator templates
Production Monitoring
Technical Enhancements for Enterprise Projects- Slick bindings for Oracle and SQL Server- Split-brain resolver- Play SOAP bindings- Play User Quotas
ConductR
ConductR
• Reactive Application Manager
• Deploy and manage distributed applications
• Service Discovery and location independence
ConductR
• Provides a platform for all elements of the stack
• Sits above the infrastructure layer (e.g. Mesos)
• Ensures continuity of service
• Tunable load-balancing
Meet the Neighbours
• Java
• Full interoperability
• Huge ecosystem
• The JVM
• JavaScript
• Scala.js
• Support in Play
• Mesos
Infinity Stack• Akka• Spark• Cassandra• KafkaOn top of DCOS/MesosMaximum utilization of data center
Where does BoldRadius fit in?Largest and best team of Scala, Akka, Play, Spark and Mesos experts in North America
• Enablement
• Development
• Training
• Mentoring
• Building your Team
We have helped clients leverage the power of reactive systems in healthcare, finance, IoT, and many other industries.
Questions?If we can help enable your teams in Scala, Akka, Play, Spark or Mesos,
Please give us a call at 1-866-877-7531 or email us at [email protected]