The use case for Cassandra at Ping Identity
-
Upload
wwwpingidentitycom -
Category
Technology
-
view
916 -
download
4
description
Transcript of The use case for Cassandra at Ping Identity
Copyright ©2013 Ping Identity Corporation. All rights reserved.
Site Reliability Engineering
Copyright ©2013 Ping Identity Corporation. All rights reserved.
• We believe secure professional and personal identities underlie human progress in a connected world. Our purpose is to enable and protect identity, defend privacy and secure the Internet.
• Over 1,000 companies, including over half of the Fortune 100, rely on our award-winning products to make the digital world a better experience for hundreds of millions of people.
• Denver, Colorado. Est. 2003
About Ping Identity
Copyright ©2013 Ping Identity Corporation. All rights reserved.
Design PhilosophyMemory: 6-8GBCPU: 2Disk: 30GB
More servers, smaller capacityGeographic distribution for data redundancy, availability and performanceHorizontal scalabilityNo single point of failure
Copyright ©2013 Ping Identity Corporation. All rights reserved.
Cassandra at Ping….taking the plunge
Current:PingOne reportingPingOne for Groups
Future goals:Migration from Mongo (EOY)Some migration from MySQL Real Time Analytics (innovation project)
Copyright ©2013 Ping Identity Corporation. All rights reserved.
Cassandra Reporting Cluster
• Built to provide customer insight into PingOne• First dive into Cassandra v0.7 (production)• Upgrade (in place) to v1.1.2
• v0.8 as stepping stone• In production today as v1.1.9
Copyright ©2013 Ping Identity Corporation. All rights reserved.
Cassandra Reporting Cluster (v0.7)
DC1 DC2
Copyright ©2013 Ping Identity Corporation. All rights reserved.
Where did we miss? (v1.1.2)
Upgrade in placeMissed out on compression
Failed to gain read performanceData wasn’t spread evenly across the cluster
Copyright ©2013 Ping Identity Corporation. All rights reserved.
Cassandra Reporting (v1.1.9)
DC1 DC2
DC3
0 10
20
Features:9 nodesCompressionToken Offsets2 Replicas per DCOff-Heap cachingServer-to-Server SSL
Limitations: No Access ControlManual Token GenerationNode recovery 1 replica from each token range
DC1DC2DC3
Copyright ©2013 Ping Identity Corporation. All rights reserved.
central logs
Snapshots to new cluster
Bulkload snapshots into cluster to gain compressionv1.1.2
v1.1.9
Create Tables with:compression={'sstable_compression': 'SnappyCompressor'};
Replay reporting gap to new cluster
log transform
Traffic switch after bulkload
Migration from 1.1.2 to 1.1.9
Copyright ©2013 Ping Identity Corporation. All rights reserved.
PingOne Reports
Copyright ©2013 Ping Identity Corporation. All rights reserved.
PingOne for GroupsCassandra v1.2.5
Features:Auto Token GenerationVnodesDescent data distributionMore efficient memory utilizationAtomic BatchesSecondary indexesRequest TracingInternal Authentication/Authorization
Copyright ©2013 Ping Identity Corporation. All rights reserved.
.setDiscoveryType(NodeDiscoveryType.RING_DESCRIBE)
.setCqlVersion("3.0.0")
.setTargetCassandraVersion("1.2”)
.setRetryPolicy(retryPolicy);
.setConnectTimeout(2000);
RUN_ONCE
Astyanax config
Copyright ©2013 Ping Identity Corporation. All rights reserved.
Limitations (v1.2.5)
Caching# ReplicasSize-Tiered Compaction
Copyright ©2013 Ping Identity Corporation. All rights reserved.
Questions?
Copyright ©2013 Ping Identity Corporation. All rights reserved.
Thanks!
[email protected]@devoperandiwww.pingidentity.com/blogshttp://status.pingidentity.comhttp://uptime.pingidentity.com