I had a great time presenting at the Microsoft Technology Center a few weekends ago in Manhatten covering Azure Functions and Azure Logic Apps as part of the Global Integration Bootcamp!
We had a great group of presenters and an even better group of participants.
If you are interested in the slides and lab for the session, you can download them below. The topics covered are Azure Logic Apps, Azure Functions, and Azure Storage,
Download Slides: Logic App Cloud Adapters, Functions, and Storage
Download Lab: Lab – Logic App Cloud Adapters, Functions, and Storage
Notes for the lab: You need a hosted email account (Gmail, Outlook, Office 365, etc) and a trail Twilio account (this can be skipped if you don’t want to receive a text)
Well, Empowering Hybrid Integration segment is online since January 30, 2017, but only now I realize that… During the MVP Global Summit, and taking the opportunity of having most of the Integration MVPs gathered at the event, Microsoft Pro Integration team tends to invite the MVPs to create short videos – 8 to 10 minutes videos – about Integration (on-premise or in the cloud). It happened in previous editions of the Summit and it happened in the last edition in which they invite us to talk about Hybrid Integration that includes BizTalk Server, Azure Logic Apps, Azure API Management and Azure Service Bus.
For several reasons, I never had the chance to accept the challenge in the past, but last year I was able to accept the invitation to speak and record at the “famous” Microsoft Building 20, building that is the home of Channel 9 studio …
… and make a short talk about Hybrid Integration using Service Bus Queues, BizTalk Server, Dynamic CRM, SQL Server, Logic Apps and File.
Has I told in a previous post of my blog, that was my first experience, and I have to confess, I was a little nervous to be recording in a small professional studio, so as expected after seeing the record in its raw state, the end result could have been better, but, fortunately for you guys I was able to edit the video and remove some breaks/delays between switching from my presentation slides to my screen. Nevertheless, for a first experience, it went pretty well and I am happy with the result. The important for me is to face new challenges, different situations, leave my comfort zone and improve to be better next time.
The result is this 8 minutes video on Empowering Hybrid Integration where you can learn how you can create powerful hybrid integration solutions using existing on-premises and cloud based solutions.
Fortunately, I had the company of my good friend Kent Weare in this small “adventure”:
You can also watch his session about “Protecting Azure Logic Apps using Azure API Management”. In this video, you can learn how to use Azure API Management to protect your Logic Apps.
You can watch more sessions regarding Microsoft’s Hybrid Integration Platform on Channel 9 here.
In the last period, I invested time in something that I think is one of the most important aspect in the integration space, the perception.
During my last events I start introducing this topic and I’m going to add a lot more in the next future.
In Belgium, during the BTUG.be, I shown my point of view about open patterns and in London, during the GIB, I presented how I approach to the technology and how I like to use it, I’ve been surprised by how many people enjoyed my sharing.
The Microsoft stack is full of interesting options, in the on premise and Azure cloud space, people like to understand more about how to combine them and how to use them in the most profitable way.
In my opinion, the perception we have about a technology is the key and not the technology itself and this is not just about the technology but this is something related about everything in our life.
We can learn how to develop using any specific technology stack quite easily but it is more complicate to get the best perception of it.
I like to use my great passion for skateboarding to better explain this concept, a skateboard is one of the most simple object we can find, just a board with 4 wheels and a couple of trucks.
It is amazing seeing how people use the same object in so many different ways, like vert ramps, freestyle, downhill or street and how many different combinations of styles in each discipline and each skater has an own style as well.
Same thing needs to be done for the technology, I normally consider 4 main areas, BizTalk Server, Microsoft Azure, Microsoft .Net or SQL and the main open source stack.
I don’t like to be focused about using a single technology stack and I don’t think is correct using a single technology stack to solve a problem.
For instance, BizTalk Server is an amazing platform full of features and able to cover any type of integration requirement and looking to the BizTalk architecture we can find a lot interesting considerations.
The slide below is a very famous slide used in millions of presentations.
Most of the people look at BizTalk Server as a single box with receive ports, hosts, orchestrations, adapters, pipelines and so on.
When I look to BizTalk Server I see a lot of different technology stacks to use, to combine together and to use with other stacks as well.
I can change any BizTalk Server behaviour and I can completely reinvent the platform as I want, I don’t see real limit on that and same thing with the Microsoft Azure stack.
Microsoft Azure offers thousands of options, the complicate aspect is the perception we have for any of these.
Many times our perception is influenced by the messages we received from the community or the companies, I normally like to approach without considering any specific message, I like to approach to any new technology stack like a kid approach to a new toy, I don’t have any preconception.
Today we face a lot of different challenges and one of the most interesting is the on premise integration.
The internal BizTalk architecture itself is a good guidance to use, we have any main concept like mediation, adaptation, transformation, resilience, tracking and so on.
If we split the architecture in two different on premise areas we open many points of discussion, how to solve a scenario like that today?
Below is the same architecture but using any technology stack available, during the GIB I shown some real cases and sample about that.
I also like to consider event driven integration and in that case GrabCaster is a fantastic option.
My next closets event will be TUGAIT in Portugal, TUGAIT is the most important community event organized in Portugal, last year I had the privilege to be there and it was an amazing experience.
3 days of technical sessions and covering any technology stack, integration, development, database, IT, CRM and more.
Many people attend TUGAIT from any part of the Europe, I strongly recommend to be there, nice event and great experience.
Today I’m going to write about a different topic, we can say that is related to technology but not exactly a technical blog post. And no, I’m not feeling special (I’m always feeling special but in different contexts), proud and honored today because it’s my birthday.
January 1st, 2011, will always be a special day for me, it was the day I had the honor of being awarded Microsoft Most Value Professional (MVP) for the first time which was an unexpected good surprise. This is my 7th straight year on the MVP Program and since the first day, it has been a delighted journey and experience. I was the first and for many years the only MVP at my company DevScope but, contrary to what many people might think, is was not for that reason also that I could feel special. I’m feeling special for somehow, directly or indirectly, being able to help to grow the spirit of community collaboration, a little more (because it always existed), internally at the company and sometimes, maybe, by serving as a mentor, a role model or an inspiration to others. But especially by encouraging and helping everyone to start contributing and share their knowledge with the communities, often challenged them to collaborate with me on small projects.
I’m feeling special, proud and honored today to be part of a company who after all these years still keeps their main core identities, with a focus on cutting-edge technology, early adopter in most cases, focus on innovation and helping with the needs of our clients, but without losing the focus on the people, helping them to grow personal and professional. I’m feeling special, proud and honored today because I can say that I work with a team of amazing professionals and special to be able to realize that we already have 3 MVPs at DevScope, one former MVP and one Microsoft Regional Director (there are not many companies worldwide that can boast on these facts).
I’m feeling special, proud and honored today, not also for working with such hard working and talented team, but also, for being able to realize that new talents are being formed.
… but let’s also be fair, I way also feeling special, proud and honored today because it is my birthday and I have an amazing family, an amazing job and the best friends in the world!
Do you feel difficult to keep up to date on all the frequent updates and announcements in the Microsoft Integration platform?
Integration weekly update can be your solution. It’s a weekly update on the topics related to Integration – enterprise integration, robust & scalable messaging capabilities and Citizen Integration capabilities empowered by Microsoft platform to deliver value to the business.
If you want to receive these updates weekly, then don’t forget to Subscribe!
Cloud and Hybrid Integration:
Hope this would be helpful. Please feel free to let me know your feedback on the Integration weekly series.
NZ daylight saving time ends at 3a.m today (2/3/2017) ends. To celebrate this I am going to share a string datetime functoid that I have used for many years.
A common task when mapping one message to another is transforming a date e.g. 1/3/17 15:30 to 2017-03-01T15:30+13:00. Many years ago I was reviewing some maps in a BizTalk solution and discovered that just about every map was using different C# code in a C# scripting functoid to transform between date formats. I decided to create a functoid that would convert any string that was a valid date to any other date format. The two objectives were to make sure that all date format changes were consistent and it was easy to use.
Here is are some maps that show cases the StringDateTime functoid. In this case the UTC date 2017-02-25T08:18:48.000Z is transformed to 25/02/2017 21:18
Note in the example above that the time is incremented by 13 hours because on the 25/2 NZ is on daylight saving and is UTC+13.
The code that does the work is shown below.
You can download the class file, bit map and resource file from here
if you want to create the functoid yourself. Please see one of Sandro Pereira’s posts
if you need any help to create it.
In summary this BizTalk functoid gives consistency to the way dates are formatted and is easy to use. All you need to enter is the either a standard date format or a custom date format.
Modern enterprise IT is hybrid and relies on data from on-premises and the cloud. At the core of Microsoft’s Hybrid Integration Platform, we have BizTalk Server which handles all your on-premises integration scenarios and Logic Apps, which takes care of all the cloud integrations leveraging Azure Services.
BizTalk 360 already provides a comprehensive monitoring solution for your Hybrid Integrations from version 8.3 which introduced Logic Apps State monitoring.
We are excited to announce the addition of Logic Apps Metrics monitoring capabilities to our forthcoming 8.4 release (expected: Apr 2017).
With this release, you will be able to monitor your logic apps using all the available metrics that are provided in the Azure Portal.
Setting Data Monitoring for Logic Apps metrics
The new Logic Apps monitoring capability is just an extension to our already existing data monitoring functionality. You can find the newly added tab for the Logic Apps under the Data Monitoring module.
Click the Add New button to add a new monitor for the Logic Apps. A new Logic Apps Monitor setup window will appear. We can see that all the Logic Apps related settings are grouped under “SET DATA FILTER” section in the below image.
Select the subscription from the list of subscriptions that you have configured in BizTalk 360. Please check this Assist article if you want to know how to add Azure subscriptions in BizTalk360.
Once the subscription is selected BizTalk360 will display all the Logic Apps that are available in that selected subscription. Finally select the metric that you want to monitor.
Once you set the data filter you can specify the notification condition which BizTalk360 will use to send alerts for each violation as shown below.
Note: Azure metrics can have different units based on the metric type so metrics like Action Latency will have milliseconds as the unit type. In those cases, the threshold condition must be set based on the selected metric.
Save the Logic Apps monitoring schedule. BizTalk360 Monitor service will pick up the new monitor configuration and customers will start receiving the email notifications or any other notification channels based on the Alarm configuration.
You can also view the monitoring results in the Data Monitoring Dashboard as shown in the below image.
Click an alert item to view the details.
We hope this new capability will enhance the monitoring use case for all our customers having Hybrid Integration scenarios. If you have any feedback, please write to firstname.lastname@example.org.
Windows Azure Logic Apps now have support for variables inside a logic app!
In order to use them, just search for Variables inside the Add Action dialog box.
You have two options: one to initialize a variable and one to increment a variable.
Currently, Variables support Integer and Float variable types as shown in the image below. But with all things Logic Apps, this could change later on.
You can also use Math Functions when assigning and incrementing variables.
An example of this is using the Add internal function to add 5 to another existing variable. This would look like this:
You access a variable inside JSON like
One interesting point to note if that you can not use the output of a variable as the increment for the same variable.
You will get this error when you try to save the Logic App:
Failed to save logic app TestVariables. The inputs of workflow run action ‘Increment_variable’ of type ‘IncrementVariable’ are not valid. Self reference is not supported when updating the value of variable ‘Increment_variable’.
What would you like to see next for variables in Azure Logic Apps?
- More data types?
- Cross Logic App variable support?
- Ability to create more than one variable at a time?
- More options than just increment and create?
Finally, BizTalk Server Databases: Disaster Recovery, Troubleshooting and Best Practices whitepaper is published! I think this was my crazy project ever because I started during an MVP Summit, probably in 2013 with a very basic whitepaper of 7 pages about Disaster Recovery and my initial reviewer was Tord Glad Nordahl… for some reason I never finished or published the content and last year again during the MVP Summit I revived this idea and basically annoyed all the MVPs that were next to me that day to review the initial document again… bad idea for me because, probably to get revenge on me, they were the most demanding reviewers that I ever had, always asking for more content making, therefore, the whitepaper more complete. So, what was a 7-pages whitepaper becomes a 34-pages whitepaper.
What to expect about BizTalk Server Databases: Disaster Recovery, Troubleshooting and Best Practices whitepaper
Microsoft BizTalk Server databases and the health of the databases are very important for a successful BizTalk Server messaging environment. BizTalk Server is an extremely database-intensive platform, persisting data to disk with high frequency, and one of the main reasons for that is because one of the primary design goals of BizTalk Server is to ensure that no messages are lost. Therefore, database performance is paramount to the overall performance of any BizTalk Server solution.
There are many factors that you need to take into consideration towards troubleshooting, maintaining, monitoring or recovering from disasters. This paper will provide you some important aspects to consider when working with BizTalk Server databases and addressing the most common and important aspects:
- Size of databases and tables: performance degrades on High Size of BizTalk databases
- Important consideration to avoid large BizTalk Databases
- Separation of data files and log files (SQL Server disk I/O contention)
- Important consideration BizTalk SQL Settings
- Available tools for monitoring and troubleshooting
- Recovering from disasters situations (Clean up your BizTalk databases)
However, the content is very valuable with regards to even preventing a disaster or limit the probability of it. After reading this paper you should be prepared for any disaster but also to preventing for happening because be able to prevent is better than resolving.
Where I can download it
You can download the whitepaper here:
BizTalk Server Databases: Disaster Recovery, Troubleshooting and Best Practices (1.14 MB)
I would like to take this opportunity also to say thanks to my amazing reviewers: Steef-Jan Wiggers, Nino Crudele, Kent Weare, Mikael Hakansson and Salvatore Pellitteri for taking the time to review this whitepaper. And other people that were involved in making this “project” came true like Tord Glad Nordahl, Lex Hegt, Saravana Kumar and Sriram Hariharan.
I hope you enjoy reading this paper and any comments or suggestions are welcome.
March, the last month of Q1 in 2017, a month filled with exciting integration focussed events. After my trip down under I continued my talks at the Integration Monday, SDN Event, my colleagues at Macaw, and the long awaited Global Integration Bootcamp. The latter was a result of months of preparations, and work on labs, meetings and conversations on slack.
In this month, I wrote a few guest blogs for BizTalk360 blog, which will be published in the next months along with an eBook containing all the labs, we (Eldert, Rob, Tomasso and myself) have created for the Global Integration Bootcamp. The eBook contains the hands on labs for API Management, On premise data gateway, Service Bus, Logic Apps, IoT Hub, Stream Analytics and Event Hub. Basically with this labs, you will touch all the services and products that deal with integration.
Any reading this month, to be frank not so much. I read a lot of new papers, magazines and blogs. However, I do like to mention a new book that has been released on the market about integration that is worth to buy and read: Robust Cloud Integration with Azure.
My favorite albums that were released in March were:
- Obituary – Obituary
- Memoriam – For the Fallen
- Pallbearer – Heartless
- Junius – Eternal Rituals for The Accretion Of Light
- Sleepmakeswaves – Made of Breath Only
- Moonloop – Devocean
- Mastodon – Emperor of Sand
In March I did a couple of runs, including a few half marathons, one being the CPC in The Hague wearing a BizTalk360 running shirt.
There you have it Stef’s third Monthly Update and I can look back again with great satisfaction. The Global Integration Bootcamp was a success, which you can read in my previous blog post of this month. I’m looking forward to my trip to Sweden in April and running the full Marathon in Rotterdam on the 9th of April.