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:

Things I achieved in 2019 (or my yay moments)

There are some things I am really proud this year:

  • Re-awarded Azure MVP – the culmination of all work done in 2018 and beggining of 2019 was being awarded Azure MVP for another year. Being part of this awesome group of community leaders is always one of the biggest moments of the year.
  • More international speaking opportunities – This year, the total number of sessions I’ve presented (or co-presented) increased from 3 to 6, with two sessions on Directions Asia 2019, one session on Integrate 2019 and 3 sessions in Directions EMEA 2019. It was also the first time me and Tharanga were invited to present at Directions EMEA, which is a great achievement.
  • Spread my contributions accross different areas – My contributions this year although still quite centered in Azure Integration are in many cases on the crossroad with another area. Directions and D365 Saturday sessions co-presented with Tharanga Chandrasekara are based on integration concepts and patterns applied to D365 technologies and the comparison between enterprise integration x power platform integration capabilities. I’ve also presented this year again on Global AI Bootcamp, helping to demystify the Azure Cognitive Services offering.
  • Global Integration Bootcamp Committee member – I’ve joined the committee of the Global Integration Bootcamp in late 2018. I am really proud of the work we do organizing GIB and will try to make it even better in 2020.
  • Integration Downunder Committee member -Integration Downunder, which was created in February 2018 and grow to a collection of 21 webcasts. Quite proud of the team organizing this webcast, and in special of the dedication of Bill Chesnut, which keeps pushing us to add more material every year.
  • Hour of Code 2019 – I’ve organized the Hour of Code 2019 again at Arahoe School. This time with two co-organizers: Blanca Mansfield and Monica Silveira. A total of 17 classes with 25 to 30 children in each class – it was two days of fun and being the third year that we run the event, some of the kids now are quite aware of what it is and were quite excited when we got in the room.

Things I didn’t achieve in 2019 (or my wish list for 2020)

There are some things I want to improve in 2020, which I kind of lost focus because of how busy 2019 end up being:

  • Improve the pace of sessions on ACSUG – The whole team of ACSUG was extremely busy this year on their day jobs, which impacted the pace of sessions we’ve organized. But we’ve recognized the fact that we need young blood to keep this user group strong and added Alessandro Moura to the organization. Our aim is to bring regular meetups again for this year.
  • Expand the activities of Global Integration Bootcamp – just like ACSUG, the Global Integration Bootcamp committee was quite busy on their lives this year, so some of the ideas we had to improve the content and format of the bootcamp couldn’t be implemented this year. We will focus on this in 2020.
  • Mentoring new speakers and community leaders – This was one of the things that was high on my list to start in 2019, even having quite a good brainstorm on how to start this with Shiva Ford, but couldn’t get myself organized to start it in 2019. So this is back on my list of things to do in 2020.
  • Found more time to volunteer at the kids school – 2019 was hectic, so I didn’t get as involved as in previous years at the kids school. One of the things I always wanted to do but never found the time to do it. Ben Chartrand is a big inspiration for that – his tweets about his Code Club is always a delight to read!

I get by with a little help from my…

It is actually a lot of help, but you can’t mess with a classic like that, right? But anyway, there was no way I could achieve that much, in special with the travels and time invested in meetings, user groups and other events, without a bit supporting network. The list is much bigger than this one, but those for people/groups had the biggest impact on my achievements this year:

  • First and foremost my family! My wife and kids are not just proud of what I do for the community, they have my back 100%. They endure me away from home sometimes for almost two weeks in a row, travelling or taking time for sessions on weekends and having to organize my time around conference calls and other things. I am really blessed to have a family that understands how important giving back to your community is. Monica is my inspiration as a community leader with all the work she does as the leader of Brasileirinho NZ – a community group that keeps Brazilian language and culture alive for the families of ex-pats living in NZ.
  • But I wouldn’t go too far without support from work. Thankfully, giving back to community is a core part of Theta’s DNA, so they also support me on my sometimes “globetrotting” agenda. A special thanks to Andrew Taylor, my manager – he is the guy that always have my back even when it is a hard ask.
  • My partner in travels Tharanga! We’ve traveled a lot again this year and presented some amazing sessions going as far as Vienna to present for the first time on Directions EMEA! Co-present is a unique experience and seems like we starting to get quite comfortable with that. Thanks mate!
  • Last but not least The MVP Award program and in special Shiva Ford, our Community Program Manager, which always push us to be not just great technology experts but also good role models and community leaders.

In Summary

This year was crazy busy! I am quite proud of what I’ve achieved in 2019, but I set a lot of goals at the beginning of the year that I was not able to work on. So this post was a good chance to put everything in perspective and make sure that I don’t lose sight of those goals.

But most important was a way to acknowledge publicly all the support network I have that allows me to do all this community work. To them, my heartfelt “Thank you!”.

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:

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”

Automating API Management CI/CD with APIM DevOps Resource Kit

Hey everyone! It’s been a while right? The only thing I have to say in my defense is that the last 5 months have been crazy with travel, presentations and lots of work, so I couldn’t get myself to create a good blog post. But enough of excuses already… Remember the “lots of work” part? That involved working with different clients, and a common theme among many of those clients was the implementation of a centralized API layer, tho expose the back services they were creating. That meant that I had to find a good way to automate the publishing of the APIs created in API Management across the different environments. Previously, I’ve relied on the fantastic work that Mattias Logdberg did with the API Management ARM Template Creator (which is also worth a look). But now that Microsoft had some official guidance for that extraction, I decided to have a go with it.

Continue reading “Automating API Management CI/CD with APIM DevOps Resource Kit”

Looking back on 2018

It is the night of the first day of 2019. After 10 days camping and a whole day yesterday organizing the house, I was keen on a quiet night instead of partying on New Year’s Eve.

So the kids went to bed and me and my wife were just waiting to see the new year starting, I’ve thought that was a good time to reflect back on my achievements of 2018 and say thanks to a big supporting network that made them possible. That’s how this post started, in the last day of the year…

Continue reading “Looking back on 2018”

Logic App Trigger Conditions

During December’s episode of Integration Downunder, Alessandro Moura showed a recap of the main features that announced for Logic Apps throughout the year. If you didn’t watch it on the day, you should take a look at the webcast.

One of the features that caught my attention, which I haven’t seen before, was the trigger condition. The ability to only fire a logic app if the condition is met. This is great for scenarios where you don’t have control over the event which triggers the logic app (like for example Dynamics 365 triggers, which only allow you to execute a logic app when a record for a given entity has been created or updated), but don’t want to implement the checks within the logic apps itself.

Continue reading “Logic App Trigger Conditions”