Google Cloud Platform Blog
Product updates, customer stories, and tips and tricks on Google Cloud Platform
2013 year in review: making scalability easy with dedicated memcache
Sunday, December 22, 2013
2013 was a busy year for Google Cloud Platform. Watch this space: each day, a different Googler who works on Cloud Platform will be sharing his or her highlight from the past year.
Seeing customers
like Snapchat grow
on Google Cloud Platform is what gets me up in the morning. Its exciting to watch customers achieve new heights of scalability with less effort than was possible before. One of the features I worked on this year that was part of that scalability story is
dedicated memcache
. Dedicated memcache lets customers scale their caching capacity indefinitely without having to manage a server farm of memcached servers. After going into Preview in July, hundreds of customers have deployed many terabytes in production, including a single application using six terabytes. As we go into the New Year, I can’t wait to see which startups use App Engine to bring innovative and fun applications to the world.
-Posted by Logan Henriquez, Product Manager
2013 Year in review: taking Google Cloud Platform on the road
Saturday, December 21, 2013
2013 was a busy year for Google Cloud Platform. Watch this space: each day, a different Googler who works on Cloud Platform will be sharing his or her highlight from the past year.
My highlight of this year was leading Google Cloud Platform talks and code labs in five cities around the world. Myself and colleagues gave talks about Google Compute Engine, App Engine, and the services that glue the fabric of the platform together. We had a great time speaking with all of the attendees, but my favorite part of this tour happened during one of the Google Compute Engine code labs. Attendees were each processing astronomical data on a virtual machine and generating an image of a section of the universe, which was then pulled into a overall collage of the images. However, one of our attendees was feeling a bit mischievous, and replaced his image with -- what else? -- an image of a cat! Well played, very well played.
-Posted by Julia Ferraioli, Developer Advocate
2013 Year in review: pushing the limits of Big Data
Friday, December 20, 2013
2013 was a busy year for Google Cloud Platform. Watch this space: each day, a different Googler who works on Cloud Platform will be sharing his or her highlight from the past year.
My highlight from 2013 was speaking to developers from across the world at the
Big Data Spain conference
. I used the opportunity to share with people everything that we have accomplished with Big Query. Although every tool has its limits, it was a joy to review how many big data limits we broke during 2013. Some of the highlights included how to grow a database that already can be as tall you need it to be - in 2012 each row could contain up to 64kB of data. Today, that number is up to 20MB. Other updates include the ability to combine and join 2 insanely huge tables, aggregate values in cases that were considered to have too many groups to group by, or return results of arbitrary sizes (
JOIN EACH
,
GROUP EACH B
Y, and the
allowLargeResults
flag). BigQuery not only got bigger this year, it also got smarter: The new window and analytic functions allow users to run richer queries while the new
correlation function
allows surfacing and
discovering relationships previously invisible
. What a good way to close this year!
-Posted by Felipe Hoffa, Developer Programs Engineer
2013 Year in review: enabling native connections for Cloud SQL instances
Thursday, December 19, 2013
2013 was a busy year for Google Cloud Platform. Watch this space: each day, a different Googler who works on Cloud Platform will be sharing his or her highlight from the past year.
My highlight this year was enabling
native connections for Cloud SQL instances
and seeing how our use of open standards allows developers to use the whole ecosystem of MySQL tools and connectors with their cloud databases. Over the year, I have met many of our users and partners. It is always interesting to see how many developers are using Cloud SQL in applications that would have previously required proprietary or on-premise databases. (Oh, and as a native Brit, my euro-cheese highlight had to be the
Eurovision Song Contest app running on Google Cloud Platform
: 125 million viewers, 50,000 requests-per-second, 99% of requests completed in 35ms, and no headaches!)
-Posted by Joe Faith, Product Manager
2013 Year in review: bringing Offline Disk Import to users around the world
Wednesday, December 18, 2013
2013 was a busy year for Google Cloud Platform. Watch this space: each day, a different Googler who works on Cloud Platform will be sharing his or her highlight from the past year.
In October 2013, we made Google Cloud Storage Offline Disk Import available to users in
several international locations
around the globe in limited preview. It is personally gratifying to witness how GCS Offline Disk Import enabled our customers to efficiently import tons of data to their GCS bucket without having to upload it over a slow or unreliable Internet connection. As we’ve built this product, it’s been fascinating to tap into the scalability and efficiently of the
OmNomNom StreetView infrastructure
, which is the backbone of GCS Offline Disk Import. I’m excited to bring these impressive systems and capabilities to our Google Cloud Platform customers.
-Posted by Lamia Youseff, Software Engineer
Best practices for App Engine: memcache and eventual vs. strong consistency
Tuesday, December 17, 2013
We have published two new articles about best practices for App Engine. Are you aware of the best ways to keep Memcache and Datastore in sync? The article
Best Practices for App Engine Memcache
discusses concurrency, performanceand migration with Memcache to make you aware of potential pitfalls and to help you build more robust code.
Do you know how to make your App Engine application faster and more scalable by using eventual consistency? If not, take a look at a
new article
that explains the difference between eventual and strong consistency. The paper will help you leverage Datastore to scale your apps to millions of happy customers.
Concurrency, performance and migration in memcache
Memcache is a cache service for App Engine applications that is shared by multiple frontend instances and requests. It provides in-memory, temporary storage that is intended primarily as a cache for rapid retrieval of data that's backed by some form of persistent storage, such as Google Cloud Datastore.
Using Memcache will speed up your application's response to requests and reduce hits to the datastore (which in turn saves you money). However, keeping Memcache data synchronized with data in the persistent storage can be challenging when multiple clients modify the application data.
Transactional data sources, such as relational databases or Google Cloud Datastore, coordinate concurrent access by multiple clients. However, Memcache is not transactional, and there's a chance that two clients will simultaneously modify the same piece of data in Memcache. As a result, the data stored may be incorrect. Concurrency problems can be hard to detect because often they do not appear until the application is under load from many users.
With App Engine, you can use the “compare and set” (Client.cas()) function to coordinate concurrent access to memcache. However, if your application uses the compare and set function, it must be prepared to do the error handling and retry.
We recommend that you use the atomic Memcache functions where possible, including incr() and decr(), and use the cas() function for coordinating concurrent access. Use the Python NDB API if the application uses Memcache as a way to optimize reading and writing to Google Cloud Datastore. Read more
Best Practices for App Engine Memcache
in our newly published paper.
Balancing strong and eventual consistency
Web applications that require high-scalability often use NoSQL which offers eventual consistency for improved scalability. However, if you're used to the strong consistency that relational databases offer, it can be a bit of a mind shift to get your head around the eventual consistency of NoSQL data stores. Google Datastore allows you to choose between strong and eventual consistency, balancing the strengths of each.
Traditional relational databases provide strong consistency of their data, also called immediate consistency. This means that data viewed immediately after an update will be consistent for all observers of the entity. Use cases that require strong consistency include knowing “whether or not a user finished the billing process” or “the number of points a game player earned during a battle session.” It also means that all requests to view the updated data are blocked until all the writes required for strong consistency have finished.
Eventual consistency, on the other hand, means that all reads of the entity will eventually return the last updated value but might return inconsistent views of the data in the meantime. For example, knowing “who in your buddy list is online” or “how many users have +1’d your post” are cases where strong consistency is not required. Your application can get higher scalability and performance by leveraging eventual consistency, because your application won't have to wait for all the writes to complete before returning results.
The following two diagrams illustrate strong versus eventual consistency:
Eventual conistency
Strong consistency
To learn more about the differences between eventual and strong consistency and to learn how to take advantage of each read our
article
on the technical solutions portal at
cloud.google.com/resources
.
-Posted by Alex Amies, Cloud Solutions Technical Account Manager
2013 Year in review: giving time back to developers
Tuesday, December 17, 2013
2013 was a busy year for Google Cloud Platform. Watch this space: each day, a different Googler who works on Cloud Platform will be sharing his or her highlight from the past year.
My highlight this year was bringing App Engine’s managed non-relational storage service, Datastore, to developers everywhere as
Google Cloud Datastore
. There are many use cases and applications where developers themselves want to manage the compute-side of the equation (lucky for them, we have world class VMs as well). That said, managing large distributed storage is no easy task, often times consuming precious development hours. For me, giving time back to developers by managing the complex aspects of a scalable service and, thus, allowing them to focus on creating amazing user experiences, is definitely a highlight of the year.
-Posted by Chris Ramsdale, Product Manager
Free Trial
GCP Blogs
Big Data & Machine Learning
Kubernetes
GCP Japan Blog
Firebase Blog
Apigee Blog
Popular Posts
dotCloud provides faster, more reliable PaaS with Google Cloud Platform
Introducing Google Cloud Storage Nearline: (near)online data at an offline price
World's largest event dataset now publicly available in BigQuery
A look inside Google’s Data Center Networks
Google Compute Engine is now Generally Available with expanded OS support, transparent maintenance, and lower prices
Labels
Announcements
193
Big Data & Machine Learning
134
Compute
271
Containers & Kubernetes
92
CRE
27
Customers
107
Developer Tools & Insights
151
Events
38
Infrastructure
44
Management Tools
87
Networking
43
Open
1
Open Source
135
Partners
102
Pricing
28
Security & Identity
85
Solutions
24
Stackdriver
24
Storage & Databases
164
Weekly Roundups
20
Feed
Subscribe by email
Demonstrate your proficiency to design, build and manage solutions on Google Cloud Platform.
Learn More
Technical questions? Check us out on
Stack Overflow
.
Subscribe to
our monthly newsletter
.
Google
on
Follow @googlecloud
Follow
Follow