syncromatics akka.net case study

10

Click here to load reader

Upload: petabridge

Post on 06-Apr-2017

1.181 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Syncromatics Akka.NET Case Study

SYNCROMATICS

USING

AKKA.NET

AUGUST 12, 2015

Page 2: Syncromatics Akka.NET Case Study

WHO AM I?

Josh Benjamin

Senior Software Engineer

[email protected]

Page 3: Syncromatics Akka.NET Case Study

SYNCROMATICS

Provides an integrated hardware and software platform also

called "connected bus" which allows logistics planners deep

analytics for improving routes and services, while also

allowing the riding public know where the bus is, the current

number of riders, and estimated arrival time. Syncromatics is

a California Clean Tech winning SaaS company.

Page 4: Syncromatics Akka.NET Case Study

TECH STACK

•C# / F# / .Net

•MS SQL Server

•Akka.Net

•Rabbit MQ

•Nhibernate

•Redis

•ElasticSearch

•Nancy

•Angular

•Ansible

Page 5: Syncromatics Akka.NET Case Study

LEGACY SYSTEM

Written in mid 2000s for tracking vehicles.

Server 1

Cust 1

Cust 2

Server 2

Cust 3

Server 3

Cust 4

Cust 5

What problem did we have? Or why did we switch?

• High avail, lack thereof – inefficient sharing poor unreliable

• Concurrency – processing data packets in order, per vehicle

• Testability – unit tests

• Maintainability – readability

Page 6: Syncromatics Akka.NET Case Study

AKKA.NET SOLUTION

High Availability – Consistent Hashing Router will rebalance

when a node leaves/fails.

Concurrency – Actors are inherently thread safe. We don’t

worry about locks!

Testable – Actors are small, have one job, and only

communicate via messages.

Maintainable – Small actors are easy to grok.

Took 85% less code to do the same job

Code is just focus on the problem

Page 7: Syncromatics Akka.NET Case Study
Page 8: Syncromatics Akka.NET Case Study

MONITORING AND

DEPLOYMENT

We use statsd, graphite, and grafana to monitor our akka.net

cluster activity and performance.

We deploy our akka.net application packed as a topshelf

service with ansible.

In the future we are looking at docker and ubuntu for hosting.

Page 9: Syncromatics Akka.NET Case Study
Page 10: Syncromatics Akka.NET Case Study

QUESTIONS?

WE ARE HIRING!

[email protected]