Tip: Making a Google Cloud Storage bucket or file public

Google Cloud Storage is the ideal product to store your object files (binary files, pictures, audio/video assets, and more).


Until recently, there was an option in the Google cloud console with a checkbox to quickly make a file or bucket public. However, and I would add “unfortunately”, users tended to inadvertently clicking the checkbox, thus making potentail confidential assets public. So this risky, but easy, option, has been removed to avoid any unwanted data leak.


However, of course, it’s still possible to make buckets or files stored in Cloud Storage public. But you can’t do it without paying attention! As I never quite remember how to do that (in spite of the linked documentation easily found with a quick Google search), I decided to highlight with a few screenshots how to achieve that!


I assume you already have or created a GCP project, and you also have a bucket full of assets that you want to make public, because you need to share them on the Web, for your mobile application, etc.


To illustrate this tip, let’s have a look at the GCP cloud console:



Making a file public


First, we’ll have a look at making a single file public.


You’ll have to click the vertical triple dot icon on the right of the screen, and click on “Edit permissions”:



Once you’ve clicked on this option, you’ll be given the choice to add new permissions to members or groups of members:


In our case, we want to allow all the users to have read access on that particular file. So I’m giving the “Group” of “allUsers” the “Reader” access level. Then, once saved, in the file browser, you should see the following icon warning you the file is now public:


Making a bucket public


Instead of doing this for each individual file, you can also do the same at the bucket level, to give read access to the bucket and all its files in one go.


From the object browser, click on the “Permissions” tab. You will have to add the “allUsers” members the Storage Object Viewer role:



Click on the “Add members button”, type “allUsers”, select the “Storage > Storage Object Viewer” option, as follows, and click add:


Now if you head back to the file browser, you’ll see all the files have the little warning icon telling you the resource is publicly accessible.


For command-line gurus


I showed the visual approach from the cloud console… but there’s a one-liner you can use, thanks to the gsutil command.


For an individual file:


gsutil acl ch -u AllUsers:R gs://[BUCKET_NAME]/[OBJECT_NAME]

For a whole bucket:


gsutil iam ch allUsers:objectViewer gs://[BUCKET_NAME]


(Where you replace [BUCKET_NAME] with your project name, and [OBJECT_NAME] with the file name)


More…


There’s also a REST API that you can use to handle your buckets and file, as well as different client libraries in different languages that you can use as well.


DevFest Paris and the serverless novelties on Google Cloud Platform

DevFest Paris took place last week, and I had the pleasure of presenting the recent developments around the serverless products of Google Cloud Platform. In particular, I'm covering Google App Engine and Google Cloud Functions. The velocity of release of new runtimes greatly increased over the past months, and developers can choose between Java, Python, Node, Go, or PHP for App Engine, and between Python, Node and Go for Cloud Functions.

As a Java Champion, I'm also happy to report that a Java 11 runtime for App Engine is coming soon, and we're opening an alpha so that users can try it and report any problems they encounter. So if you want to try out Java 11 on App Engine, please fill in this form.

Here are the slides I presented at DevFest Paris:


Mais c'est quoi un Developer Advocate ?

J'ai eu le plaisir d'encadrer des stagiaires de 3ème récemment chez Google. Nous accueillons des enfants, neveux, nièces, cousins d'employés de Google (donc non :-P, je ne prends pas de stagiaire, pas la peine de demander !!!) pour leur faire découvrir les différents métiers que nous exerçons dans l'entreprise. Et il y en a beaucoup ! 

L'un de mes stagiaires m'a interviewé lorsque je décrivais mon travail de "Developer Advocate", au sein de Google Cloud. J'ai trouvé cette interview intéressante, et je me suis dit que ça valait le coup de la partager avec vous, en Français (si, si, j'écris en Français parfois sur ce blog.) 

L'exercice de cet entretien est intéressant parce qu'il me permet d'essayer d'expliquer de manière simple ce que je fais... et ce n'est pas évidant, vu la technicité de cet univers, des produits sur lesquels on travaille (qui ne sont pas à la portée du grand public). Donc voici quelques unes des questions auxquelles j'ai eu à répondre. J'espère que vous trouverez cela intéressant.

Quel est ton métier ?

Je suis Developer Advocate pour la branche Google Cloud de Google.
C’est un titre en anglais qui n’a pas vraiment d’équivalent en Français.

Google Cloud, c’est la partie de Google qui propose des produits comme par exemple Gmail pour la messagerie électronique, Google Docs pour le traitement de texte ou de tableurs, mais qui offre également aux développeurs et ingénieurs des serveurs sur lesquels les développeurs peuvent héberger leurs applications, des bases de données pour stocker leurs données, ou bien encore des services autour de l’intelligence artificielle pour reconnaître ce qu’il y a comme objets dans des images.

Quelles sont les principales activités dans ce métier ?

Le rôle d’un Developer Advocate est d’être une sorte de représentant des développeurs (nos utilisateurs et clients qui créent des applications). Nous collectons les retours de ces développeurs pour voir comment améliorer les produits de Google, en écoutant leurs besoins, leurs demandes, les problèmes qu’ils rencontrent.

Par ailleurs, une autre grande partie de ce rôle (la partie la plus visible de l'extérieur), c’est de présenter et promouvoir les produits de Google (Google Cloud dans mon cas). Il s’agit alors d’écrire des articles, de coder des exemples de programmes utilisant nos technologies, enregistrer des vidéos, préparer des présentations que nous donnons lors de conférences locales ou internationales, puis aussi tirer partie des réseaux sociaux pour faire passer notre message.

Enfin, nous sommes également les utilisateurs “zéro” de nos futurs nouveaux produits. Nous sommes donc les premiers à tester ces produits, pour voir ce qui fonctionne ou pas, s’ils sont faciles à utiliser, s’ils ont des bugs, si l’on peut trouver des façons de les améliorer ou de les enrichir avant de les sortir publiquement.

Travailles-tu plutôt seul ou en équipe ? Pourquoi ?

Je travaille dans une équipe internationale, répartie dans différents pays, avec des bureaux à San Francisco, Seattle, New York, Londres, Paris ou Tokyo. Parfois je travaille effectivement en équipe, à plusieurs sur un même sujet, mais beaucoup de mes activités sont aussi solitaires, comme lorsque l’on prépare une démonstration et une présentation pour une conférence.

Dois-tu prendre des initiatives ? Pourquoi ?

Le poste de Developer Advocate est un travail qui demande beaucoup d’autonomie, et donc qui nécessite de prendre soi même beaucoup d’initiatives. C’est à moi de décider sur quel sujet travailler, quel article écrire, à quelle conférence je souhaite assister. 

Parfois, les Developer Advocates ont des demandes venant des chefs de produits qui souhaiteraient que nous représentions leur produit, mais c’est généralement par soi même que l’on décide sur quoi travailler.

As-tu des responsabilités ? Si oui lesquelles ? Pourquoi ?

Je n’encadre personne, donc je n’ai en tout cas pas de responsabilité managériales. Par contre, je me focalise sur une certaine gamme de produits, et c’est de ma responsabilité de représenter et d’améliorer ces produits là.

As-tu des contacts avec des personnes autres que tes collègues de travail ? Pourquoi ?

Comme une partie de mon travail consiste à aller présenter les produits de Google Cloud à des conférences, des “meetups”, des groupes d’utilisateurs, je rencontre effectivement beaucoup de monde lors de ces événements. Egalement au travers des réseaux sociaux, j’interagis souvent avec des développeurs aux quatre coins du monde. Et j'ai également la chance de pouvoir rencontrer nos clients, pour discuter de leurs problèmes, de leurs besoins, mais aussi de leurs réussites.

Les activités sont-elles variées ou répétitives ?

Les activités sont effectivement variées, aussi bien de la programmation (pour préparer des démonstrations des produits), de la communication (pour des présentations), de l’écriture (pour les articles, la documentation que nous rédigeons), mais aussi le voyage au travers le monde permets de découvrir de nouveaux horizons et de nouvelles cultures.

Dois-tu organiser ton travail ou plutôt exécuter des consignes ?

Comme je le disais plus haut, c’est un travail qui demande beaucoup d’autonomie, donc c’est à moi d’organiser mon travail, d’autant plus que j’ai déjà un certain niveau d’ancienneté. Il arrive parfois qu’on me demande certaines choses effectivement, mais le plus souvent c’est à moi de m’organiser.

Est-ce que le travail est fatigant (nerveusement et physiquement) ? Pourquoi ?

Parfois oui. Il y a beaucoup à faire : Google Cloud possède de nombreux produits, qui sont développés rapidement, il y a donc énormément de choses à couvrir et étudier. Ce qui est également fatigant, c’est le fait de voyager au travers le monde avec les décalages horaires, les tracas associés au voyage de manière générale. 

Outre le voyage et la quantité de travail, il faut travailler régulièrement avec la maison mère qui est sur la côte Ouest des Etats-Unis, avec 9 heures de décalage horaire, ce qui veut dire qu’il faut pouvoir faire des conférences téléphoniques avec mes collègues outre-Atlantique après 18 ou 19 heures, voire parfois même à 21 ou 22 heures ! Autre exemple, lorsque l’on donne des présentations à des “meetups”, c’est souvent le soir après le travail, donc on peut rentrer parfois très tard chez soi.

Est-ce que cette profession permet d’obtenir une promotion ? Laquelle ?

Dans ce rôle, il y a différents grades, différents niveaux. Quand on commence dans ce métier, on entrera à un certain niveau, et au fil des années, on pourra progresser et monter de niveau en niveau. L'entreprise n'attends pas la même chose de ses employés en fonction de leur niveau d'ancienneté. Nous avons une sorte d'échelle qui décrit ce qui est attendu de chacun à chaque niveau de sa progression hiérarchique.

Quels sont les diplômes requis ?

Il faut généralement un Bac+5 (type mastère, école d’ingénieur) en informatique et avoir déjà une certaine expérience professionnelle dans le domaine de l’informatique pour bien comprendre la problématique de nos utilisateurs et clients.

Quel est le contenu des études ?

Dans mon cas (un DESS en informatique), ce sont des études qui permettent aux étudiants d’apprendre comment fonctionnent les ordinateurs, d’apprendre des langages de programmation, comment écrire des algorithmes, comment fonctionne les réseaux informatiques ou les bases de données, etc.

Est-ce qu’il y a d’autres formations possibles (formation continue, cours du soir, autres) pour cette profession ?

Bien qu’un diplôme Bac+5 en informatique soit le plus commun, du moment qu’on a une bonne expérience professionnelle dans le domaine, il est aussi possible de bifurquer vers cette profession. Mais il n’y a à proprement parlé pas de formation spécifique pour le rôle de Developer Advocate à ma connaissance.

On demande souvent aux jeunes "qu'est-ce que tu voudras faire plus tard ?" 
Dans mon cas, je voulais être "ingénieur", et j'aimais bien l'informatique, mais ce qui est amusant c'est qu'à l'époque où j'ai fait mes études, le métier de "Developer Advocate" n'existait pas vraiment. Donc qui peut dire quels métiers existeront quand vous serez sur le marché du travail ? Il faut savoir s'adapter, car de nouveaux métiers voient le jour régulièrement, et il n'y aura pas forcément de formation spécialisée pour y parvenir, ou de parcours type.

Quelle sont les qualités requises ?

Outre le fait d’être un bon ingénieur en informatique (savoir programmer, etc.), il faut aussi avoir de très bonnes capacités communicationnelles, un esprit de synthèse et de vulgarisation, car nous devons aider nos utilisateurs et clients à comprendre comment se servir de nos produits. 

Par ailleurs, la majeure partie de mon travail s’effectue en anglais, qui est la langue de la maison mère, mais la langue internationale en informatique et lorsque l’on voyage. Donc il faut absolument être bon en Anglais pour ce travail.



Machine Learning APIs with Apache Groovy

At GR8Conf Europe last year, I talked about how to take advantage of the Google Cloud machine learning APIs using Apache Groovy

With Groovy, you can call the Vision API that recognises what's in your pictures, or reads text.
You can invoke the Natural Language API to understand the structure of your text.
With the Speech-To-Text API, you can get transcriptions of what's been said in an audio stream, or with Text-To-Spech, you can also generate human-like voices from your own text. 

With those ready-made APIs, no need to be an expert data scientist! Just call an SDK or a REST API, and you're ready to go.

Here's the video of the presentation:


And here are the slides that I showed:


In a previous article, I also presented one of the sample that I used with the Vision API.

The Call for Paper for the new edition of GR8Conf Europe is still open, so don't miss the opportunity to tell the world about all the cool things you've been doing with Apache Groovy!

Interview InfoQ en français sur les microservices sur Google Cloud Platform

Une fois n'est pas coutume, je vais parler de Google Cloud Platform en français ! Lors de la conférence Voxxed Days Microservices, que j'ai couverte récemment, j'ai eu l'occasion de répondre à une interview pour InfoQ France.


Voici la liste des questions auxquelles j'ai répondues, et je vous laisserai écouter les réponses sur InfoQ France !

  • Pour ceux qui ne te connaissent pas, peux-tu nous dire qui tu es ?
  • Elles sont où les équipes produits ?
  • Et les utilisateurs, en France, il y en a beaucoup ?
  • Pour les néophytes, les microservices, qu'est-ce que c'est ?
  • C'est quoi le "nouveau" par rapport aux architectures dites distribuées, soa, webservices ?
  • On va parler de la platforme cloud de google, où ça en est ?
  • C'est quoi serverless, le retour du mainframe ?
  • Quelles nouveautés ?
  • Et Google vis à vis de java ?
  • C'est quoi les langages que vous poussez le plus ?
  • Le futur des microservices ?
 
© 2012 Guillaume Laforge | The views and opinions expressed here are mine and don't reflect the ones from my employer.