Last Monday, the 2017 edition of the GopherFest was held and we also gave a quick talk on how
we added Context support
to the NATS client, a feature which has been requested since around the time of the Go 1.7 release. As the context package now is part of Go, many more library authors are adopting it to support /cancellation propagation/ for blocking calls, making up for more readable code:
NATS Blog
Welcome to the NATS Blog! We have content from NATS Maintainers, end-users, and community contributors. We always appreciate outside contributions so if you would like to contribute a blog post, see our Contributor's Guide for more information.
GopherFest 2017 Talk: On Adopting Context in the NATS client
WALDEMAR QUEVEDO — May 19, 2017
Webinar: How Clarifai uses NATS and Kubernetes for their Machine Learning Platform
BRIAN FLANNERY — April 13, 2017
Speaker: Jack Li, Senior Infrastructure Engineer at Clarifai
When: Wednesday, May 10th at 3PM New York / 12PM San Francisco
Clarifai is a machine learning company which aims to make artificial intelligence accessible to the entire world. Their platform allows users to tap into powerful machine learning algorithms while abstracting away the technical minutiae of how the algorithms work and the infrastructure scaling problems of building AI applications from scratch.
Clarifai has moved to a highly available Kubernetes-based architecture, which also required a simple, scalable messaging layer. NATS was selected by the Clarifai team for a variety of reasons.
Read more...Webinar: How Choria significantly improves the operability of Mcollective by using NATS
BRIAN FLANNERY — March 28, 2017
Speaker: R.I. Pienaar
When: Wednesday, April 26th, at 12:30 PM New York / 9:30 AM San Francisco
R.I. Pienaar is the creator of MCollective, which was sold to Puppet Labs. His new project - Choria - simplifies the operational aspects of using MCollective, and NATS has been key to providing simplicity and scalability.
This webinar will share more information about what Choria is, why NATS was chosen for the messaging layer, and what the results have been so far!
Read more...Guest Post: NATS for The Marionette Collective
R.I. PIENAAR — March 23, 2017
My name is R.I. Pienaar, I’m a freelance DevOps architect. I designed and wrote a tool called The Marionette Collective, now owned by Puppet Inc. I maintain a blog at devco.net and you can follow me on twitter at @ripienaar.
I’d like to thank NATS team for reaching out and giving me the opportunity to talk about our use of NATS in a new project called Choria that upgrades The Marionette Collective for a more modern environment.
Read more...Guest Post: How Clarifai uses NATS and Kubernetes for their Machine Learning Platform
JACK LI — March 8, 2017
Clarifai is a machine learning company which aims to make artificial intelligence accessible to the entire world. Our platform allows users to tap into powerful machine learning algorithms while abstracting away the technical minutiae of how the algorithms work and the infrastructure scaling problems of building AI applications from scratch.
Some of the machine learning algorithms that we run for users can take a few seconds to several minutes to complete. We process the more time-consuming requests asynchronously. One such example is custom training which is a feature that allows customers to generate their own personalized visual models with just the tags they choose to use. It is a feature very few AI companies can provide, and requires sample images to form new neural network connections. As customers increase the complexity of their custom models, it creates large variations on resource utilization and network demand. As we have moved to a high availability Kubernetes architecture, we needed a robust queuing system and retry solution that was fast and reliable. Our development pipeline utilizes CI/CD with Kubernetes, so services restarting in production is quite frequent and normal. This caused some of the asynchronous processes to fail sporadically during these redeployments. In order to better tolerate restarts and make our infrastructure more robust, we wanted to enqueue asynchronous processes in a persistent message queue so that these processes could be retried upon failure.
Read more...MARK SONGHURST — January 24, 2017
Equine Register provides the government, industry and members of the public with bespoke digital tools and services that increase equine welfare and combat criminal activity. We are actively replacing legacy paper-based systems with smartphone and web delivered solutions which provide unequivocal information regarding the identity, history, health and ownership of an equine from it’s birth onwards.
I am responsible for the design and implementation of the architecture providing our RESTful API, which needs to serve an array of different Clients and be capable of supporting new functionality with minimal delay and impact. With an ever-increasing customer base, our system’s performance metrics are estimates at best, requiring the API to be highly performant and stable.
Read more...Combining the Simplicity of NATS with the Simplicity of Snapcraft.io - NATS Snap now available
WALLY QUEVEDO — January 2, 2017
The Snap initiative spearheaded by Canonical, Dell, Samsung, Intel, The Linux Foundation and others, enables a single binary to run securely on any Linux system (desktop, mobile, cloud, IoT - you name it) – a standard approach providing flexibility, simplicity, and security. Moreover, all of the various Snap-enabled applications need to communicate with a multitude of devices and systems.
NATS is a messaging system all about simplicity, security, and performance. It’s a single binary with no external dependencies, and just a few MB in size. It’s lightweight footprint, security, and scalability made it a great fit for the Snap initiative, and we’re happy to share that a Snap for NATS Server is now available via the command line (``` sudo snap install nats-server
Read more...Webinar: How Greta uses NATS to revolutionize data distribution on the Internet
BRIAN FLANNERY — November 14, 2016
Greta is a Swedish startup that wants to change the way content is delivered on the internet. Their team has developed a technology for peer-to-peer content delivery over webRTC, which uses NATS to create a rapid, highly scalable webRTC signaling system.
Dennis Mårtensson , Co-Founder and CTO at Greta, will give an overview and answer questions, and we are excited to hear from him!
Read more...Apache Camel NATS Connector for the Apcera Platform
IGOR FOMENKO — November 3, 2016
Introduction - Camel, NATS and Apcera
Recently at Logimethods we’ve developed a new Camel-Nats component that can deploy on premise (non-cloud), and through the Apcera platform. In this blog, we’ll introduce this new component and explain why we believe that it was a critical missing link for organizations trying to develop an integration platform based on open source tools and cloud infrastructure.
If you are not familiar with Apache Camel, a “Component” is another term for an adapter built using Camel framework. So let’s examine how the NATS , CAMEL , and Apcera technologies complement each other and see how all three can integrate as core components of a modern IT architecture.
Read more...Need to test your NATS application? Gatling might be the solution.
LAURENT MAGNIN — October 19, 2016
NATS is about connecting different components: this allows you to test the components individually as well as their integration. As such, it’s essential to be able to generate and inject NATS messages. This is where a tool such as Gatling (an open-source load testing framework) is useful.
The Missing Piece (Until Now)
To generate and send messages to NATS, you could use the Java client for NATS (aka JNATS) by implementing your own Java code. However, in a complex ‘enterprise’ implementation you may start to generate a high volume of data required, or have complex integration scenarios in mind prior to deployment.
Read more...