GCP Essentials – a new video series

New users start using Google Cloud Platform (GCP) every day. You might be one of them or know of one. If so, here’s a new video series for you on YouTube — GCP Essentials

Let me know what you thing. Feedback and suggestions welcome!


Three weeks in the life of Google Cloud Platform (GCP)

I was off on vacation with family for three weeks in August and came back to work to an impressive list of GCP (Google Cloud Platform) news and I thought I’d compile them here:

Product Launches & Announcements

Lots of GA announcements (Generally Available, fully-supported):

  • Cloud Shell is now GA, and still free. \o/

  • Cloud Datastore v1 API now GA. Full independence from App Engine if you want it! This release includes console enhancement, best practices, storage size calculation, clearer limits, and multi-tenancy guidance via namespaces. Also, it is now serving 15 trillion queries per month. Snapchat, Workiva and Khan Academy are among customers that can be named at this point.

  • Google Cloud Bigtable is now GA. This is the fully-managed database service built on Google’s internal Bigtable service with Apache HBase client compatibility. It powers Google Search, Analytics, Maps, Gmail and more. Dataflow, Dataproc, Pub/Sub and BigQuery are all well integrated with Bigtable and Spotify, FIS and Energyworx are all using it already.

  • Cloud SQL Second Generation is now GA. It offers MySQL 5.7, point-in-time-recovery (PITR), automatic storage re-sizing and failover replicas setup with a single click. It’s 7x faster and has 20x more storage capacity than its predecessor. See also the post for competitive benchmarks. Here are short videos on how to use Cloud SQL with App Engine and with Compute engine.

  • Customer-Supplied Encryption Keys for Compute Engine goes GA. Get both control over data AND agility of the cloud. Now available in 14 countries.

The Cloud team is also exploring some (relatively) new and important territory :

Some important product enhancements…

… in Compute Engine :

…in Dataflow :

…in BigQuery:

…in other GCP products:


GCP Podcast

No vacation either for the GCP Podcast with two episodes on Kubernetes 1.3:

The two most recent episodes were on SRE‘s (a fascinating conversation about how Google does operations) as well as an interview on the latest on PHP on GCP.

Other Interesting GCP News and tidbits

… in Machine Learning:

… in big data:

… and on other general topics:


A VM is a VM is a VM (or is it?)

Don’t believe innovation is strong in the IaaS VM space? Read on.

When I hear that all IaaS clouds were created equal I feel like a decade or so ago arguing that Solaris 10 was actually bring lots of innovation to the operating system market (Dtrace, ZFS, Zones). Google’s Compute Engine is adding unique features one at a time to the point where flexibility is really the real reason to move to the cloud.


It all starts with the ability to create your VM using custom machine types rather than having to chose from a pre-defined set of configurations. You can also change the characteristics of an existing machine – more memory, more CPU to adjust to different requirements or when moving from development to production. Then, the boot time has been repeatedly measured as being extremely fast which really relates to how flexible a cloud environment should be.

When running your VM, you can rely on live migration voodoo to keep your services running (while, for instance, Google upgrades the underlying infrastructure) as well as wonderful local SSD performance. Performance, reliability, flexibility. Choose three.

Price is always important and since you don’t have time to become a billing expert, Compute Engine is priced by the minute (so you truly pay for what you use), offers automatic discounts on sustained use and a crazy-cheap option with preemptible VMs. Customers of course benefit from the pricing competition and Google is committed to providing the best value.

Of course there are many other things that make Compute Engine attractive including Google’s networking infrastructure, the new UX-friendly Console with great in-browser SSH support, and of course all the higher-level services such as Container Engine (hosted Kubernetes). But at the end of the day what matters is that innovation and competition are alive and well.

Google works hard to make sure not all Cloud VMs are created equal but you should check out for yourself – you’re just minutes away from SSH’ing into your own Compute Engine VM.

Summer 2016 update: you can not also get sizing recommendations from Google to better optimize your instances, including those you should scale down!

Microservices still on the horizon

I don’t think everyone can (or should) jump on the microservices bandwagon just yet. If you can’t build a monolithic app, chances are you’ll face technical and organizational challenges trying to go full on with microservices.

if microservices is the goal then continuous integration and container orchestration are pretty much two required milestones on the journey towards achieving it.

Even if Continuous Integration isn’t yet implemented everywhere, especially in larger organizations, it’s now a pretty mature topic and most agile teams have now moved on to the even more rewarding continuousdeployment practice.

Container orchestration, on the other hand, is still too hard and definitely not yet a mature space. Just a year ago it took Mesos experts (or worse, roll-out-your-own-solution architects) to run a microservices architecture.

Only now with Kubernetes and other emerging solutions are we getting closer to a place where microservices can be conceived without the fear of having to implement the underlying resilient architecture to support them.

Containers vs Containers (in 2015)

2015 seems to be a good time to pooh-pooh Java Containers because Docker has obviously solved all the developer’s and ops’ problems. While bringing containers to the masses is a good thing ™, in server-side Java land you should still understand the distinction between “container” and “app server”.

The Java container provides services that adhere to an API, typically Java EE (with servlets being the most used API of all). The application server product, on the other hand, is the part that implements everything the API or the spec doesn’t require: management, monitoring, and of course clustering. This is where clearly, with the advent of Docker containers and the move to microservices, you should think seriously about the value this brings to your deployments, or rather the constraints it imposes.

But as far as the Java container is concerned, I’d say that it’s something that is still pretty much relevant. You may chose not to use all of the services the container has to offer (think JSF, EJB, JMS, …) but you might as well use the component models and separation of concerns it brings to the table.

This short piece was triggered by my morning read of James Ward’s excellent Comparing Application Deployment: 2005 vs. 2015. More on that in another post.

Google Cloud Platform LIVE – Décryptage

gcplogoSi vous n’avez pas pu y assister, voici un résumé des annonces du Google Cloud Platform LIVE du 25 mars 2014.

Avant de rentrer dans les détails, pour ceux qui sont sur Paris, le Google Cloud Roadshow passera dans la capitale le 7 avril prochain chez Google France (inscriptions).



La keynote (YouTube) était assurée par Urs Hölzle, le papa du Cloud de Google, interne comme externe. Pour le contexte, la veille, Urs a été interviewé par Wired. En résumé l’homme qui depuis le début est responsable de la conception des datacenters et du logiciel (GFS, MapReduce, BigTable, Colossus, Dremel, …) qui soutient le cloud le plus important au monde (Search, Maps, YouTube, GMail, …), nous promet un monde nouveau. Rien de moins. Voyons ce qu’il en est.


Partant du constat que le pricing dans le cloud est trop complexe et trop cher (surtout par rapport au coût du hardware qui baisse avec la loi de Moore). Du coup, Google annonce des baisses de prix entre 30% et 85% avec l’engagement que les prix continueront à suivre celui de l’infrastructure sous-jacente (ces prix s’appliquent dans toutes les régions, historiquement l’Europe était un peu plus chère). Mieux encore, il n’est plus nécessaire de faire un choix entre instances normales et pré-réservées (moins chères): il suffit d’utiliser une instance au moins 25% du mois pour qu’un rabais supplémentaire de 30% s’applique!
Les détails de pricing sont ici

Nouveaux OS sur Compute Engine

En plus de Debian et CentOS, on compte parmi les images disponibles : RedHat Enterprise Linux et SUSE Linux Enterprise Server (dispo maintenant) et Windows Server 2008 R2 (en Preview pour le moment). Egalement en Preview, un nouveau service : Google Cloud DNS.

Big Data / Big Query

La récente fonctionnalité BigQuery Streaming permet désormais d’injecter 100 000 enregistrements par seconde! De quoi reconsidérer son warehousing ou son sharding.

Productivité du développeur

Trop souvent, dans le cloud, il faut choisir entre productivité (contraintes) et flexibilité (responsabilité). Les outils exposés aux développeurs sont aussi bien souvent des boites noires (“ne jamais laisser un développeur approcher des machines de prod!”). Dans un effort de simplification de l’expérience du développeur, le Cloud Google propose désormais :

  • une intégration Git (GitHub ou un repo git privé et hébergé chez Google)
  • la navigation depuis les messages d’erreur dans la console Cloud directement vers le code source
  • l’édition en mode rapide du code toujours depuis la console
  • le git-push-to-deploy avec build (Maven ou Gradle pour Java) et tests intégrés via jenkins et déploiement en production
  • un SDK et sa ligne de commande gcloud qui unifie tous outils précédents, supporte des profils multiples et propose de l’auto-complétion sur toutes les plate-formes (Linux, Mac, Windows)

Détails dans ce blog en anglais.


IaaS ou PaaS?

On doit pouvoir faire mieux que la dichotomie classique entre IaaS et PaaS pour éviter un choix trop structurant en début de projet. C’est ce que promet Managed Virtual Machines, de quoi garder l’automatisme de App Engine et d’y intégrer des instances Compute Engine pour y exécuter du code natif ou carrément utiliser une stack logicielle comme node.js ou Dart. Puisqu’il s’agit de VMs Compute Engine, il reste tout à fait possible de s’y connecter en ssh. Pour autant ces machines sont provisionnées pour avoir accès de manière transparente à l’ensemble des autres services Cloud de Google (BigQuery, DataStore, Memcache, Cloud Storage, etc…).



“Managed VM” propose un programme de Trusted Tester. Pour le reste, les nouveautés destinées aux développeurs (git, maven, jenkins, …) doivent apparaître dans quelques semaines.

Ces annonces ne sont qu’un début et synonyme de changements profonds internes chez Google. Prochaine étape majeure (enfin, après le roadshow) – Google I/O, fin Juin.

Alors, que pensez-vous de ce nouveau monde?