The DevOps movement is revolutionizing how we build software, and cloud apps are perhaps the biggest beneficiaries. At each step of the process, innovative tools are streamlining the process of developing and deploying new applications. At Solace, we’ve been hard at work integrating our VMR and APIs with the most popular tools in the DevOps pipeline.

Let’s take a quick look at a typical DevOps pipeline for an application using Solace, and consider how the new tools and announcements from Solace can make it work better.

devops-toolchain_092216

Develop and Build

In the Develop and Build stages, the Solace VMR introduced new freedom for Solace developers, allowing them to take their broker with them on their laptop so they could code on the go, even when they don’t have network access.

GitHub – Sample and Solace Labs

Today, we announced that we’re going to make it easier to create applications by moving all of our Developer Samples to GitHub and making them open source. Whatever the language or platform, you can find some simple code to get you started at https://github.com/solacesamples.

If you’re already familiar with Solace APIs and want to learn about extensions or other interesting ways that others have used Solace technology, we’ve also created a special GitHub repository called Solace Labs. This already has some interesting projects for Spring Cloud and Cloud Foundry, and over time it will become a central location for open source solutions and extensions featuring Solace APIs or other useful data movement techniques.

Maven Central and OSGi Bundles

To simplify build dependency management, we’ve also made our APIs available through popular central repositories. In the next release, the Solace JMS and Java APIs will be available in Maven Central and as OSGi bundles.

Up next, look for our Solace .NET API to make its way to NuGet, and Node.js to be available in NPM. Going forward, we will make all of our APIs available wherever there are native central repositories.

Solace Node.js API becoming a fullfeatured Enterprise API

When we introduced the JavaScript API, it was aimed at end-user applications running in browsers. In 2012, we introduced support for server-side JavaScript running in Node.js.  This feature supported many messaging semantics, but some features like TLS, WebSocket transport and guaranteed messaging weren’t available.  Soon, we’ll introduce support for all of these for JavaScript within Node.js. Stay tuned!

Spring Cloud

Pivotal is doing many amazing things for developers, especially in Java, but I think the most impressive is Spring Cloud. This toolset makes your life easier as you create new applications for the cloud, and our goal is to make it easy for you to use Solace messaging within a Spring Cloud application.

Over at Solace Labs, you’ll find a new project that implements a Spring Cloud Connectors extension for Solace Messaging in Cloud Foundry. This makes it super easy to bootstrap your Cloud Foundry application with connectivity details to your Solace Messaging service. Check out our sample to see this in action. Our Spring Cloud Connector is already in Maven, so you can simply add it to your Cloud Foundry application and start using a Cloud Foundry Solace Messaging service!

This is a good start, but we have more ideas to make developer’s lives simpler that we’ll be sharing soon.

Test, Stage, Deploy

A lot of focus has gone into tools that allow your application to move through testing, to staging and ultimately into production using automated configuration management and concepts like Infrastructure as Code. The code that was initially tested and staged is the code you want to run in production, with the configuration updated to point at the production environment. This has always been possible with Solace message routers because of the SEMP interface, but this is being significantly improved with the introduction of SEMP v2.

SEMP v2

Today we announced that by the end of the year we will be shipping a completely re-worked SEMP API as SEMP v2. It is a full REST API using the OpenAPI (Swagger) specification which allows you to easily generate client libraries in any language you need. This makes it so much easier to integrate into your configuration management and Infrastructure as Code tools. You’ll also start to see extensions to support common configuration management tools like Ansible, Puppet and others. That’s just skimming the surface of why SEMP v2 will make your life so much better. It also adopts a more natural object model for the resources (Queues, Topic-Endpoints, Client-Username etc), makes operations atomic, etc. See the blog post and SEMP documentation (coming soon) for all the details.

Summary

I hope elements of this new increased support for DevOps tools will make it easier for you to tap into the power of Solace messaging as you build and deploy applications. Please share your impressions in our community, along with ideas for ways we can make your life even easier.

Mark Spielman

Mark joined Solace in 2004 and currently works as a Senior Product Owner responsible for technical integration of partner’s products with PubSub+ Cloud. Prior to the his current position Mark held various other roles within Solace including Development Lead in the Professional Services team where he helped customers architect their applications and integrate the Solace products into their existing environments and as both a QA Project Lead and Software Designer in the Quality Assurance group helping guide feature development and ensuring new features surpassed customer’s expectations. Mark holds a B.A.Sc. in Computer Engineering from the University of Waterloo.