Resolving Google DNS problems with hosting *.app from Hover on Azure

This is a quick blog post - special thanks to Simon Waight who looked into this with me and gave me some nudges towards the right direction. The solution was his suggestion too. That guy, he knows his Azure.

Problem

Okay, checklist of my problems:

  • Bought flowstudio.app domain name with Hover

  • Mapped custom domain on Azure

  • Set CNAME/A record from Hover nameserver to Azure

  • .app needs secure cert - which was bought through Azure (Go-Daddy)

  • DNS lookup is good for almost everyone

  • DNS lookup from Google DNS 8.8.8.8 fails

  • So anyone that uses Google DNS can’t see flowstudio :-(

Notes

Please understand John is a developer and not an infrastructure guru. But this was pretty interesting.

  1. .app is a secured domain

  2. Google DNS fails, because Google owns .app

  3. While most DNS servers are happy to talk to ns.hover.com to resolve my domain name to Azure, Google wants to verify the DNSSEC

  4. This fails, so Google DNS treats the DNS record as invalid, refusing to resolve FlowStudio.app

  5. This was really confusing, until I finally come across a note on Hover’s FAQ:
    https://help.hover.com/hc/en-us/articles/217281647-Understanding-and-managing-DNSSEC

Please note: Hover does not offer hosted DNSSEC DNS services using ns1/2/3.hover.com. If you require DNSSEC, you’ll need to use a third-party DNS provider that offers DNS that supports DNSSEC fully.

Solution

The fix is to create a new Azure DNS Zone, and then change the nameserver records on Hover to point to Azure DNS Servers. A/CNAME records are created on Azure DNS. This seems to have resolved the issue for everyone, especially Google DNS.

Please let me know if you have problems accessing https://FlowStudio.app

Hiding your Microsoft Flow valuables I mean variables out of sight

Photo by Annie Spratt on Unsplash

Today is a quick #FlowNinja post on a strange technique.

Hiding Microsoft Flow valuables I mean variables out of sight

Yes, a very ninja technique.



This is actually an article about how to use tracked properties in the current Flow. But of course that’s the boring side to this. The fun side is how we can attach properties, like having a utility property bag and store properties as we go along!

Start with three compose (I guess we only need two really)

The expression give us the trackedProperties dictionary off the first action

actions('vars')?['trackedProperties']
// vars is the name of the first Compose action

Toggle to the … settings for the first action - that’s where different tracked properties are defined. We can use expressions if prefixed with the “@…” syntax, or define literal strings or numbers or even nested JSON objects.

What could we use Tracked Properties for?

  • Well, hide things that we don’t want to show - like the back of an envelope.

  • Unfortunately, an action can’t reference itself, so we can’t hide secrets that the action itself needs on the back of itself.

  • Tracking time between two actions - calculating the time difference between approvals can be useful.

  • https://flowstudio.app can ‘see’ tracked property values in the detailed Flow Runs - but there are no UI to display this for now. One idea is to use this to surface data within the Flow run that can be observed at the Runs level - like the Trigger URL or List Item ID of the runs, and allowing sorting on them. Powerful ideas but difficult to build an UI for. Let me know if you are keen about how this works below.

Flow Studio Subscription FAQ

I added Stripe subscription to Flow Studio today. I also became my first customer (as I’m testing the integration).


Time for this FAQ



How much is a Flow Studio Subscription?

US$10 / month, or US$100 / year.



Is there a trial?

Currently (2018-10-19) the premium features are not blocked by non-subscription status. Everyone is defaulted to Trial status.

In about a month’s time (2018-11-19) a timer job will expire Trial status into Free status, then users will not be able to access subscription features.

The time recurrence job is of course written in Microsoft Flow

Is there a free tier?

Yes! Listing, sorting, metadata grouping, see and filter by runs, triggers and failed runs will all remain in the free tier.

It is our opinion that these features are essential to a pro Flow maker.



What features need a subscription?

Getting Flows as Flow Admin - this requires both Flow Studio subscription and Microsoft Flow Premium 2 - but let you observe all the Flow runs across a tenant / environment.

Edit JSON - this is an advanced feature that is used by Power Users.

There will be additional features as we now focus on making features that will make you love Flow Studio.



What is the coffee donation?

It is a way to let us know that Flow Studio made you smile, but you don’t want a subscription for any reason. It doesn’t grant subscription status.


How did you implement the subscription? Give us the technical blog post!

Flow Studio is an Angular 6 application compiled with AOT and deployed on Azure Functions.

It uses a mixture of LogicApps and Microsoft Flow as serverless middleware. These are proxied behind Azure Functions Proxies.

Timer jobs and triggers coordinate communication between Flow Studio and Stripe payment processor.

This is a blog post on this in the future.



Ask us any questions!

This is an evolving document. Feel free to keep asking us more questions and we’ll provide answers!

Flow Studio has a new logo

Flow Studio https://flowstudio.app has a new logo!

flow-studio-logo-216.png


I don’t know why I’m so happy about this, but I am.

Did you draw that John - yes on the back of an envelope. Literally. Flow Studio is a start-up that does things the hipster way.

It was digitized by the amazingly talented logo designer people on Fiverr. It is beautiful and very affordable. It was finalized within 24hours of the envelope sketch. No revisions were requested.

The colours have very specific meanings. I’m sure you’ll recognize them immediately.

The logo appeared on Flow Studio in v0.1.47 but will make more appearance in v0.1.48 with the subscriptions implementation.

Microsoft Flow HTTP Trigger <> Request Trigger, and you probably don't want to use it

Microsoft Flow has a fairly good UI update today, and with this a few “hidden” built-in triggers appeared.

The GeoFence Trigger is not available yet. But the HTTP Trigger is, and I wanted to write this blog post to explain how it works, and more importantly, why you probably don’t want to use this trigger.


HTTP trigger

Create this, the trigger calls the football API, it fetches back data…

The HTTP trigger is not a “new” trigger - it is something that’s in LogicApps for sometime. In essence, it is a polling trigger. So is this a run-once? Does it run many times? The answer is in the definition.


The Definition

https://docs.microsoft.com/en-us/azure/logic-apps/logic-apps-workflow-actions-triggers#http-trigger

The definition specifies

"HTTP": {
   "type": "Http",
   "inputs": {
      "method": "<method-type>",
      "uri": "<endpoint-URL>",
      "headers": { "<header-content>" },
      "body": "<body-content>",
      "authentication": { "<authentication-method>" },
      "retryPolicy": { "<retry-behavior>" },
      "queries": "<query-parameters>"
   },
   "recurrence": {
      "frequency": "<time-unit>",
      "interval": <number-of-time-units>
   },
   "runtimeConfiguration": {
      "concurrency": {
         "runs": <max-runs>,
         "maximumWaitingRuns": <max-runs-queue>
      }
   },
   "operationOptions": "<operation-option>"
}

But the designer for HTTP trigger does not let us specify the recurrence pattern for this trigger. So it ends up on the default, which is polling at 1 per minute.

That’s probably a really aggressive way to use up your Flow runs :-)

Summary

Four recommendations / notes:

  • Use a Schedule Recurrence trigger to specify what time and frequency we want our polling to run, then call HTTP as an action

  • Wait for a UI update that let us set up the recurrence trigger

  • Use FlowStudio to patch the JSON definition like a hacker. In a future FlowStudio update we will warn when these type of high-run Flows are created in the tenant unintentionally.

  • The Request Trigger turns a Flow into a web service. A HTTP trigger does not accept any requests, having both triggers now in Flow makes describing the correct trigger in text and blogs slightly tricker.