top | item 24806399

(no title)

garenp | 5 years ago

Atlassian does not provide particularly good guidance on how to get their tools to perform well. The first big issue for any moderately busy system is that you need to dedicate huge gobs of heap memory (think 16G+) to the tool. After that, they suffer from poor schema design - there are tables that are literally missing indexes on commonly queried columns, and some columns that have delimited values embedded in them.

It's hard for me to imagine that atlassian would allow individual instances of jira/confluence/etc in their cloud versions to get nearly as much resources as you need to give them on-prem. The incentive would always be for them to try to minimize the amount of memory every instance gets, which does NOT maximize your individual performance. Shared resources will also make performance more variable and "noisy", making it more difficult to narrow down specific causes. It's hard for me to see how "Java" and "cloud" go together.

discuss

order

threeseed|5 years ago

> It's hard for me to see how "Java" and "cloud" go together

AirBnb, LinkedIn, Netflix, Twitter, Foursquare, Sony, Shopify etc.

Most of the top tier websites use something on the JVM e.g. Java, Scala.

yjftsjthsd-h|5 years ago

> It's hard for me to imagine that atlassian would allow individual instances of jira/confluence/etc in their cloud versions to get nearly as much resources as you need to give them on-prem.

I always wondered that, too! Like, you'd think that if you have devs building a product and a team running a hosted instance of the product in the same company, that they'd have a very good feedback loop and make it easy to run the thing and to do it well. Although, I wonder if the answer is that it's not the same product - like with bitbucket, where the thing they run in the cloud isn't the same thing as they sell for on-prem. Or even a lighter version (BB, AFAIK, is literally 2 separate codebases), where they cut features in order to make the cloud version work.

> It's hard for me to see how "Java" and "cloud" go together.

Nah, it's not Java, it's the specific product. I've worked at a SaaS shop that did all Java, and while the pathological cases are comically bad, it's actually fine most of the time IME.

tiew9Vii|5 years ago

They don’t.

They forked the code base around 5 years ago now. Cloud/on prem.

Cloud is or was multi tenanted, you didn’t get your own isolated server, you got routed to some compute that would then pull data at request time based on your tenant id.

With a hard fork of two seperate product streams it was inevitable at some point maintaining feature parity between products would get to much.

Java and cloud go together quite nicely. Backend services, a JVM that has now be tuned for many many years by lots of clever people. If you have a long lived service it works really well. It works better than your node js app running a single instance on a multi core server with the event loop getting blocked.

throw0101a|5 years ago

> It's hard for me to imagine that atlassian would allow individual instances of jira/confluence/etc in their cloud versions to get nearly as much resources as you need to give them on-prem.

The homedir for our on-prem Confluence instance is >120GB and the MySQL dump is 26GB uncompressed (2GB gzipped).

Not sure how that import would/will go.

laurent92|5 years ago

If Atlassian gets paid by month to store it, it seems ok. Most images seem to be in AWS anyway, so they probably don’t back them up. The DB can get big but is that a problem if they are paid to maintain it?

m1keil|5 years ago

>It's hard for me to see how "Java" and "cloud" go together.

Netflix.

> It's hard for me to imagine that atlassian would allow individual instances of jira/confluence/etc in their cloud versions to get nearly as much resources as you need to give them on-prem

Yes, which is why the atlasaian cloud is no longer a collection of individual customer instances. More details: https://youtu.be/0N4KknY_zdU

athms|5 years ago

> It's hard for me to see how "Java" and "cloud" go together.

Why? From its release, Java has been used for SaaS. SAP runs its cloud services using Java and this includes subsidiaries Ariba, Concur, and SuccessFactors.

ashtonkem|5 years ago

> It's hard for me to see how "Java" and "cloud" go together.

Given the number of companies known to use Java in the cloud very successfully, this is a “Citation Needed” moment.