Bloom
  • Invoice Generator
  • Categories
    • Company news
    • Self improvement
    • Business tips
    • Marketing & Sales
    • Guest Post
    • Insights
    • Archive
  • About
  • Pricing
  • Blog
  • Try Bloom Free
Bloom
  • Invoice Generator
  • Categories
    • Company news
    • Self improvement
    • Business tips
    • Marketing & Sales
    • Guest Post
    • Insights
    • Archive
  • About
  • Pricing
  • Blog
  • Try Bloom Free
Product updates

Under the hood: Is Bloom using the best available technology?

by Arkadiy Dorokhov May 22, 2017
written by Arkadiy Dorokhov May 22, 2017

It’s no secret that developers are notorious for indulging in anti-social behavior—working long hours, staying up deep into the night, and forgoing many life opportunities—all in the name of building a software they’re passionate about. But why is software so difficult to build? What does it take to build a SaaS (software as a service) platform? I wanted to take a moment to shed some light on what happens behind the scenes at Bloom, particularly with our engineering team.

As previously mentioned, Bloom is a SaaS platform and building it is much like assembling a race car on a budget and a tight deadline. Strategizing and careful planning of every detail are of utmost importance in a project that has tremendous potential to positively impact tens if not hundreds of thousands of users. 

gears

Our engineering team is committed to incredibly high standards writing code and implementing architecture, but this does not come easy or cheap. To achieve our goals we have adopted the agile project management methodology working in two-week sprints. Our team firmly believes in constant learning and utilizing the right tools for solving any given problem, consequently, we strive to be knowledgeable in the latest technologies and best available solutions.

As we get into the actual code and infrastructure implementations we are guided by three principles – our product must be scalable, maintainable, and sustainable. To achieve these principles, we decided to follow the micro-service architecture approach to building software. This approach allows us to have small, single responsibility components that are well defined and easy to manage. In other words, just like a car, we needed many parts to function efficiently while providing access for maintenance, upgrades, and modifications. For instance, Bloom is an image-heavy platform. With tens of thousands photographers uploading thousands of images, our platform must quickly and efficiently receive, process, store, and access images of all sizes and types. To solve this challenge, we developed a few micro-services. Here is quick breakdown: one micro-service manages the receiving of images, another processes the images and prepares the needed sizes, another manages permissions, and finally, there is a micro-service that manages retrieval of files and serving them up using our CDN.

code

This architecture continues to allow us to fine-tune and scale seamlessly. For example, let’s assume three thousand photographers decide to upload one thousand images each all at the same time. Our infrastructure can easily handle this by instantly spinning up thousands of individual virtual servers that would process those images in seconds, resulting in a flawless experience for every photographer. Moreover, because all of the servers only spin up on-demand, we are able to keep the operating costs down and pass those savings to our users. Another example would be the image processing (which also is a separate micro-service). We have built this micro-service in a way that allows us to add post-upload image effects on demand with ease. The effects could include smart cropping, resizing, various overlays such as watermarking, and much more. All of these additions and changes would be easy to add without impacting the rest of the software and thus greatly reducing a possibility of downtime. These is are just some of the ways we utilize cutting edge technology at Bloom to deliver a product that is scalable, maintainable and of course sustainable.

While there are easier ways to build software, we have set out to build a toolset for photographers which utilizes the absolute best technology available ensuring stability and reliability as we scale. We are not taking shortcuts. Yes, we are paying the price of development right now, but it is imperative to set the right foundation. This is the foundation which will allow us to build a solid architecture in the future and not have our innovation and ideas be stumped by technical debt.

We are eager to be recognized as the most technologically advanced, stable, and reliable photographer platform available.

Try Bloom for 14 days for free!

previous post
The nightmare of contact forms and how Picr will fix it
next post
Beta Launch Plan and Date Announcement

You may also like

Bloom Releases Free Client Gallery & Image Proofing...

August 10, 2022

Just launched: Embedded forms that work wonders.

December 18, 2018

You won’t see this anywhere else: Instant booking,...

October 11, 2018

How Bloom will help you live your freelancing...

August 29, 2018

Did they see your message? Updates to: Messenger,...

April 6, 2018

Two absurdly cool features that will change your...

November 2, 2017

Beta Launch Plan and Date Announcement

June 27, 2017

The nightmare of contact forms and how Picr...

May 10, 2017

That’s way too much! Photographers use 217 different...

January 3, 2017
Footer Logo
  • Invoice Generator
  • Pricing
  • About
  • Try Bloom for FREE

@2025 - All rights reserved. Bloom.io