Google Cloud Next’17

In my previous post, I promised to talk about some good conferences I’m attending or speaking over the coming months. One of those conferences that I’m most excited about is Google Cloud Next’17: Google’s main cloud conference happening March 8-10 in San Francisco.

google-next-logo

Last year, I attended that conference as a Noogler. There were a lot of developers and great technical content. This year’s schedule has just been published and it looks even more exciting, especially if you’re a .NET developer!

First, a shameless plug. I’m speaking at Next’17 and my session is called Take your ASP.NET apps to the next level with Google Cloud.  I will talk about how to migrate existing ASP.NET apps to Google Cloud and what kind of benefits you get by running your ASP.NET apps on Google Cloud. It should be an informative and fun talk for .NET developers.

I’m also excited about Running .NET and containers in Google Cloud Platform session by Jon Skeet and Chris Smith. This session will be about deploying ASP.NET Core apps to App Engine and Kubernetes on Container Engine. ASP.NET Core and Kubernetes are both hugely popular in the development world and I’m so happy that Google Cloud supports ASP.NET Core apps on Kubernetes in a big way.

You probably didn’t know but you can run Windows Server and Microsoft SQL Server on Google Cloud and there’re sessions for both of them on Next’17. Deploying Windows-based infrastructure on Google Compute Engine and Microsoft SQL Server on Google Compute Engine should both be interesting sessions to get to know about all the details.

Apart from all of the great Windows and .NET sessions, sessions on Serverless architectures (cloud functions), Machine Learning, big data processing with Dataflow all sound very interesting. Not to mention, we will have a ton of codelabs at Next for people to get hands-on experience with Google Cloud.

As a .NET developer, I have a lot of reasons to be excited about Next’17. Hope to see some of you there!

 

One year on

2016collage

I’ve been neglecting my blog recently. Not only I was really busy with work but I also gravitated towards blogging on Google Cloud Platform (GCP) blog. I will continue writing on GCP blog but it is my goal in 2017 to write here more often on broader tech and non-tech related topics.

As some of you might know, I started working at Google as Developer Advocate for Google Cloud almost a year ago. As we start the new year and as I get closer to my one year anniversary at Google, I thought this would be a good time to reflect on the past year.

2016 has been a crazy ride for me. I had a feeling that this job would be fun and different from any of my previous jobs but I never imagined that it would be this great in so many ways.

My job involves speaking/teaching at tech conferences which requires quite a bit of travel. In 2016, I visited 33 cities in 21 countries. I probably traveled to more places in 2016 than all my life combined before.

I was a speaker/teacher/attendee in dozens of conferences. Preparing for so many conferences wasn’t easy but rewards in the end were great. I was never exposed to this number of diverse conferences in this short amount of time. I learned a lot and got to meet a lot of talented engineers from all over the globe.

In terms of my talks, I had a lot of topics to choose from because Google Cloud is a huge platform with so many different pieces. I gravitated towards Kubernetes, gRPC, Node.js and Dataflow talks. Due to my .NET background, I started supporting our .NET story on Google Cloud more recently and I expect this to continue this year.

Being a Developer Advocate means you need to juggle many different tasks all at once. In a day, you might be finding yourself writing code for a demo, submitting talks to a conference, writing friction logs for a product or attending a customer meeting while figuring out your next travel plans. And sometimes you have to do all of this on the road. I have to admit, there were times I was stressed. There was a week where I was in 4 different cities in 4 different countries and I was overwhelmed. But I learned my lesson. This year, I will try to be planned with my travels and make sure to plan for recovery time as it’s really important.

Overall, 2016 has been a very exciting, rewarding and productive year for me professionally. 2017 is already shaping up to be an even better year and in one of my next posts, I’ll talk about some of the cool conferences that I’m excited to be part of in 2017.

Overview of .NET on Google Cloud Platform

I consider myself a Java developer first but during my time at Microsoft and Skype, I had the chance to learn about C# and .NET. Over time, I started liking the advanced features in C# (that Java just recently started having) and the great ecosystem and tooling around .NET. 

When I moved to Google and started working on Google Cloud Platform, I was naturally very happy to learn that Google Cloud Platform supports .NET applications.

In this blog post, I want to provide an overview of .NET support on Google Cloud Platform and talk about .NET client library. 

If you want more details, .NET on Google Cloud Platform is the best page to get started, it includes quickstarts, code samples, tutorials and more.

Windows Server and ASP.NET

First question you probably have is: What kind of .NET applications can I host on Google Cloud and how? You can host ASP.NET applications on Windows Server running on Compute Engine.

The easiest way to get started is to use Cloud Launcher ASP.NET Framework to deploy Windows Server 2012, Microsoft IIS, ASP.NET, and SQL Express on a Compute Engine instance.

Once the ASP.NET stack is installed, ASP.NET apps can be deployed from Visual Studio using the regular Web Deployer (no special plugin needed) to your Compute Engine instance.

.NET on Google Cloud Platform page includes a Hello World with .NET sample on details on how to deploy .NET apps on Google Cloud. There is also a How to get your ASP.NET app up on Google Cloud the easy way post on Google Cloud Platform blog that you might find useful.

.NET Library for Google Cloud Platform

Once you have your basic ASP.NET app running, you probably want to know what .NET APIs and libraries exist for which part of Google Cloud Platform. 

Currently, there are 2 different .NET libraries for Google Cloud Platform: Google API Client Library for .NET and Google Cloud Platform Client Libraries for .NET. The latter libraries are currently in Alpha and Beta stages, so I won’t talk about them in detail here but stay tuned for more details in a future post.

Google API Client Library for .NET is currently the official library for many Google services, including Google Cloud Platform. It includes .NET APIs for many Google Cloud services such as Cloud Storage, BigQuery, Pub/Sub, Dataflow and more. The full list is on their APIs page (search for “cloud” for Google Cloud related APIs).

Main APIs

I want to outline some of the main .NET APIs for storing data, messaging, BigQuery and point to their NuGet packages and source code for easy reference.

Structured Data

Every application needs some kind of structured data and you have 2 options to store structured application data:

  1. Google Cloud SQL can be used with regular Entity Framework (no special API needed).
  2. Google Cloud Datastore (NoSQL) can be used with Google Cloud Datastore API Client Library for .NET (NuGet | Source).

Binary Data

You can use Google Cloud Storage to store binary data with Cloud Storage JSON API Client Library for .NET (NuGet | Source).

Messaging

You can use Google Cloud Pub/Sub for publish/subscribe messaging with Google Cloud Pub/Sub API Client Library for .NET (NuGet | Source).

BigQuery

You can work with Google Cloud BigQuery with BigQuery API Client Library for .NET (NuGet | Source).

Other APIs

For the rest of Google Cloud Platform, you can find APIs on Google Compute Engine, Google DataFlow, Google Cloud Dataproc and many more under APIs section of Google API Client Library for .NET.

Code Samples

There is also a GitHub repository called dotnet-doc-samples where more and more samples are being added for .NET on Google Cloud Platform.

As you can see, .NET is a fully supported framework and it’s only going to get better, so I’m very excited to see how .NET support will evolve going forward on Google Cloud Platform.

 

Cloud Minute: Online Resizing of Persistent Disks

Google Cloud Platform introduced online resizing of Google Cloud Persistent Disks almost a month ago. When I first read about this feature, I was so amazed that I had to try it right away.

I started with a Compute Engine instance with a persistent disk of size 100GB and doubled it to 200GB with a few clicks and resize2fs command.

Not only it worked flawlessly but it was also very quick. I documented my experience in this Cloud Minute video.

Enjoy!