Deploying apps in Google Cloud Platform using GitHub Actions.

After GitHub announced action last year, they recently announced that it would support CI/CD free for the public repository as well. This is exciting because earlier most of the public repos were leveraging 3rd party Travis CI.  Travis CI is really simple for straight forward use cases, sometimes just one line. And also free for open source projects (Public repos on GitHub)

I had signed up for GitHub action beta program earlier and recently got the invite. After signing up you can see the new "Actions" tab in the top of all of your repositories

Earlier I blogged about how to deploy to google cloud from GitHub repository using Google Cloud Build. Here I wanted to use GitHub Actions instead to directly deploying a cloud function.

To get started one needs to have a .github/workflows directory at the root of the repo.Under the above directory, one can have multiple .yaml files to configure multiple workflows which can be run independently.The important sections of the action YAM…

Downloading And Storing Financial Data With Google Cloud Scheduler, Cloud Storage and BigQuery

Financial data from the stock market usually are available through APIs like Bloomberg API. Almost 12 years ago I worked for a company where they needed download and store historical data with the C SDK and also run a periodic cronjob to execute the same every day for that day's data (e.g. Day high, close, low, open prices and volumes). This was mostly run aftermarket when it was supposed to be available for that day. Ultimately data was stored in PostgreSQL and cater to many applications like Option Simulation (predicting the premium in upcoming days before option expiry using the volatility calculated by Black Scholes model ) and plotting bar charts (.NET or Adobe Flex desktop charts). The Simulation software was all written in PHP (in an object-oriented way) and some business users also used connectors from Microsoft Exel to fetch data from PostgreSQL directly.

While all these financial features were ahead of time, had all these done been done now, the obvious choice was proba…

We have a world chamipon !

Finally, we have a world champion and its England! It was the closest game (let alone in a world cup final) one could practically have. England built the team indeed played remarkably well since their elimination in the last world cup at the group stages. It definitely reminds me of India who lost in 2007 at the league stage and then ended up becoming the champions in 2011 at home. Both had started building a team for the long term which paid off.

There was a lot of talk about the final match being decided on the basis of number of boundaries hit and the overthrows off Ben stokes bat but the fact is that everything was under the rule and no one did anything intentionally to take advantage of it against the spirit of the game (unlike Ashwin waiting for runner to leave the crease marketing ) the rule were not new and both  teams were well aware. Like any other super over New Zealand did know their target is 16 and 15 belongs to England. It's not like after the Super over was tied I…

World cup 2019 so far.

Now that Bangladesh has scored 7 runs, we have our confirmed semi finalises in the cricket world cup 2019. There was a lot of calculations and jokes how Pakistan could make it to the semifinal on the basis of net run rate by beating Pakistan with 300+ runs. After all, there were so many similarities with the 1992 world cup,, how could Pakistan be eliminated in the league stage itself. Pakistan almost got eliminated in 1992 tough. Anyway as an Indian the 2nd best incentive after winning the world cup itself is beating Pakistan. Which we have been doing invariably right in every world cup encounter so far.

Personally, the history of the cricket world cup fascinates me more than anything else in the cricket. I did try to submit an article on it (Indias world cup campaign from 1975 to 1992) during 1996 world cup in my school magazine but it was rejected because it was not patriotic poetry or fictitious story. Anyway, now that we have internet and blogging social media platform we can wri…

Google Cloud Next '19

Courtesy Google Developers I got the opportunity to attend Google Cloud Next '19 in San Francisco last week. With more than 30 thousand attendees, It was a great experience to attend a conference of such a scale. I have heard it's only very few conferences like the Salesforce's Dream Force and Microsoft's Ignite are bigger than this. The venue was famous Moscone centre which is home of the largest tech conferences including GDC and Oracle Open World. In the past, it has also hosted Apple's WWDC and JavaOne for a long time which is also followed by developers all over the world.

The scale of the conference was so huge that, the price of the hotels in the city were surged up. Apart from the main set of Moscone buildings, some of the sessions were hosted in the theatres in Metreon and palace hotel. They released the mobile app and schedule of sessions much before the conference and one had to reserve the seat for some of the sessions in hot topics in Google cloud. I …

Automatically Deploying to Google Appengine from Github using Cloud Build

When it comes to CI/CD pipeline, Jenkins is one of the popular tools that a lot of software companies use. With google cloud build one can build and deploy their app right from source repository like GitHub to AppEngine. It's a pay as you go service. However the first 120 build-minutes per day is free, so one can very easily try for their side projects where the deployment frequency is not more than a few times a day. However its always a good idea to limit your billing account and have alerts on usage in case it goes over the free tier due to some build stuck and running indefinitely. Here we will take an example of a go based appengine standard project.

First, to have Cloud Build be able to deploy to appengine we need to give the service account it's going to use the roles that are required.

Find the project id

NUM=$(gcloud projects describe $PROJECT \ --format="value(projectNumber)") && echo ${NUM}
Derive the service account name from the project id and as…

Google Cloud Study Jams 2019, Hyderabad Week 3

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…