G'Next 2017-UK

Introduction

Hey guys I am not a big fan of reading long write-ups and blogs so I will not bore you with another such a blog. I am just gonna share my thoughts on the Google Next 2017 conference held at London, United Kingdom where I had the privilege of witnessing amazing demos and had a great time interacting with Googlers(Google Developers).

As a developer, we all bank on Google for finishing up our tasks whenever we face an unsolvable problem. To interact and meet up with such developers was a great inspiration for me.

Overview of the event

The main theme of the conference was to introduce about the Google Cloud features and the upcoming releases in G Suite which could be really useful for all of us. Duration of the conference was 2 days and it had nearly 60 breakout sessions where it was very difficult for me to decide on which one to skip and which one to attend. All the sessions were very engaging thanks to the knowledgeable speakers and well structured demos with clear code walk throughs wherever possible.

What is Google Cloud?

Warning: If you guys are familiar with prod-ops or infra-ops then you will feel bit bored by reading this as it is written by a person who is still trying to understand dev-ops😜.
Google cloud is nothing but of an infrastructure managing service with lots of amazing products,tools which makes the life easy for developers. Why we need to try Google Cloud when there is AWS who is a pioneer in this field? Well in the field of software development we all need be open to new technologies and try out different services before implementing the best suited one for our requirements.POC is the best way to understand about a technology or service, so we can decide after a POC 😁.

To know more on this topic feel free to have a look at this blog written by Maha.

Kubernetes:

is an open-source system for automating deployment, scaling, and management of containerized applications.” - Ref

This is the one word which I kept following all through the first day on the conference. I have Googled and understood the basic concepts of ‘Dockerizing’ a project, which we are currently doing in most of the projects we handle for NEWS UK.

It is a developer friendly application containerising method used to reduce the overhead of environmental issues we face while pushing or deploying the code into servers. A very short explanation for Kubernetes is we can create several nodes with different Operating systems which can help us scale up/down instances or pods for our application based on site traffic thanks to the easy configuration settings. Kubernetes is a platform for writing your own containerisation logic based on application needs and it is powered by Google and the person who is instrumental in developing this amazing platform was seen as a legend in the event. I had a good 20 minutes talk with him in person where I was throwing few questions at him to understand the concepts of containerisation and the advantages of using this platform. Some interesting fact which they showed with data proof that Kubernetes was initially developed and consumed by Google alone, but in the past few years the community have grown dramatically and now the most contributions(GIT commits) are coming from open source community.

A few important services:

As a competitor to AWS, Google also provides some key services/features which helps us in complete lifecycle of software development from Service creation to deployment with monitoring,logging,etc. If your are already familiar AWS you will find the exact same functions and services also available.

1.Cloud function:

Cloud functions are event driven much like lamda functions. Cloud functions can be invoked on service request from client and it is following the pay per execution policy which makes this a good cost effective solution for your application. It is easier to deploy and monitor the function logs. The local testing can be done before deploying the functions into cloud and it has CLI options for easy deployment. One more stand out feature is the concept of Pub/Sub can be included into your javascript functions and utilised. The world is moving towards Serverless approach which reduces the workload of infrastructure maintenance. A string of cloud functions can be deployed into Google console where it will manage the environments for us. Cloud functions are much suitable for nodejs applications which I have tried it myself along with my team mate for our project needs.

2. App Engine:

It is the wrapper or infrastructure where the application codebase live & executes. The key features are Traffic splitting based on application traffic monitoring, application versioning and serverless deployments. The main motto of the app engine is, as developers we need not to worry about the infrastructure write the code in any suitable language and the app engine will take care of managing the application wrapper with its automagical approach. ”Build your application in Node.js, Java, Ruby, C#, Go, Python, or PHP—or bring your own language runtime”

3. Container engine:

It is infrastructure which can be created based on the environmental configuration needed for our application. This is managed by Kubernetes platform. Key features or pointers in this are named end points can be created. The Continuous deployment and integration can be managed using this platform.For example I can create an application with the configuration of 500 nodes that runs on Redhat Linux. It can be defined in config file and deployed with CLI. The scaling and server set up will happen in the background saving me from the overhead of monitoring and worrying about other dependencies that I manually need to install on server.

4. Compute Engine:

It is used in creation of nodes or pods or instances for your application. We can create the pods based on our needs and can be selected from wide range of pod types. The CPU usage and storage needed for the application needs to be taken into account while creating the pods.It covers auto scaling, AMI managements, logging and reporting purpose. Based on our usage pattern there can be discounts available in the billing cycle.

Lets see some Data:

We all have the desire to work on Data and Google Cloud has lot of tools and services for people who work on Data projects. In this huge ocean of Data, I know how to run a few queries that can be executed from MySQL workbench 😔.
But the sessions taken on the second day helped me a lot in getting to know about Machine Learning and BigQuery.

One of the best moments in the conference was when our in house Data team in Bengaluru got recognised by Director of Data - NewsUK, Dan Gilbert. I feel very proud just by attending the event, then think of the moment when you see yourself projected in slides where 1000s watch live and Billions will watch in Youtube, in Rajan terms its Mother of all recognitions 😛 Data team take a bow...

Machine Learning:

I always wondered how Google gives me suggestions whenever I start to type something in the search bar. As a common developer I know it is based on my previous searches but I had no clue that how it was made possible technically. But in the breakout sessions, Googlers explained the concepts and terminologies like Machine Learning, Big data analysis,Cloud Spanner, DataProc, DataPrep, etc. The framework which is being followed in Google Cloud - Machine Learning service is TensorFlow and the programming language used in ML is python. The basic concept of ML is there will be set of Data models used by Data engineers for training the application which can be used for predictions in Live Data feeds. The deployment and jobs can be run using CLI, the best suited editor is Jupiter.

If anyone would like to know more on this we have our very own Data team whom are playing around with these tools and servies. There are few APIs which can be used in ML like Vision, Natural Language, Video, Translation and Speech APIs.

Vision API:

The same technology which is used in face detection feature of Google photos which helps us to search and tag people by facial pixels and appearance. Some of the techniques followed in this API are Label detection, Face detection, OCR, Explicit content detection, Landmark detection, Logo detection.

Speech API:

My very first project which I worked was using this API. We all must have played with our android mobile device by saying ‘OK Google’ which is also created on the basis of this API.

Natural language API:

It is used in fetching the information based on user feedback by following certain rules namely Entity extraction,Sentiment analysis and syntax annotation. In BigQuery we can query with Javascript functions and conditions which was good for JS developers who also have interest in Data. Please have a look at this page for live demo.

Translation API:

According to Google this is the most frequently used API. We know the importance of this API when we travel to places like China where we cannot dependent on our English to survive or even people of south traveling to north of India😅. There was an amazing article published about this useful API which can be found here.

Video API:

This is my personal favourite API which is currently in beta stage. Using this API we can search for any word or phrase in a video which will return the frame containing the searched word. Say for example we want to search a video in Youtube where we forgot the movie or clip name but we are damn sure that video had a Transformer image in one of the frame using this video API it can be made possible now. We had a live demo of this API using this application.

Conclusion:

People who are Pro at Blog writing please accept my sincere apologies for this improper write-up. I am considering this as a developer notes more than a blog post as it was written based on my running notes taken from the conference.

I have tried my best to fit in all the gathered information which I wanted to share with you all in this write up but still I could not cover completely as it was too much information. The sessions can be found on Google Next channel in Youtube for better understandings.

                                                 Thanks                
                                               Krishna M 🙏