MS Build Recap – The AIS Edition

This year’s MS Build was very different – we all know that. But for most of us, me included, was the first opportunity to join the event officially. And what event it was.

Ran across three time zone, with a mix of live sessions, Teams Live events and smaller Teams events, like focus groups, which allowed the attendees to really interact with the product groups and advocates from Microsoft.

This year there were some interesting announcements around the Azure Integration Services technologies. I’ve recently shared those announcements on a Auckland Azure User Group meetup, and thought that, since I already had everything collated, it would be a good idea to just share this with you on the blog as well. So, let’s talk about what is now available, or just \around the corner for AIS

Continue reading “MS Build Recap – The AIS Edition”

API Management – Restrict Operation Access per Product

Last week I had an interesting request from a client. They have been creating generic APIs, using a variety of different backend systems (on-prem APIs, Azure Functions, Logic Apps, cloud APIs). Those APIs were grouped by product but even within a product they would like to restrict access to only some operations, so product A would have access to a group of operations, while product B would have access to different group. Initially I thought that role based access driven by claims, but the issue was that we didn’t have control of the identity providers, or the back end services. In the end we would have to find a solution within API Management to create this ACL like style.

Initally I didn’t like the idea to create our own access controls in APIM, but faced with the other constraints, I slowly warmed up to the idea and learned a couple of things about policies along the way.

Continue reading “API Management – Restrict Operation Access per Product”

Upgrading BizTalk 2013 to BizTalk 2020

Wow, it has been a long while since I wrote a post about good old BizTalk! But we had some interesting findings this week trying to run an in-place upgrade from BizTalk Server 2013 to BizTalk Server 2020.

I know that in-place upgrade is one of the cardinal sins of BizTalk, together with not running the BizTalk database jobs or having a single host to rule them all! But before you take my BizTalk fan club membership card, just understand that we had 5 different environments and so much red tape and reconfiguration for a side by side upgrade, that it was worth taking the risk.

And here is what we found during this process. I say we because although I helped troubleshooting, one of the best consultants from my team, Peter Kenyon, had the pleasure of experience this particular kind of hell – I am pretty sure I owing lunch after all of that…

Continue reading “Upgrading BizTalk 2013 to BizTalk 2020”

2019 – A year in review

Well, it is 31 December 03 January 2020, so it is the official time for a stock take of 2019. I’ve acomplished a lot of things I wanted to do this year, while couldn’t carve time for some other things I would like to do, which I will have to prioritize in 2020. So instead of a long post, here is a list of things I am really proud and things I want to concentrate more:

Continue reading “2019 – A year in review”

Event Grid Advanced Filtering on Logic Apps

“It was the week before Christmas, and…” and I was actually super busy! One of my main tasks on that week was to implement notifications when a legacy Dynamics AX, still running on-premises, had orders ready to delivery.

My solution was relatively simple (although needed to be generic enough to include other notifications later):

Solution diagram

I had a very simple event data being provided by the notification repository:

{
  "NotificationId": "NOT-00001",
  "NotificationType": "SalesOrder.Delivery",
  "CustomerId": "CUST-001",
  "Status": "New",
  "LastModifiedDateTime": "2019-12-20T11:02:28.13"
}

I thought that it was quite an easy setup, but I got stuck for a while setting up the Event Grid Logic App trigger. Why? I was expecting that the trigger would support advanced filters out of the box, on the designer experience, but that’s not the case.

Continue reading “Event Grid Advanced Filtering on Logic Apps”

API Management – Arc Enabled

API Management what enabled? If you haven’t keeping up with the news from MS Ignite 2019, the title might be a bit confusing. Arc (not A.R.C as I read it initially) is a new Service in Azure that allow customer to deploy and manage Azure Services anywhere – and anywhere in this case means any cloud, on-premises infrastructure and at the edge. You can find more about that service here.

During MS Ignite, the API Management team launched the public preview of a new feature, that takes advantage of the Arc technology to deploy API Management gateways anywhere. So let’s take a look of what that looks like.

Continue reading “API Management – Arc Enabled”

I know what you did on your holiday…

Today is officially the last day of my holiday in Brazil with the whole family. We spent four weeks between mine and my wife’s home city, visited family and friend, visited some places that I haven’t before even living in the state most of my life and showed the kids some of our favorite spots.

But I also wrote a blog post, submitted five talks to Ignite, participated in to MVP calls, had a couple of meetings with people at work, replied to my work email to prevent projects go the wrong way.

So, at the end of the trip, I started thinking… With so much focus on quality time and really unplugging during your holiday, this days, should I have done that? Did I really enjoyed this trip as much as I should have?

Continue reading “I know what you did on your holiday…”

Managing personal office communication with MS Flow

It’s 10:00 am of a Wednesday and I am in my childhood home, having a chat with my dad and spending some time relaxing. As it is raining today, beach is not an option, and cinema is scheduled for later today.

So what better to pass the time until later than write a light post? So, instead of focusing on AIS or some “enterprise like” technology, I decided to talk about something I made to make my life simpler, using Microsoft Flow, Teams and Outlook – my ultimate out of office communication.

The requirements

For a bit of background, at Theta we had a long time tradition to indicate people whereabouts on email using a tag like OUT (out in a client), WFH (working from home), etc. That came from the time where the team was quite small and email was the main method of communication. With the team growing, earlier this year we made a request for people to move that kind of notification to Teams, on Theta’s General channel. But then I thought – why do I have to connect to teams to do that every time? There should be a better way…

In the end, the better way for me was a Flow button that allowed me to decide exactly what I wanted to do – I designed the flow to do the following:

  • Choose the type of notification I wanted to send:
    • Out of Office (OUT)
    • Working from Home (WFH)
    • Sick Leave (SICK)
    • Late to Work (LATE)
  • Have an optional text explaining the reason for the notification
  • Send an email to my manager indicating my whereabouts.
    • Optionally, send a copy of the email I send to my manager to a list of people I chose.
  • Optionally, turn on automatic replies and adjust the text and the duration of the automatic replies.
Continue reading “Managing personal office communication with MS Flow”

API call with client certificate policy failing to execute due to message size on Azure API Management

Well, that is a mouthful of a title, but I wanted to capture the exact issue, because I couldn’t find any page to help with this specific error and managed to get it fixed thanks to Vladimir Vinogradsky pointing me out to a tip in one of the APIM docs.

So my scenario was this: my team was working on an API that is protected with a client certificate policy – quite simple, very straightforward. At the API level it had the following policy:

Continue reading “API call with client certificate policy failing to execute due to message size on Azure API Management”

Integrate 2019 in Review

I was on my flight back from London, returning from Integrate 2019, when I started this blog post. It was a very long flight, around 24 hours each way, but even if the jetlag hit me really hard this time around, it wsa worth it. Integrate grew from an initiative from a group of BizTalk MVPs, into the premier conference for Microsoft Integration technologies. It was my honour to be a presenter for the third year in a row, presenting alongside a Microsoft team comprised of Product Managers, Architects and Engineers – the people that actually design and implement the technologies I use on a daily basis – and legends from the Microsoft Integration community like Sandro Pereira, Steefan Wiggers, Richard Seroter, Michael Stephenson and Kent Weare, just to name a few.

The conference is run by Kovai Co – the company formerly known as BizTalk 360 – as a very well oiled machine. A large team from Kovai dedicate months ahead preparing the conference. This edition of Integrate was the largest yet, with over 480 participants, with 26 speakers and 28 sessions, across 3 days.

If I had to choose one theme from the conference this year, would be governance. Seems like most of the integration related technologies got to a stage where the core set of features are available and companies are using them actively. All that activity highlighted the requirement for better tooling and guidance around various aspects of the governance of the platform. From DevOps guidance to security and bettern integration between on-premises and the cloud, pretty much every product group had recent or new announcements around that theme.

Continue reading “Integrate 2019 in Review”