The microservice architecture has recently been gaining traction, with many companies sharing their positive experiences with applying it. The early adopters have been tech behemoths such as Amazon and Netflix, or companies with huge user bases like SoundCloud. Based on the profiles of these companies and the assumption that there's more complexity to running and deploying many things than to deploying a single application, many people understand microservices as an interesting idea that does not apply to them. It's something that mere mortals could qualify for in the far distant future, if ever.

Read more...

Faster Rails: How to Check if a Record Exists

Ruby and Rails are slow — this argument is often used to downplay the worth of the language and the framework. This statement in itself is not false. Generally speaking, Ruby is slower than its direct competitors such as Node.js and Python. Yet, many businesses from small startups to platforms with millions of users use it as the backbone of their operations. How can we explain these contradictions?

Read more...

By popular demand, we're happy to announce that we've made some tweaks to Slack notifications coming from Semaphore.

Here's what our build and deployment notifications now look like:

We experimented with different approaches, ranging from minimal to multi-line, rich format messages, and used them for our projects for several weeks. In the end, we settled on a minimal, yet informative single-line format that includes all the key information (what, where) and links to relevant resources.

Read more...

At Rendered Text, we like to decompose our applications into microservices. These days, when we have an idea, we think of its implementation as a composition of multiple small, self-sustaining services, rather than an addition to a big monolith.

In a recent Semaphore product experiment, we wanted to create a service that gathers information from multiple sources, and then emails a report that summarizes the data in a useful way to our customers. It's a good use case for a microservice, so let's dive into how we did it.

Our microservices stack includes Elixir, RabbitMQ for communication, and Apache Thrift for message serialization.

We designed a mailing system that consists of three parts:

  1. the main user-facing application that contains the data,
  2. a data-processing microservice, and
  3. a service for composing and sending the emails.

Read more...

Migrating from Snap CI to Semaphore

In the last week, news has spread throughout the CI/CD community about the announced shutdown of Snap CI, one of our highly-respected competitors. If you're a Snap CI user looking for a new hosted CI/CD solution, here's a comparison of Semaphore's and Snap CI's offering to help you decide if Semaphore is the right choice for you.

Read more...

1 2 3 4 5 6 7 8 9 10 11
Newsletter

Occasional lightweight product and blog updates. Unsubscribe at any time.

© 2009-2017 Rendered Text. All rights reserved. Terms of Service, Privacy policy, Security.