What is Proper Continuous Integration?

Marko Anastasov · 2 Mar 2017· Engineering

Continuous integration (CI) is confusing. As with all ideas, everybody does their own version of it in practice. Get a clear, concise summary of CI, continuous deployment and continuous delivery. Understand how these practices complement each other, and how they can help you develop robust software faster.

Read more...
Faster Rails: Indexing Large Database Tables Without Downtime

This article is part of our Faster Rails series. Check out the previous article about proper database indexing.

As the scope and size of a Rails project grows, actions that were blazingly fast can become slow, and even downright unacceptable. The cause behind this issue can be an exponential growth of your database tables that makes lookups and updates much slower. If this is the case, adding missing indexes to your database is a cheap and easy way to drastically improve the performance of your application.

Read more...

Speeding Up Rendering Rails Pages with render_async

Adding new code to Rails controllers can bring a couple of problems with it. Sometimes controller actions get really big, and they tend to do a lot of things. Another common problem is an increase in data over time, which can lead to slow page loading time. Adding new code to controller actions can also sometimes block the rendering of some actions if it fails, breaking user experience and user hapiness.

Here at Semaphore, we came across these types of problems a couple of times. We usually resolved them by splitting controller actions into smaller actions, and rendering them asynchrounously using plain Javascript.

After some time, we saw that this can be extracted to render_async, a gem that speeds up Rails pages for you - it loads content to your HTML asynchrounously by making an AJAX call to your Rails server.

Read more...

Semaphore Boosters: Move Faster with Automatic Parallel CI Testing

As any application grows in features, running all automated tests in the continuous integration (CI) environment begins to take a significant amount of time. A slow CI build — anything longer than 10 minutes — takes a toll on everyone's focus, flow and productivity. How do you move fast when even a trivial update or hotfix takes 15 minutes to reach production? Half an hour? Forty-five minutes?

Read more...

How the Team at 500px Moves Faster with Semaphore

500px has been our customer since 2014, and they have been growing and evolving along with Semaphore.

Moving fast is crucial to the 500px team. The less time they spend on testing, the more value they can create for their users. They put new code into production several times per day, and automated testing allows them to ensure that new features work, while spending less time reviewing previously-tested functionality. In order to accomplish this, they rely on Semaphore to automatically run their tests in parallel and speed up their test suite.

Read more...

Faster Rails: Is Your Database Properly Indexed?

This article is part of our Faster Rails series. Check out the previous article about fast existence checks.

My Rails app used to be fast and snappy, and everything was working just fine for several months. Then, slowly, as my product grew and users started to flock in, web requests become slow and my database's CPU usage started hitting the roof. I hadn't changed anything, why was my app getting slower?

Is there any cure for the issues I'm having with my application, or is Rails simply not able to scale?

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.