By Ivan Naranjo, Senior Software Engineer
Google Cloud Platform (GCP) is a great place to run your .NET workloads, and with the latest release of the Cloud Tools for Visual Studio extension, Cloud Tools for Powershell and our ASP.NET Core runtime for App Engine Flexible, it just got even better.
We integrated the extension viewers for Stackdriver Logging and Stackdriver Error Reporting into Visual Studio to help you diagnose issues and monitor your code. We also enhanced Cloud Explorer with deeper integration into Google Cloud Storage and Google Cloud Pub/Sub so you can manage your resources without leaving Visual Studio.
Sometimes even the best of code malfunctions in production. To help you diagnose what’s going on, we integrated Stackdriver Logging and Stackdriver Error Reporting right into Visual Studio, so you can find the source of the problem while you have your Visual Studio solution open.
Regardless of whether your app is based on ASP.NET 4.x or ASP.NET Core, if you’re using Stackdriver Logging to log your .NET app, you can now browse the log entries that your app generated directly in Visual Studio:
You can also query for logs that originate from a particular service and version in Google App Engine (as the above image illustrates) or you can also browse log entries coming from a particular Compute Engine VM.
Even better, if you’re using our Google.Cloud.Logging.V2 NuGet package to send the log entries, the extension can match the log entries with the source code lines where they originated. The extension attempts to fetch the exact version of the source code from git, letting you see exactly from where the log entry originated. See the Stackdriver Log viewer documentation for full details on how to use this feature.
What about when your app crashes? Well, that’s where Stackdriver Error Reporting comes into play. If your application uses Stackdriver Error Reporting to send error reports to Stackdriver, you can now browse the error reports directly from within Visual Studio:
You can see the most frequent errors, the full stack trace of the error and even go directly to the source code line where the error originated. See the Stackdriver Error viewer for further details.
Cloud Explorer enhancements
We understand that you want to stay within Visual Studio when working on your apps, because moving in and out of Visual Studio is a huge context change. To that end, we keep enhancing our very own Cloud Explorer so you can manage the most important resources directly within Visual Studio. In the latest release we added deeper integration with Cloud Storage and added a new node to manage your Cloud Pub/Sub resources.
Let’s look at what you can now do with the Cloud Storage integration. You have always been able to see what buckets existed under the current project right in Cloud Explorer. Now, you can also open the buckets and see what what files are stored inside of them, treating buckets almost like a hard drive:
With the new integration, you can copy files in and out of buckets, rename them and create new directories — in short, manage the contents of your Cloud Storage buckets right inside of Visual Studio. See the documentation for full details on what you can now do with your Cloud Storage buckets.
Next up is the new Google Cloud Pub/Sub resource that we added to Cloud Explorer:
The new Cloud Pub/Sub node allows you to manage your Pub/Sub topics and subscriptions as well as send new messages to existing topics for testing, all within Visual Studio. Read the documentation for full details on what you can do with this new node.
Visual Studio is a really good environment for most development work, but sometimes the right solution is to use Powershell to automate your GCP resources. To this effect we have added new cmdlets to manage even more resources. We added cmdlets to interact with BigQuery that allow you to run queries, create tables and more. We also added cmdlets to manage Google Container Engine clusters and nodes.
Kubernetes, and its GCP-managed variant Google Container Engine, is becoming one of the most popular ways to manage workloads in the cloud. That’s why we added a set of cmdlets to manage your Container Engine clusters from Powershell. For example, to create a new cluster use the following commands:
# Creates a Container Engine Node Config with image type CONTAINER_VM # and 20 GB disk size for each node. $nodeConfig = New-GkeNodeConfig -DiskSizeGb 20 ` -ImageType CONTAINER_VM # Creates a cluster named "my-cluster" in the default zone of the # default project using config $nodeConfig and network "my-network". Add-GkeCluster -NodeConfig $nodeConfig ` -ClusterName "my-cluster" ` -Network "my-network"
For more information on what you can do with the Container Engine cmdlets see the documentation.
Then there’s BigQuery, a great data warehousing solution for storing billions of rows and performing queries to extract insights from all that data. Here too we have new cmdlets to manage BigQuery directly from Powershell. For example, here’s how to create a new BigQuery table:
# Creates a schema object to be used in multiple tables. $schema = New-BqSchema "Page" "STRING" | New-BqSchema "Referrer" "STRING" | New-BqSchema "Timestamp" "DATETIME" | Set-BqSchema # Creates a new table with the Schema object from above. $table = $dataset | New-BqTable "logs2014" -Schema $schema
For more information about what you can do with the BigQuery cmdlets see the documentation.
We want to work on the features that matter the most to you as we continue to improve .NET and Windows workloads on GCP. Please keep your feedback coming! You can open issues for Cloud Tools for Visual Studio and Cloud Tools for Powershell in their Github repos.