Techrants

Mar 10
Permalink

New Infrastructure

New Infrastructure Technology a Computing bag by Sam Pullara on Bagcheck

Everyday dozens of interesting projects are either released or upgraded. I try to track all the happenings but sometimes I miss something important. The ones I find I will post about here. Please suggest any others that I should be paying attention to.

You can see the current software and services stack for Bagcheck in the Bagcheck Technology bag.

Scala
programming language object-oriented functional
Scala is a very cool language and has a lot of advantages over Java if I analyze them in a vacuum. At some point I imagine I will either be programming in Scala or Java will be a lot more like Scala (see Java 8). Right now, however, the tooling for Java is so much stronger than Scala I can’t yet make the switch. I may at some point use it for some subset of Bagcheck though. Give me great Intellij IDEA and Maven integration and I will probably try the jump again.

akka

It is not a requirement to switch to Scala to use Akka. In fact the API looks almost identical. One of the things I would like to do over time is make the Mustache.java system scale over nodes in addition to CPUs. WIth Akka I could do that transparently and then optimize what is executed where as long as I can keep serialization costs low between systems.

Celery
Open Source, Asynchronous job queue
I read about this on this blog post where they describe the underpinnings of the Convore consumer-friendly IRC-like service.

Like Convore we use Redis already on the backend so we’d probably use it the same way they do. We don’t have an immediate need for Celery but it is something that comes up from time to time and so I want to watch where it goes.

Cassandra
0.7.1
Cassandra is a NoSQL database that is in fairly wide use. Larger companies like Facebook, Twitter and Digg use or have used it. It is an excellent solution if you don’t need things like atomic increment and are ok with eventual consistency. For most of the things on Bagcheck it doesn’t work that well though it could theoretically be a better solution than Redis for caching.

Oracle Berkeley DB Java Edition

Ryan Kennedy called my attention to this database with a recent blog post. It sounds like it would fit my AvroBase API pretty well as a high-performance, scalable, fault-tolerant key-value store with key range scans. It also supports transactions though I only need optimistic concurrency. Not interested in the Entity API that they have and would probably just implement it at their low-level Database API.

SendGrid

I am thinking about processing incoming replies for our emails so you can reply right from your email client to a comment on Bagcheck. So far it looks like SendGrid’s Parse API is the best bet: sendgrid.com/documen…

Thanks Mark!