Posts

Showing posts from 2019

Google Cloud Study Jams 2019, Hyderabad Week 3

Image
After successful week 1 and week 2, it was time for week 3 of the Cloud Study Jam Hyderabad 2019. It was a full day event where participants were supposed to do labs from the Qwiklabs quest Baseline: Data, ML, AI with a lot of labs starting from Big Data services from GCP like BigQuery, CloudSQL, Dataproc to NLP APIs and Dataprep to ML Engine. More time was dedicated to this session on purpose. To make a data-driven decision we (GDG Hyderabad) had recently posted a poll and asked the community about the topics they are interested in.

Which topic would you love to learn from @googlecloud study jams? #StudyJam19#CloudStudyJam19#GDG#GoogleCloud#GoogleCloudFacilitator#GoogleCloudStudyJam#Hyderabad — GDG Hyderabad (@gdg_hyd) February 13, 2019


And as expected there were more participants in this session than last time. After talking to few participants it seemed a lot of them are already doing machine learning but they were looking for running it cloud to take full advantage of its elastic…

Google Cloud Study Jams 2019, Hyderabad Week 2

Image
After the massive opening week of Cloud Study Jam last week. We had a great week 2 with follow up sessions on Google Cloud SDK, Appengine, CloudSQL, CloudFunction, Cloud Datastore etc. I was the primary instructor in this session, so I have been looking forward to this day for a while. Like last time the attendance again beat out expectation. The retention rate was beyond our imagination. It shows not only that the 1st week was really successful but also people are genuinely interested to learn about the cloud.

Kudos! Wonderful to witness great retention at @googlecloud Study Jam #Hyderabad 2019 - [Week 2 - Deploy & Develop] session. #CloudStudyJams#CloudStudyjams19@gcdc_hyd@GoogleDevsINpic.twitter.com/t1xTig45JW — GDG Hyderabad (@gdg_hyd) March 9, 2019 From the quick survey, it turned out most of them already completed the week 1's quest - GCP essentials or at least completed the parts which are pre-requisite for this session or just to get started with Google Cloud Platfor…

Google Cloud Study Jams 2019, Hyderabad Week 1

Image
Last Saturday we had the 1st session of Google Cloud Study Jams in Hyderabad.



Website
Week 1 Meetup
Slack

ThoughtWorks,, Hyderabad hosted us and they will be hosting the subsequent sessions lined up on next few Saturdays as well.
#Cloud#StudyJams kickstarted in style! Kudos to all those developers for taking their time out off a busy weekend to learn #GCP#CloudML#BigQuery and lot of interesting stuff over next few weeks.
Special thanks to @ThoughtWorks#Hyderabad team for being an amazing host for us!! pic.twitter.com/7ElukjGKCA — Uday Mannam (@UdayMannam) March 2, 2019
Thank you, everyone, for attending our first ever @googlecloud study jam in #Hyderabad in collaboration with @gcdc_hyd & @qwiklabs 😀. Looking forward to seeing you all for the Week 2 - #Deploy & #Develop#CloudStudyJams Photos: https://t.co/CyZ5FyAWsOpic.twitter.com/i73j9VhdVP — GDG Hyderabad (@gdg_hyd) March 2, 2019
This session was all about introducing Study Jams to the developers and get started with the GCP e…

Profiling Java application in Google Appengine Flex

Image
There are a lot of ways java applications can be profiled for memory and CPU to find memory leaks or any culprit block of code where the app spends most of the time. In Google AppEngine Flex the application code (jar or war) runs inside a docker container which in turn runs inside a VM dedicated a service/module. While Google Cloud Profile can be used for analysing live applications it only supports CPU profiling when it comes to Java in AppEngine flex. Memory profiling is supported for Java only in AppEngine standard and python and go in AppEngine flex. So as of now, one has to profile the memory in JVM manually.
SSH to the AppEngine instance If you have Editor role you can ssh to the specific appengine flex instance using gcloud utility. You can connect to the instance by clicking on the SSH button against the instance in the instances page in the appengine GCP console.
 SSH to the instance
$ gcloud --project "demoneil" app instances ssh "aef-default-20190225t133842-…

Container Registery and Minikube

In the previous post, we saw how to create a docker image out of a simple gradle/spring boot app and run it locally. In this post, we will push it to a container registry and use it to deploy it in a kubernetes cluster

Upload to Registry 

I created an account in Docker Hub and did a "docker login" in the command line with my credentials.

docker push neilghosh/gradle-spring-boot-app:latest
Note docker CLI bu default talks to Docker Hub, however one can log in to other container registries e.g. GCP's GCR or Azure's ACR by prefixing the image name with the fully qualified registry login URL.

Install and Setup Minikube
We can run Kubernetes locally using Minikube, this gives us the opportunity to develop/deploy/test quickly before we deploy into remote cluster available in GKE or AKS. Minikube uses a virtualization software like Virtual Box to deploy its containers

Download Virtual Box

Install Minikube
curl -Lo minikube https://storage.googleapis.com/minikube/releases/late…

Quick Microservice With Gradle Spring Boot Docker

A few years ago if you would have asked me to create a quick POC backend service with some rest APIs I would have just picked up NetBeans and created the REST APIs using jersey/glassfish (reference implementation of JSR 311 RESTful Web Services) from the UI itself. While the above is an example of creating REST APIs bottom-up from the Database layer, once can plug business logic by adding few more java classes or a service layer. Lately, I have been using Spring Boot a lot in production and it really makes the developer's life easy by not having to write a lot of boilerplate code. Annotations take care of Dependency injection, singleton, REST API mappings etc. It even has the embedded Jetty web server to run the service locally without really having to install a bulk of binary like Glassfish/Tomcat server and deploy them (comes integrated with Netbeans tough - one could right click…

I am now a Google Developers Expert !

Image
I was recently recognised as a Google Developers Expert in Cloud. This is a program run by Google Developers to recognise developers of Google technologies as well as outstanding professionals in product strategy, UX/UI, marketing, growth hacking and monetization.

While this is a great hour I would definitely thank the local community leaders and Google DevRel folks for providing me with the opportunity over the years to get involved with the communities and nominating me for this program.



Google Cloud Platform is a public cloud where I have worked most professionally and personally in side projects. I was fortunate to discover this early on was just when it was just Google AppEngine with only python and datastore support. This was a big leap over finding a free shared Linux hosting with LAMP stack and cPanel where I also hosted manage my blog in WordPress. This was probably the only way I could host some server-side scripting / dynamic web page for free before AppEngine was there. Ev…

Analysing Google Cloud Platform Billing Data

Image
No matter if you are a large enterprise or small startup, or even individual developers, you probably need to to know what you are paying for when it comes to cloud bill. in GCP you can export your billing data to Google BigQuery and then run queries on it to know where you are spending more which can help you control the cost you are incurring to run the infrastructure and app.

Daily spend
SELECT India_date, ROUND(SUM(cost)) cost FROM ( SELECT DATE(DATETIME(usage_end_time,"Asia/Kolkata")) India_date, cost FROM `YOUR_BILLING_EXPORT_TABLE` WHERE project.id = 'YOUR_PROJECT_ID' AND _PARTITIONTIME >= TIMESTAMP("2019-01-16") AND _PARTITIONTIME <= TIMESTAMP("2019-01-20") ) GROUP BY India_date Order by India_date Result
GCP Cost per day, taking timezone into account.

 Cost By Services
    SELECT
      item,
      cost
    FROM (
    …

Poco Phone F1 - Moving from Motorola to Mi

I have been using Motorola Android phones for a while now. Moto G, Moto X Play, Moto G 4 Plus, Moto G5 S Plus, Moto E and So on. They are not only considered to be the robust phone but also they run stock Android OS. It was part of Google and Nexus series for a while. However recently I gave up on them because of their camera. Even today they don't have a good phone with camera comparable with other phones in the same price range.

I bought the Poco Phone F1 recently and it has a really good camera comparable to the flagship phones like One Plus, Samsung Galaxy S* etc. Initially I was skeptical about the Xiomi phones because they were new, cheap and it is a Chinese company but I changed my opinion after hearing from friends who have been using the same Xiomi Mi phones since more than 2 years and have excellent photos from its camera for half of the price you pay for flagship phones. Poco was there best phone so far from the specification wise (probably except Mi Mix).

Here are the…

Yi 4K Action Camera

Image
This is probably one of the first reviews I have ever written. You would find a lot of content about gadgets in youtube (with so many tech channels these days) but the only problem I have with that is I can not skim-through the video content just to see if there anything relevant that I need to know. I need to see/hear the full specifications and comparison what the video has to say. With this post (and possibly a series of posts with other gadgets that I own ) I am trying to have some notes that are usually not in the Amazon listing or manual or any overall review videos.





Yi 4K Action Camera one of the affordable action camera. Following are the observation.
The build quality is really good and quite compact.The time lapse works great, here is a sample. This is the most detailed version i.e. one frame per 0.5 seconds. For slow moving scenes like the cloud or sea, one can use even slower settings like one frame per 10 seconds and beyond.I also tested for the other extreme - slow motion…