Blockchain.com, scaling and saving with Cloud Spanner
ACMA CGMA, Director of Financial Services, UKI, Google Cloud
Product Manager, Cloud Spanner
As cryptocurrencies have gotten more popular, we’ve seen the birth of thousands of new currencies and, in parallel, just as many platforms to use them on. One prominent example at the forefront of cryptocurrencies is Blockchain, which has helped 39 million cross-platform wallet users in 140 countries worldwide access the crypto ecosystem.
Blockchain, a Google Cloud customer, was initially focused on creating tools to understand and use Bitcoin, but the company has since expanded to other cryptocurrencies like Ethereum, Bitcoin Cash, Stellar Lumens and the Paxos Standard. Now, millions of individuals rely on the Blockchain Wallet to secure and use the world’s leading cryptocurrencies.
Needless to say, with the size and geographic sprawl of its user base, managing these datasets is no easy feat.
Meeting user needs while growing fast
Since the company’s inception, Blockchain has used Google Cloud Platform (GCP), adding services wherever the team saw opportunities to meet its evolving needs. While Blockchain maintains some of its own hardware and data centers, it wanted to evolve its approach to managing infrastructure to enhance the security, reliability, and accuracy of information platforms.
Blockchain’s flagship products, Blockchain Wallet and Blockchain Explorer, require complicated calculations on hard-to-access data across the massive, decentralized ledgers that underpin cryptocurrency networks. Accessing that data requires complex domain knowledge, technical infrastructure, and development effort, not to mention time to process the entire data chain. This became a major undertaking that required significant in-house IT resources and overhead.
To manage these challenges and enhance the user experience across all products and platforms, Blockchain began running infrastructure on Compute Engine instances. Blockchain also chose Cloud Spanner as its database service of choice because this database server could scale fast (with no downtime), and provide high-availability with low operational overhead. Cloud SQL, Stackdriver, and identity management products also make up Blockchain’s cloud infrastructure.
Securing user financial data
With millions of users across the globe relying on Blockchain for information about and access to their funds, it's no surprise that one of its core values is “Sanctify Security.”
“Security is our number one priority,” says Lewis Tuff, head of platform engineering at Blockchain. “Google Cloud goes above and beyond to help protect data, infrastructure, and services from external threats. GCP makes it easy to get the basics of security right. Cloud Identity Access Management (Cloud IAM) and VPC firewall allow Blockchain to lock down access to resources according to the least privilege principle and implement defense in depth within our environment. Leveraging Stackdriver's logging and monitoring capability enable us to be alerted to any unusual activities in real time.”
Blockchain also uses Google’s Cloud Identity-Aware Proxy (Cloud IAP) to control cloud app access through user identity verification and context awareness. It also uses Cloud Key Management Service (Cloud KMS), integrated with Cloud IAP, to manage cryptographic keys for a comprehensive approach.
“So many companies would benefit from Cloud IAP,” Tuff adds. “It’s really easy to authenticate and activate applications based on G Suite accounts. That's huge for us because we have a number of internal and back-office applications that can now be managed through granular, role-based access rights.”
Scaling on demand to match large volumes of data
When it came time for Blockchain to expand its Explorer offering to include the Ethereum network, it turned to Cloud Spanner, GCP’s strongly consistent, high-availability (up to 99.999% SLA) database service, to accelerate deployment and keep pace as data volumes grew rapidly, while maintaining reliability. Cloud Spanner’s on-demand scalability let Blockchain cut its operational overhead—the company has achieved savings of 30% by replacing its previous database layer with Cloud Spanner.
With Cloud Spanner, Blockchain knew it could start small and not have to worry about growth of datasets as its service grew. One example of the scaling power the company has found using GCP is the import and export functionality, which allows them to perform a full restoration of the database in nine hours, instead of one week. That’s essential for the company’s rapid development work, and eliminates the need to ingest the whole chain from the genesis block in each environment.
“That kind of flexibility is really powerful,” says Tuff. “It means we can run our dataset through our environments very easily. We can add nodes as and when required, with high availability and strong consistency across a scalable, distributed database.”
Moving forward, Blockchain’s team is strategically preparing for the future of an emerging market, using GCP services to help execute on initiatives across product and engineering.
Building out with managed services
In addition to expanding its use of Cloud Spanner as a managed database, and Stackdriver Monitoring for logging metrics and analysis, Blockchain is building more microservices with GCP managed services. “It makes sense to see what we can do with GCP products, instead of spinning up our own VMs and managing the whole backup and failover strategy,” says Tuff.
He added, “We’re a fast-moving company, so our relationship with Google Cloud has been invaluable. When we needed advice, the Cloud Spanner team talked through our ideas so we could build the right architecture. The team is experienced, knowledgeable, and dedicated to finding the right architecture for your use case. When you come to Google Cloud with a challenge, the team puts all its talent behind finding the best solution.”