Terraform “Invalid JWT Signature.”

I ran into this issue recently. The “Invalid JWT Signature.” error while running some Terraform. It appeared to occur whenever I was setting up a bucket in Google Cloud Platform to use for a back-end to store Terraform’s state. In console, here’s the exact error.

terraform-jwt-invalid.png

My first quick searches uncovered some Github issues that looked curiously familiar. Invalid JWT Token when using Service Account JSON #3100 which was closed without any particular resolution. Upon further searching it didn’t help to much but I’d be curious as to what the resolution was. The second is Creating GCP project in terraform #13109 which sounded much more on point compared to my issue. This appeared closer to my issue but it looked like I should probably just start from scratch, since this did work on one machine already but just didn’t work on this machine I shifted to. (Grumble grumble, what’d I miss).

The Solution(s)?

In the end this is a message, if you work on multiple machines with multiple cloud accounts you might get the keys mixed up. In this particular case I reset my NIC (i.e. you can just reboot too, especially if on Windows it’s just easier to do that). Then everything just started working. In some cases however, the JSON with the gcloud/gcp keys needs to be regenerated as the old key was rolled or otherwise invalidated.

 

Office Applications, Cloud Office Applications: An Open Letter

Alright, there are a dozen office suites out there that sit in various places on one’s computer, in the cloud, can do X, Y, and Z and the list goes on. However, I don’t want to talk about any of those suites. I want to talk about the suite we all want, the suite that actually gets the jobs done across the spectrum of online, offline, or on Mars! So with that I start an open letter to…

Dear Microsoft, Google, and All Office Suite Makers,

Please accept this letter as a clear message about what we want. This details not some fuzzy idea about what we want, it is what we want, need, and desire to remove the legacy environments of today and to move on with the work of the future.

Installation

We need office apps that can execute from the browser, because simply, there is no reason they need to be an installed application anymore. It is absolutely absurd to install a gigabyte or more locally (MS Office, yeah, I’m looking at you) anymore! There should be zero install. If anything is needed, it should be cached and utilize a transparent, seamless, uninterrupted user experience. In other words, I should never need to install anything and be able to use things offline whenever I need to (now I’m looking at you Google Docs).

Deployment

For large enterprises that need to keep control of their environments and content, deployment should be clean, policy based, and managed through a single sign on mechanism like oauth. Possibly with some clean integration into LDAP or whatever other primary authentication mechanisms a company may user. I reiterate though, no software to install, it needs to run in the browser, and it must deploy cleanly through policy management and verification of user identification.

Ease of Use, UX, and UI

This is simple. You each have unique user interfaces that can be replicated I the browser with today’s technology. Do NOT use Silverlight, Flash, or some embedded proprietary software, use the web based technology of HTML5, Javascript, jQuery, etc the tools are available and ready for use, use them!

Online, Offline

Already there are offline features for installed packages, but that isn’t what we want. HTML5 enables offline capabilities NOW. Get them built please, already. Cheers! As for online capabilities, this is easy because they pretty much exist now.

Collaboration

If I can’t update a document, spreadsheet, slide deck, or other office suite application document in real time with other users that I’m collaborating with it has failed. All office applications must have real-time, collaboration capabilities, with chat built in, sharing, and other capabilities. End of story, this is as fundamental now as being able to type stings of characters in a document.

Welcome to the demands of the future, I’ll leave you to get back to work office suite teams!

Thanks,

Future Document Creators

Windows Live Microsoft Word Document UX vs. Google Docs UX

Before even getting to the point of writing a document, there are very distinct user experiences (UX). I have my own preferences, but I am very curious what others think.

When somebody decides to create a new Microsoft Word Document in the Windows Live Site on their Skydrive they’re presented with this interface.

Windows Live Skydrive Microsoft Word Document
Windows Live Skydrive Microsoft Word Document (Click for full size image)

To start typing in the prospective document you much choose your security, enter a document name, and save the document.  It assumes that you absolutely want a unique name, will have a document viewable by the entire Internet, and that you have to save it just to start.

In Google Docs though the approach is entirely different.  When you create a new Google Document you are presented with the actual document interface as shown.

Google Docs Interface (Click for larger image)
Google Docs Interface (Click for larger image)

Google Docs assumes that you want to immediately start typing your word processor document. It also assumes you may not know what you want to name the file, nor that you even need to actually save it, until you of course start typing. At that time the document starts to automatically save. It also assumes that this is your document and you don’t want the entire world to be able to view the document.

So I’m left with questions:

  • Which interface do people really prefer?
  • Do people prefer to start typing immediately or filling out the three pieces of information like the MS Word Doc requires?
  • One appears to allow for immediate productivity for the document creator vs. the other one. Is that just my observation or do others see it that way also?
Please let me know your two cents, I’m truly curious about which UX works out better for you.

Google vs. Microsoft vs. Apple APIs

Hmmmm.  Yup.  (From over on imgur)

Google vs. Microsoft vs. Apple
Google vs. Microsoft vs. Apple

Clash of the Titans

Over at Microsoft’s Partner Conference (WPC) there is the awareness now that Azure (Microsoft’s Cloud) is absolute their big push.  I’d say it is by far their biggest push among products right now, maybe even more so than Windows 7.

The other big announcements at the WPC are really just a continued push of the Windows 7 Series Mobile Phone and Ballmer stated that, “You will see a range of Windows 7 slates. They will run Windows 7. They will run Office. They will accept ink- as well as touch-based input.” via eweek.

While Microsoft is doing the WPC Show & Tell, Amazon has released some serious computing advances for their cloud with the new EC2 Instance Type, Cluster Compute InstanceAmazon CTO Werner Vogels’ blogs more in his entry titled “Expanding the Cloud – Cluster Compute Instances for Amazon EC2”.  Also be sure to check out the main AWS Blog titled “The New Amazon EC2 Instance Type, the Cluster Compute Instance”.

My Thoughts on This…

I’m stoked that Amazon keeps releasing bigger and better functionality.  It appears Microsoft and Amazon are going to quietly go tit for tat on cloud features.  For consumers of the cloud that’s awesome, anyone understanding basic economics knows that this is going to lead to bigger, better, faster, at a much faster rate than just having one king player.  I still ponder how intense it would get if Google actually got into this play, since they don’t seem to have any intent to play in the Enterprise Space.

However Amazon’s release is cool, I still am waiting for these next few releases when Microsoft really starts laying on the heat.  Amazon is still, by far, in the lead over Microsoft’s Cloud Technology and Capabilities.  However, one has to keep in mind that Azure was released in February.  Look at what is available now versus in February and it is shocking, especially considering Microsoft’s History.  I have to say though, over the last 2 years or so I’ve seen an amazing external change at Microsoft.  From ASP.NET MVC to Azure, the code quality improvements, framework capabilities, social media, and community involvement has been very impressive.  Even with these advances, if I had to choose between the two services, Amazon Web Services would get my dollar without doubt.

This is where I actually ponder Microsoft’s efforts to move into markets where they’ve notoriously messed up their reputation.  Their efforts into open source, and the startup realm in general, has been slow and steady.  As of today though, Microsoft has a weak foothold with startups.  Startups, in the next 5-10 years will become the major players of growth within the technology industry.  It isn’t a matter of startups being a nice to have, but a matter of survival over the next decade.  Again, Microsoft’s efforts are paling in comparison and being met with the same lackluster interest.  Amazon meanwhile, with their amazing cloud continues to rock the startup world.

What Should Microsoft Do?

I’ve got an opinion, imagine that.  Microsoft should start releasing their primary development platforms completely open source.  Not slightly, but completely.  Visual Studio and Team Foundation Services should be free.  As it is currently Visual Studio is an awesome product, and Team Foundation Services still needs serious help in some areas and is doing great in others, but together they’d be a proposition that could truly get startups going with Microsoft Products.  Be it in Azure (or AWS), hosted, or whatever.  This would get startups paying attention to Microsoft again.  Otherwise I’d wager on Microsoft continually being pushed out of the important and growing parts of the technology industry.

Then of course, I could be completely off base.  Anyone else got an opinion on what Microsoft, or Google for that matter, should do strategically or tactically?  Post a comment and give me a thought or three.