Operations | Monitoring | ITSM | DevOps | Cloud

Clojure microservices for JavaScript developers part 3

This series was co-written by Tyler Sullberg and Musa Barighzaai. This is the third and final post in a series of posts for JavaScript developers about how to set up Clojure microservices. The previous posts were: Those previous posts are useful context, but you can clone the repo and jump into this post without reading them.

Clojure microservices for JavaScript developers part 2

This series was co-written by Musa Barighzaai and Tyler Sullberg. In the previous post, we explored high-level differences between thinking in Clojure compared to thinking in JavaScript. We are now ready to start building our first Clojure microservice. The microservice we are going to build will be very simple. It will be an HTTP server that uses a Redis data store to count how many times a given IP address has pinged the /counter endpoint.

Clojure microservices for JavaScript developers

This series was co-written by Tyler Sullberg and Musa Barighzaai. CircleCI is growing, which is wonderful. However, one of the growth challenges we have is that our backend is primarily written in Clojure, and few developers know Clojure. Many CircleCI engineers, including myself, have learned Clojure on the job. Before joining CircleCI, I was a JavaScript developer. As the lingua franca of software engineers, JavaScript is a relatively straightforward language to learn.

Engineering solutions to security issues

Software engineering teams have always looked for ways to increase code creation efficiency, reduce code vulnerabilities, and improve security processes. Many are now shifting security left, establishing security controls and testing — specifically integration testing — at an earlier phase in the software development lifecycle (SDLC).

Managing reusable pipeline configuration with object parameters

CircleCI pipelines are defined in configuration files using the YAML syntax, which has been widely adopted by many software tools and solutions. YAML is a human-readable declarative data structure commonly used in configuration files and in applications where data is being stored or transmitted. The data in pipeline configuration files specifies and controls how workflows and jobs are executed when triggered on the platform.

Become a CI/CD expert with live DevOps training courses

At CircleCI, we’ve worked hard to build on-demand training to help our users get the most out of our platform and its capabilities. Historically, we created CircleCI Academy courses to ensure that all our customers know how to effectively use the features on our platform. Today, we’re taking a proactive approach to enhance your DevOps skills.

Securing pipelines through secret management

Secrets management plays a critical role in keeping your pipelines and applications secure. While secrets management tools help, you need to implement best practices and processes to successfully manage secrets in a DevOps environment. Standardizing, automating and integrating these processes also helps secure secrets by reducing the chance of human error.

Reducing microservice overhead with shared libraries

It’s a common story: the product team gets early success and grows into a large monolithic code base. While everything is in a single code base, features can be added quickly. This is partly due to the ability to leverage shared code across each feature in the codebase. When your team is adding a new feature, a developer can leverage the existing codebase for needs such as logging or special error handling.