DEV Community

Discussion on: DEV, meet Site Reliability Engineering

Collapse
 
rhymes profile image
rhymes • Edited

Mostly because it's a proprietary product that AFAIK is not based on Elasticsearch, which means that you're tied to a service with less accessible expertise than self hosted or SaaS Elasticsearch based offer.

Regarding performance, benchmarks, features and everything else I don't know much about those differences yet, we'll obviously have to evaluate those if we consider switching, but that's applicable to any type of stack change.

Thread Thread
 
yaser profile image
Yaser Al-Najjar • Edited

Thanks ryhmes for the explanation.

I would like to mention those facts:

  1. The current UX when searching in DEV is elegant, fast... just great (I barely switch to google trick searchTerm site:dev.to).

  2. I remember once Ben indicated the software price factor is negligible.

  3. Elasticsearch requires extra work (setup, provision, code... etc).

All that said, is Elasticsearch adding any specific value? Or am I missing something?

Thread Thread
 
rhymes profile image
rhymes

I remember once Ben indicated the software price factor is negligible.

I think in that thread they were discussing about Heroku vs other PaaS/SaaS cloud solutions, Algolia is external to Heroku

Thread Thread
 
yaser profile image
Yaser Al-Najjar

I think the discussion is pretty similar...

Heroku vs. DigitalOcean = PasS vs. IaaS = ReadyToUse vs DIY

Algolia vs. SelfHosted Elasticsearch = SaaS vs. IaaS = ReadyToUse vs DIY


The real different discussion would be this one:

Algolia vs. SaaS Elasticsearch (like AWS) = SaaS vs. another SaaS = ReadyToUse vs ReadyToUse

Since you mentioned that specific point, is the price the main concern?

Thread Thread
 
andrewbrown profile image
Andrew Brown 🇨🇦

AWS has its own SaaS for search called Amazon CloudSearch

So really it would be

Algolia vs Amazon CloudSearch if you want to say = SaaS vs. another SaaS

Amazon Elasticsearch is just AWS managing the clusters for you so you have high availability, durability and security out of the box and don't have to worry runaway CPU.

Thread Thread
 
buinauskas profile image
Evaldas Buinauskas • Edited

If you need apples to apples, I would consider Elastic Site Search(previously known as Swifype). It is based on Elasticsearch, owned by the same company and has nice GUI and rank tweaking capabilities.

Managing Elasticsearch yourself is painful, I mostly struggled with version upgrades.

Thread Thread
 
yaser profile image
Yaser Al-Najjar

@andrewbrown

Yep that's what I meant by AWS (whether CloudSearch or AWS Elasticsearch)

high availability, durability and security

Those must be all provided by Algolia too, is there anything else that would urge me to switch?

@buinauskas , the same question applies to Elastic Site Search (ofc in DEV context) 🤔

Thread Thread
 
buinauskas profile image
Evaldas Buinauskas • Edited

Obviously I lack a lot of details here. But if it was me, I would carefully measure switch from PaaS to anything that I'd have to manage myself (that's both infrastructure and index mappings). I'd rather focus building and tweaking features instead of maintaining infrastructure and index transitions.

I'd probably only switch if some of these start bothering me too much:

  • Manage cost
  • Not enough customization
  • Expand Elasticsearch usage (which probably falls under managing cost)
Thread Thread
 
andrewbrown profile image
Andrew Brown 🇨🇦

@yaser

For your own projects, there is certainly nothing wrong with Alogia or Elastic Site Search.

For an open-source project where the development environment needs to be replicated is a different story. By using Amazon Elasticsearch a CloudFormation template can be written which will provision all required cloud resources required to run the app in production.

By using Elasticsearch which is an open-source project the development environment can be dockerized.

The pain with Alogia is that you have to signup for an account and its set to a trial. So to continuously develop on DEV.to you have to keep opening trial accounts or you have to pay for Alogia.

AWS also has credits for open-source projects and in addition to has a free tier which is
750 hours per month of a t2.small.elasticsearch.

Now, why would you choose Elastic Search Site/Alogia over Amazon Elasticsearch?

Elastic Search Site and Alogia or going to definitely come with many conveniences and likely will lead to greater agility when developing.

AWS gets its superpowers when you buy into the whole AWS ecosystem since my many applications can be chained together. Elasticserach is commonly used in a pattern called ELK which is one button to deploy on AWS via a CloudFormation template.

Thread Thread
 
buinauskas profile image
Evaldas Buinauskas

For an open-source project where the development environment needs to be replicated is a different story.

Isn't this same for any kind of development environment?

It's also Algolia, not Alogia ; )
Also ELK is not a pattern, just a stack of applications.

To me, it feels either money goes to Algolia (or any other tool) vs. that same money on something that needs more maintenance.

Thread Thread
 
yaser profile image
Yaser Al-Najjar • Edited

@buinauskas

To me, it feels either money goes to Algolia (or any other tool) vs. that same money on something that needs more maintenance.

Yep, that's what I'm trying to verify since the very start of the discussion (let alone that DEV search feature might get broken during the switch).

@andrewbrown

Thank you for sharing your view!

AWS gets its superpowers when you buy into the whole AWS ecosystem since my many applications can be chained together

Which is not the case with DEV, so I wouldn't really recommend the switch.

The pain with Alogia is that you have to signup for an account and its set to a trial. So to continuously develop on DEV.to you have to keep opening trial accounts or you have to pay for Alogia.

I agree with you... partially 😁

I checked their open-source offer, and it seems a fair deal: algolia.com/for-open-source/

  1. They offer you their software for free if you are a non-profit, and DEV is a business.

  2. For the open-source contributors, yes they should be using Algolia services for free. After all, a contributor is mostly not making money out of his contributions.

I think instead of the switch into another service, algolia team (@jesswest @r4ph_t ) might consider the idea of adding a monthly free-tier for developers (and / or providing an official mock docker image like this one).

Edit: I have mentioned the topic in their feedback section, topic link here.

Thread Thread
 
rhymes profile image
rhymes

For an open-source project where the development environment needs to be replicated is a different story.

This is of course a concern and your whole argument makes sense (though it might be a little biased towards embracing AWS as a cloud provider) but that's not the only factor in a decision, after all DEV is also a company.

If "tomorrow" the company goes bust because its employees spend 7 days a week managing infrastructure instead of developing the actual product nobody is going to be happy, even though the code is opensource and one could pick up from there :D

I think as all technological choices all aspects need to be considered, including your argument towards using opensource :)

BTW tying the product to AWS SaaS services could possibly be another type of vendor lockin (especially if you "buy in the whole ecosystem" as you mentioned), not more or less than having Algolia as a search engine. Same goes for CloudFormation instead of Terraform I reckon.

There's obviously a will about embracing open technologies and a better interoperability but finding the right balance between SaaS services and DIY is a struggle for every company at all stages...

Thread Thread
 
rhymes profile image
rhymes

Yep, that's what I'm trying to verify since the very start of the discussion (let alone that DEV search feature might get broken during the switch).

We still haven't done any thorough evaluation on this, I'm afraid we don't have a satisfactory answer yet :)