SlideShare une entreprise Scribd logo
1  sur  20
Télécharger pour lire hors ligne
SCARLET
scalable cloud enabled JIRA
  Sanne Grinovero, Sourcesense
What is Scarlet

Scarlet is a custom edition of Atlassian JIRA for demanding
customers, to scale both vertically and horizontally.

It solves the limitation of standalone JIRA to be deployed on a
single node, applies some performance tuning, enables
dynamic cluster resizing with automatic node discovery and
failover.
What Scarlet isn't

  It's not a JIRA plugin

  Doesn't need a cloud

  Can scale down to one or zero nodes without data
  loss

  Doesn't cost more than JIRA
Why did we make it?


 Some customers need failover for high availability

 Having a single node makes maintenance harder

 Sometimes vertical scaling is not an option
   or is too expensive

 We are cool partners
Why did we make it?

 British Telecom, UK:
    25,000 users
    50 million issues with complex workflows

 Another telecom, in Italy:
   140 projects
   100 issues added a day
   1,000 users
   complex workflows:
      issues live in the system for many months
From the technical point of view, it is..
  It is a source code patch to JIRA:
      Enables caching with Infinispan
      Extreme tuning at Lucene level
      Removes the design barriers to multi-node
      clustering

  It is a complex build system
      automated JIRA repackaging
      short time reaction to new JIRA releases

  cross-technology virtual appliances builds

  Designed to ease deploy and maintenance
Caching with

Infinispan is an extremely scalable, highly available data grid
platform - 100% open source, and written in Java.
                                              www.infinispan.org

JIRA uses several dozens of special-purpose internal caches;
almost all need a java.util.concurrent.ConcurrentMap, which is
implemented by Infinispan
   Scarlet detects and enables Infinispan on each of JIRA's
   caches
   Each cache can be configured independently
   Infinispan uses state-of-the-art algorithms for maximum
   efficiency (such as Low Inter-reference Recency Set - LIRS
   eviction)
   Scarlet uses Infinispan' support for cache distribution,
   invalidation and replication for multi-node deployments.
tuning & new strategies

JIRA's usage of Lucene needs to be flexible for all kind of
customers: low, medium and high number of concurrent users.

Scarlet takes advantage of some of the latest Lucene
innovations to reach for peak performance
scaling vertically:
   shared buffers across index reopening
   pooled IndexSearchers
   in-memory transactional writes
   enables more low-level tuning patterns

and scaling horizontally:
   Index stored in replicated/distributed memory (Infinispan)
Lucene index stored in Infinispan
Infinispan: shared state, cache, index
Concerns with clustering

  Internal caches
      replication, distribution or invalidation with Infinispan

  Internal state (configuration settings,...)
      replication

  Indexes
     Infinispan distributed or replicated

  File uploads (issue attachments)
      use a shared filesystem
      in future Scarlet might store files using Infinispan's
      GridFS
          http://www.infoq.com/articles/infinispan-gridfs
Concerns with clustering

  Session replication
     not implemented yet: in case the node you're connected
     to is killed you'll have to login again.

  Load balancer
     any load balancer should work
     mod_cluster is recommended when using Apache Httpd
        Dynamic configuration of httpd workers
        Server-side load balance factor calculation
        http://www.jboss.org/mod_cluster
Scarlet with mod_cluster
On a cloud...

Node automatic discovery might be problematic
  Infinispan (JGroups) has several ways to do it
      start with a list of known IPs (TCPPING)
      use S3 (S3PING)
      setup a GossipRouter

We test Scarlet using RDS as database and index store
(Amazon's MySQL as-a-service), S3PING for node
autodiscovery:
    1. provide EC2 credentials
    2. the build system produces and registers a
       preconfigured custom AMI
    3. start many of them!
On a cloud...

  Your nodes are "stateless", all equal:
     no important data on them
         no need to backup the volatile node data
     you can kill some if you want to scale back
     you can start new clones to scale up

  All your important data is stored in a database
      or S3
      a single object to backup and manage

  We have build targets to provide appliances for many
  virtualization environments (VMWare, Xen, KVM, ...)
      Using BoxGrinder: http://www.jboss.org/boxgrinder.html
Ease of management
 No "special" nodes needed
    no master node, no passive master

 the Scarlet package installs exactly the same way as
 standalone JIRA:
    uncompress it
    configure a datasource
    configure the jira_home parameter
        until we implement GridFS too
    optionally, do some tuning
        plenty of more options

 All nodes activated in the same network will form a cluster
     you might need to configure firewall and network
Upgrading to Scarlet from JIRA

1. replace the package, keep configuration files
2. start it!
       previous indexes are detected and imported in Infinispan
       a new table is added to your DB.
                                           Scarlet just adds a
                                           single table to your
                                           existing schema.
From Scarlet to JIRA                       Nothing else is
                                           changed in the
 1. replace the package                    database, and
 2. delete the extra table                 there's no need to
 3. perform re-indexing                    change any
                                           configuration files
                                           either!
Plugin compatibility

  With the ones tested so far no changes where needed, still
  many plugins are untested and might need fixing.
     Greenhopper works fine
     Fisheye works fine

  To plugin developers:
     avoid to make your own cache
        use JIRA's services
        use JIRA's cache factories
     we are available for help
        if you can show us the code we can help even better
How to get it?

  The package is free of charge for beta testers
  pay for setup, tuning and testing time

           atlassian@sourcesense.com

 www.sourcesense.com/en/events/scarlet.html

               scarlet.sourceforge.net
Combined best of breed OSS
technologies

Contenu connexe

Tendances

Inspecting a multi everything linux system (plmce2k14)
Inspecting a multi everything linux system (plmce2k14)Inspecting a multi everything linux system (plmce2k14)
Inspecting a multi everything linux system (plmce2k14)Frederic Descamps
 
OpenStack and Rackspace – an Australian perspective: Tony Breeds, Rackspace
OpenStack and Rackspace – an Australian perspective: Tony Breeds, RackspaceOpenStack and Rackspace – an Australian perspective: Tony Breeds, Rackspace
OpenStack and Rackspace – an Australian perspective: Tony Breeds, RackspaceOpenStack
 
Keep your environment always on with sql server 2016 sql bits 2017
Keep your environment always on with sql server 2016 sql bits 2017Keep your environment always on with sql server 2016 sql bits 2017
Keep your environment always on with sql server 2016 sql bits 2017Bob Ward
 
The Analytic Platform behind IBM’s Watson Data Platform by Luciano Resende a...
 The Analytic Platform behind IBM’s Watson Data Platform by Luciano Resende a... The Analytic Platform behind IBM’s Watson Data Platform by Luciano Resende a...
The Analytic Platform behind IBM’s Watson Data Platform by Luciano Resende a...Big Data Spain
 
MySQL Cluster Scaling to a Billion Queries
MySQL Cluster Scaling to a Billion QueriesMySQL Cluster Scaling to a Billion Queries
MySQL Cluster Scaling to a Billion QueriesBernd Ocklin
 
Pass Summit Linux Scripting for the Microsoft Professional
Pass Summit Linux Scripting for the Microsoft ProfessionalPass Summit Linux Scripting for the Microsoft Professional
Pass Summit Linux Scripting for the Microsoft ProfessionalKellyn Pot'Vin-Gorman
 
Running MariaDB in multiple data centers
Running MariaDB in multiple data centersRunning MariaDB in multiple data centers
Running MariaDB in multiple data centersMariaDB plc
 
Best Practices for Enabling Speculative Execution on Large Scale Platforms
Best Practices for Enabling Speculative Execution on Large Scale PlatformsBest Practices for Enabling Speculative Execution on Large Scale Platforms
Best Practices for Enabling Speculative Execution on Large Scale PlatformsDatabricks
 
Oracle Failover Database Cluster with Grid Infrastructure 12c
Oracle Failover Database Cluster with Grid Infrastructure 12cOracle Failover Database Cluster with Grid Infrastructure 12c
Oracle Failover Database Cluster with Grid Infrastructure 12cTrivadis
 
Codership's galera cluster installation and quickstart webinar march 2016
Codership's galera cluster installation and quickstart webinar march 2016Codership's galera cluster installation and quickstart webinar march 2016
Codership's galera cluster installation and quickstart webinar march 2016Sakari Keskitalo
 
Hey Relational Developer, Let's Go Crazy (Patrick McFadin, DataStax) | Cassan...
Hey Relational Developer, Let's Go Crazy (Patrick McFadin, DataStax) | Cassan...Hey Relational Developer, Let's Go Crazy (Patrick McFadin, DataStax) | Cassan...
Hey Relational Developer, Let's Go Crazy (Patrick McFadin, DataStax) | Cassan...DataStax
 
Exadata x3 workshop
Exadata x3 workshopExadata x3 workshop
Exadata x3 workshopFran Navarro
 
Key to a successful Exadata POC
Key to a successful Exadata POCKey to a successful Exadata POC
Key to a successful Exadata POCUmair Mansoob
 
What we unlearned_and_learned_by_moving_from_m9000_to_ssc_ukoug2014
What we unlearned_and_learned_by_moving_from_m9000_to_ssc_ukoug2014What we unlearned_and_learned_by_moving_from_m9000_to_ssc_ukoug2014
What we unlearned_and_learned_by_moving_from_m9000_to_ssc_ukoug2014Philippe Fierens
 
Oracle Enterprise Manager Cloud Control 12c: how to solve 'ERROR: NMO Not Set...
Oracle Enterprise Manager Cloud Control 12c: how to solve 'ERROR: NMO Not Set...Oracle Enterprise Manager Cloud Control 12c: how to solve 'ERROR: NMO Not Set...
Oracle Enterprise Manager Cloud Control 12c: how to solve 'ERROR: NMO Not Set...Marco Vigelini
 
AWS April 2016 Webinar Series - Best Practices for Apache Spark on AWS
AWS April 2016 Webinar Series - Best Practices for Apache Spark on AWSAWS April 2016 Webinar Series - Best Practices for Apache Spark on AWS
AWS April 2016 Webinar Series - Best Practices for Apache Spark on AWSAmazon Web Services
 

Tendances (20)

Inspecting a multi everything linux system (plmce2k14)
Inspecting a multi everything linux system (plmce2k14)Inspecting a multi everything linux system (plmce2k14)
Inspecting a multi everything linux system (plmce2k14)
 
OpenStack and Rackspace – an Australian perspective: Tony Breeds, Rackspace
OpenStack and Rackspace – an Australian perspective: Tony Breeds, RackspaceOpenStack and Rackspace – an Australian perspective: Tony Breeds, Rackspace
OpenStack and Rackspace – an Australian perspective: Tony Breeds, Rackspace
 
Keep your environment always on with sql server 2016 sql bits 2017
Keep your environment always on with sql server 2016 sql bits 2017Keep your environment always on with sql server 2016 sql bits 2017
Keep your environment always on with sql server 2016 sql bits 2017
 
The Analytic Platform behind IBM’s Watson Data Platform by Luciano Resende a...
 The Analytic Platform behind IBM’s Watson Data Platform by Luciano Resende a... The Analytic Platform behind IBM’s Watson Data Platform by Luciano Resende a...
The Analytic Platform behind IBM’s Watson Data Platform by Luciano Resende a...
 
MySQL Cluster Scaling to a Billion Queries
MySQL Cluster Scaling to a Billion QueriesMySQL Cluster Scaling to a Billion Queries
MySQL Cluster Scaling to a Billion Queries
 
Pass Summit Linux Scripting for the Microsoft Professional
Pass Summit Linux Scripting for the Microsoft ProfessionalPass Summit Linux Scripting for the Microsoft Professional
Pass Summit Linux Scripting for the Microsoft Professional
 
Running MariaDB in multiple data centers
Running MariaDB in multiple data centersRunning MariaDB in multiple data centers
Running MariaDB in multiple data centers
 
Galera Cluster 4 for MySQL 8 Release Webinar slides
Galera Cluster 4 for MySQL 8 Release Webinar slidesGalera Cluster 4 for MySQL 8 Release Webinar slides
Galera Cluster 4 for MySQL 8 Release Webinar slides
 
ZFS appliance
ZFS applianceZFS appliance
ZFS appliance
 
Running Galera Cluster on Microsoft Azure
Running Galera Cluster on Microsoft AzureRunning Galera Cluster on Microsoft Azure
Running Galera Cluster on Microsoft Azure
 
Best Practices for Enabling Speculative Execution on Large Scale Platforms
Best Practices for Enabling Speculative Execution on Large Scale PlatformsBest Practices for Enabling Speculative Execution on Large Scale Platforms
Best Practices for Enabling Speculative Execution on Large Scale Platforms
 
Oracle Failover Database Cluster with Grid Infrastructure 12c
Oracle Failover Database Cluster with Grid Infrastructure 12cOracle Failover Database Cluster with Grid Infrastructure 12c
Oracle Failover Database Cluster with Grid Infrastructure 12c
 
Codership's galera cluster installation and quickstart webinar march 2016
Codership's galera cluster installation and quickstart webinar march 2016Codership's galera cluster installation and quickstart webinar march 2016
Codership's galera cluster installation and quickstart webinar march 2016
 
Hey Relational Developer, Let's Go Crazy (Patrick McFadin, DataStax) | Cassan...
Hey Relational Developer, Let's Go Crazy (Patrick McFadin, DataStax) | Cassan...Hey Relational Developer, Let's Go Crazy (Patrick McFadin, DataStax) | Cassan...
Hey Relational Developer, Let's Go Crazy (Patrick McFadin, DataStax) | Cassan...
 
Exadata x3 workshop
Exadata x3 workshopExadata x3 workshop
Exadata x3 workshop
 
Openstack summit 2015
Openstack summit 2015Openstack summit 2015
Openstack summit 2015
 
Key to a successful Exadata POC
Key to a successful Exadata POCKey to a successful Exadata POC
Key to a successful Exadata POC
 
What we unlearned_and_learned_by_moving_from_m9000_to_ssc_ukoug2014
What we unlearned_and_learned_by_moving_from_m9000_to_ssc_ukoug2014What we unlearned_and_learned_by_moving_from_m9000_to_ssc_ukoug2014
What we unlearned_and_learned_by_moving_from_m9000_to_ssc_ukoug2014
 
Oracle Enterprise Manager Cloud Control 12c: how to solve 'ERROR: NMO Not Set...
Oracle Enterprise Manager Cloud Control 12c: how to solve 'ERROR: NMO Not Set...Oracle Enterprise Manager Cloud Control 12c: how to solve 'ERROR: NMO Not Set...
Oracle Enterprise Manager Cloud Control 12c: how to solve 'ERROR: NMO Not Set...
 
AWS April 2016 Webinar Series - Best Practices for Apache Spark on AWS
AWS April 2016 Webinar Series - Best Practices for Apache Spark on AWSAWS April 2016 Webinar Series - Best Practices for Apache Spark on AWS
AWS April 2016 Webinar Series - Best Practices for Apache Spark on AWS
 

En vedette

JBoss Clouds - JBug Roma october 2009
JBoss Clouds -  JBug Roma october 2009JBoss Clouds -  JBug Roma october 2009
JBoss Clouds - JBug Roma october 2009Sanne Grinovero
 
What you get by replicating Lucene indexes on the Infinispan Data Grid (Berli...
What you get by replicating Lucene indexes on the Infinispan Data Grid (Berli...What you get by replicating Lucene indexes on the Infinispan Data Grid (Berli...
What you get by replicating Lucene indexes on the Infinispan Data Grid (Berli...Sanne Grinovero
 
A Rocket Internet experience @ ForumPHP Paris 2013
A Rocket Internet experience @ ForumPHP Paris 2013A Rocket Internet experience @ ForumPHP Paris 2013
A Rocket Internet experience @ ForumPHP Paris 2013Alessandro Nadalin
 

En vedette (7)

Hibernatesearch
HibernatesearchHibernatesearch
Hibernatesearch
 
JBoss Clouds - JBug Roma october 2009
JBoss Clouds -  JBug Roma october 2009JBoss Clouds -  JBug Roma october 2009
JBoss Clouds - JBug Roma october 2009
 
What you get by replicating Lucene indexes on the Infinispan Data Grid (Berli...
What you get by replicating Lucene indexes on the Infinispan Data Grid (Berli...What you get by replicating Lucene indexes on the Infinispan Data Grid (Berli...
What you get by replicating Lucene indexes on the Infinispan Data Grid (Berli...
 
NO-HQL at JUG Milano
NO-HQL at JUG MilanoNO-HQL at JUG Milano
NO-HQL at JUG Milano
 
Infinispan
InfinispanInfinispan
Infinispan
 
Apache Lucene for Java EE Developers
Apache Lucene for Java EE DevelopersApache Lucene for Java EE Developers
Apache Lucene for Java EE Developers
 
A Rocket Internet experience @ ForumPHP Paris 2013
A Rocket Internet experience @ ForumPHP Paris 2013A Rocket Internet experience @ ForumPHP Paris 2013
A Rocket Internet experience @ ForumPHP Paris 2013
 

Similaire à Scarlet - Scalable, Redundant, Cloud Enabled JIRA

Clustering In The Wild
Clustering In The WildClustering In The Wild
Clustering In The WildSergio Bossa
 
Design and implementation of a reliable and cost-effective cloud computing in...
Design and implementation of a reliable and cost-effective cloud computing in...Design and implementation of a reliable and cost-effective cloud computing in...
Design and implementation of a reliable and cost-effective cloud computing in...Francesco Taurino
 
Spark to Production @Windward
Spark to Production @WindwardSpark to Production @Windward
Spark to Production @WindwardDemi Ben-Ari
 
Low latency in java 8 v5
Low latency in java 8 v5Low latency in java 8 v5
Low latency in java 8 v5Peter Lawrey
 
MySQL Cluster overview + development slides (2014)
MySQL Cluster overview + development slides (2014) MySQL Cluster overview + development slides (2014)
MySQL Cluster overview + development slides (2014) Frazer Clement
 
Spark 101 - First steps to distributed computing
Spark 101 - First steps to distributed computingSpark 101 - First steps to distributed computing
Spark 101 - First steps to distributed computingDemi Ben-Ari
 
Monitoring&Logging - Stanislav Kolenkin
Monitoring&Logging - Stanislav Kolenkin  Monitoring&Logging - Stanislav Kolenkin
Monitoring&Logging - Stanislav Kolenkin Kuberton
 
Technical Report NetApp Clustered Data ONTAP 8.2: An Introduction
Technical Report NetApp Clustered Data ONTAP 8.2: An IntroductionTechnical Report NetApp Clustered Data ONTAP 8.2: An Introduction
Technical Report NetApp Clustered Data ONTAP 8.2: An IntroductionNetApp
 
Blades for HPTC
Blades for HPTCBlades for HPTC
Blades for HPTCGuy Coates
 
Oracle exalytics deployment for high availability
Oracle exalytics deployment for high availabilityOracle exalytics deployment for high availability
Oracle exalytics deployment for high availabilityPaulo Fagundes
 
Oracle database maximum performance on Exadata
Oracle database maximum performance on ExadataOracle database maximum performance on Exadata
Oracle database maximum performance on ExadataAlireza Kamrani
 
Spark Unveiled Essential Insights for All Developers
Spark Unveiled Essential Insights for All DevelopersSpark Unveiled Essential Insights for All Developers
Spark Unveiled Essential Insights for All DevelopersKnoldus Inc.
 
Architecture of exadata database machine – Part II
Architecture of exadata database machine – Part IIArchitecture of exadata database machine – Part II
Architecture of exadata database machine – Part IIParesh Nayak,OCP®,Prince2®
 
Near Real time Indexing Kafka Messages to Apache Blur using Spark Streaming
Near Real time Indexing Kafka Messages to Apache Blur using Spark StreamingNear Real time Indexing Kafka Messages to Apache Blur using Spark Streaming
Near Real time Indexing Kafka Messages to Apache Blur using Spark StreamingDibyendu Bhattacharya
 
Embrace Sparsity At Web Scale: Apache Spark MLlib Algorithms Optimization For...
Embrace Sparsity At Web Scale: Apache Spark MLlib Algorithms Optimization For...Embrace Sparsity At Web Scale: Apache Spark MLlib Algorithms Optimization For...
Embrace Sparsity At Web Scale: Apache Spark MLlib Algorithms Optimization For...Jen Aman
 
Accelerating Spark Genome Sequencing in Cloud—A Data Driven Approach, Case St...
Accelerating Spark Genome Sequencing in Cloud—A Data Driven Approach, Case St...Accelerating Spark Genome Sequencing in Cloud—A Data Driven Approach, Case St...
Accelerating Spark Genome Sequencing in Cloud—A Data Driven Approach, Case St...Spark Summit
 
Building Apache Cassandra clusters for massive scale
Building Apache Cassandra clusters for massive scaleBuilding Apache Cassandra clusters for massive scale
Building Apache Cassandra clusters for massive scaleAlex Thompson
 

Similaire à Scarlet - Scalable, Redundant, Cloud Enabled JIRA (20)

Clustering In The Wild
Clustering In The WildClustering In The Wild
Clustering In The Wild
 
Design and implementation of a reliable and cost-effective cloud computing in...
Design and implementation of a reliable and cost-effective cloud computing in...Design and implementation of a reliable and cost-effective cloud computing in...
Design and implementation of a reliable and cost-effective cloud computing in...
 
Apache ignite v1.3
Apache ignite v1.3Apache ignite v1.3
Apache ignite v1.3
 
Spark to Production @Windward
Spark to Production @WindwardSpark to Production @Windward
Spark to Production @Windward
 
Low latency in java 8 v5
Low latency in java 8 v5Low latency in java 8 v5
Low latency in java 8 v5
 
MySQL Cluster overview + development slides (2014)
MySQL Cluster overview + development slides (2014) MySQL Cluster overview + development slides (2014)
MySQL Cluster overview + development slides (2014)
 
Spark 101 - First steps to distributed computing
Spark 101 - First steps to distributed computingSpark 101 - First steps to distributed computing
Spark 101 - First steps to distributed computing
 
Monitoring&Logging - Stanislav Kolenkin
Monitoring&Logging - Stanislav Kolenkin  Monitoring&Logging - Stanislav Kolenkin
Monitoring&Logging - Stanislav Kolenkin
 
Technical Report NetApp Clustered Data ONTAP 8.2: An Introduction
Technical Report NetApp Clustered Data ONTAP 8.2: An IntroductionTechnical Report NetApp Clustered Data ONTAP 8.2: An Introduction
Technical Report NetApp Clustered Data ONTAP 8.2: An Introduction
 
Blades for HPTC
Blades for HPTCBlades for HPTC
Blades for HPTC
 
Oracle exalytics deployment for high availability
Oracle exalytics deployment for high availabilityOracle exalytics deployment for high availability
Oracle exalytics deployment for high availability
 
Oracle database maximum performance on Exadata
Oracle database maximum performance on ExadataOracle database maximum performance on Exadata
Oracle database maximum performance on Exadata
 
Spark Unveiled Essential Insights for All Developers
Spark Unveiled Essential Insights for All DevelopersSpark Unveiled Essential Insights for All Developers
Spark Unveiled Essential Insights for All Developers
 
Spark
SparkSpark
Spark
 
Architecture of exadata database machine – Part II
Architecture of exadata database machine – Part IIArchitecture of exadata database machine – Part II
Architecture of exadata database machine – Part II
 
Near Real time Indexing Kafka Messages to Apache Blur using Spark Streaming
Near Real time Indexing Kafka Messages to Apache Blur using Spark StreamingNear Real time Indexing Kafka Messages to Apache Blur using Spark Streaming
Near Real time Indexing Kafka Messages to Apache Blur using Spark Streaming
 
Galera webinar migration to galera cluster from my sql async replication
Galera webinar migration to galera cluster from my sql async replicationGalera webinar migration to galera cluster from my sql async replication
Galera webinar migration to galera cluster from my sql async replication
 
Embrace Sparsity At Web Scale: Apache Spark MLlib Algorithms Optimization For...
Embrace Sparsity At Web Scale: Apache Spark MLlib Algorithms Optimization For...Embrace Sparsity At Web Scale: Apache Spark MLlib Algorithms Optimization For...
Embrace Sparsity At Web Scale: Apache Spark MLlib Algorithms Optimization For...
 
Accelerating Spark Genome Sequencing in Cloud—A Data Driven Approach, Case St...
Accelerating Spark Genome Sequencing in Cloud—A Data Driven Approach, Case St...Accelerating Spark Genome Sequencing in Cloud—A Data Driven Approach, Case St...
Accelerating Spark Genome Sequencing in Cloud—A Data Driven Approach, Case St...
 
Building Apache Cassandra clusters for massive scale
Building Apache Cassandra clusters for massive scaleBuilding Apache Cassandra clusters for massive scale
Building Apache Cassandra clusters for massive scale
 

Dernier

presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbuapidays
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...apidays
 

Dernier (20)

presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 

Scarlet - Scalable, Redundant, Cloud Enabled JIRA

  • 1. SCARLET scalable cloud enabled JIRA Sanne Grinovero, Sourcesense
  • 2. What is Scarlet Scarlet is a custom edition of Atlassian JIRA for demanding customers, to scale both vertically and horizontally. It solves the limitation of standalone JIRA to be deployed on a single node, applies some performance tuning, enables dynamic cluster resizing with automatic node discovery and failover.
  • 3. What Scarlet isn't It's not a JIRA plugin Doesn't need a cloud Can scale down to one or zero nodes without data loss Doesn't cost more than JIRA
  • 4. Why did we make it? Some customers need failover for high availability Having a single node makes maintenance harder Sometimes vertical scaling is not an option or is too expensive We are cool partners
  • 5. Why did we make it? British Telecom, UK: 25,000 users 50 million issues with complex workflows Another telecom, in Italy: 140 projects 100 issues added a day 1,000 users complex workflows: issues live in the system for many months
  • 6. From the technical point of view, it is.. It is a source code patch to JIRA: Enables caching with Infinispan Extreme tuning at Lucene level Removes the design barriers to multi-node clustering It is a complex build system automated JIRA repackaging short time reaction to new JIRA releases cross-technology virtual appliances builds Designed to ease deploy and maintenance
  • 7. Caching with Infinispan is an extremely scalable, highly available data grid platform - 100% open source, and written in Java. www.infinispan.org JIRA uses several dozens of special-purpose internal caches; almost all need a java.util.concurrent.ConcurrentMap, which is implemented by Infinispan Scarlet detects and enables Infinispan on each of JIRA's caches Each cache can be configured independently Infinispan uses state-of-the-art algorithms for maximum efficiency (such as Low Inter-reference Recency Set - LIRS eviction) Scarlet uses Infinispan' support for cache distribution, invalidation and replication for multi-node deployments.
  • 8. tuning & new strategies JIRA's usage of Lucene needs to be flexible for all kind of customers: low, medium and high number of concurrent users. Scarlet takes advantage of some of the latest Lucene innovations to reach for peak performance scaling vertically: shared buffers across index reopening pooled IndexSearchers in-memory transactional writes enables more low-level tuning patterns and scaling horizontally: Index stored in replicated/distributed memory (Infinispan)
  • 9. Lucene index stored in Infinispan
  • 11. Concerns with clustering Internal caches replication, distribution or invalidation with Infinispan Internal state (configuration settings,...) replication Indexes Infinispan distributed or replicated File uploads (issue attachments) use a shared filesystem in future Scarlet might store files using Infinispan's GridFS http://www.infoq.com/articles/infinispan-gridfs
  • 12. Concerns with clustering Session replication not implemented yet: in case the node you're connected to is killed you'll have to login again. Load balancer any load balancer should work mod_cluster is recommended when using Apache Httpd Dynamic configuration of httpd workers Server-side load balance factor calculation http://www.jboss.org/mod_cluster
  • 14. On a cloud... Node automatic discovery might be problematic Infinispan (JGroups) has several ways to do it start with a list of known IPs (TCPPING) use S3 (S3PING) setup a GossipRouter We test Scarlet using RDS as database and index store (Amazon's MySQL as-a-service), S3PING for node autodiscovery: 1. provide EC2 credentials 2. the build system produces and registers a preconfigured custom AMI 3. start many of them!
  • 15. On a cloud... Your nodes are "stateless", all equal: no important data on them no need to backup the volatile node data you can kill some if you want to scale back you can start new clones to scale up All your important data is stored in a database or S3 a single object to backup and manage We have build targets to provide appliances for many virtualization environments (VMWare, Xen, KVM, ...) Using BoxGrinder: http://www.jboss.org/boxgrinder.html
  • 16. Ease of management No "special" nodes needed no master node, no passive master the Scarlet package installs exactly the same way as standalone JIRA: uncompress it configure a datasource configure the jira_home parameter until we implement GridFS too optionally, do some tuning plenty of more options All nodes activated in the same network will form a cluster you might need to configure firewall and network
  • 17. Upgrading to Scarlet from JIRA 1. replace the package, keep configuration files 2. start it! previous indexes are detected and imported in Infinispan a new table is added to your DB. Scarlet just adds a single table to your existing schema. From Scarlet to JIRA Nothing else is changed in the 1. replace the package database, and 2. delete the extra table there's no need to 3. perform re-indexing change any configuration files either!
  • 18. Plugin compatibility With the ones tested so far no changes where needed, still many plugins are untested and might need fixing. Greenhopper works fine Fisheye works fine To plugin developers: avoid to make your own cache use JIRA's services use JIRA's cache factories we are available for help if you can show us the code we can help even better
  • 19. How to get it? The package is free of charge for beta testers pay for setup, tuning and testing time atlassian@sourcesense.com www.sourcesense.com/en/events/scarlet.html scarlet.sourceforge.net
  • 20. Combined best of breed OSS technologies