Skip to main content


Showing posts from 2019

Should I use Logic Apps or Azure Functions?

There are multiple ways to resolve the same business problems using Azure Services. Numerous times I was involved in a discussion where Azure Logic Apps and Azure Functions were put side by side.
In this post I would like to build another perspective of these two Azure services and when we shall use one or another, taking into account our functional needs and expectations. Service Overview Azure Logic Apps allows us to build workflows that are runnings as a service inside Azure, that can scale automatically and can be integrated with a high number of services from Azure or on-premises systems. Azure Functions are the serverless offer from Microsoft that are highly scalable, well integrated and ready to respond to our future need. Why is it hard to decide? A part of the functionality offered by these two services overlaps or are similar. Decided on what business scenarios we shall use one or another it is not easy. Besides this, both services are so well integrated, that you have the fee…

[Post Event] Azure Developer Bootcamp, Bucharest 2019

This week I had the opportunity to be invited by Microsoft to be a speaker and trainer at Azure Developer Bootcamp, that took place in Bucharest. I was impressed to meet more than 300 developers that were interested in discovering the microservices ecosystem of Azure.

During the event, I delivered a session about fundamentals of Azure Kuberntes Services and a 3 hours workshop where together with the attendees we deployed a Node.JS application with a MongoDB database inside AKS. It was impressive to see that more than 80 people were interested in joining my workshop.

[Post Event] Global Azure Bootcamp 2019, Cluj-Napoca

This week ITCamp Community organized a new edition of Global Azure Bootcamp. We decided to run in on April 17th, because the official date April 27th would be to close to the Orthodox Easter and the Catholic one is on April 20th.
Nevertheless, even if the format was different because it was a working day, more than 35 people joined the event and wanted to discover the Visions features that Cognitive Services are offering. Besides this, together with Florin, we wrote, deployed and integrate an Azure Functions in less than 45 minutes. It was the best way to show to people how easy we can define and run serverless functions inside Azure.
Below you can find the content from the event. See you next year!

6:00 PM–6:15 PM – Registration6:15 PM–7:00 PM – Going behind images: A dive into Computer Vision API (Claudiu Mera)7:00 PM–7:15 PM – Break7:15 PM–8:15 PM – From Azure Function to production (Florin Loghiade & Radu Vunvulea)8:15 PM–9:00 PM – NetworkingSlides:

From azure function to …

[Post Event] Serverless OR Microservices | Codecamp Cluj, 2019

This weekend we had another great Codecamp in Cluj-Napoca. With ten tracks in parallel and hundreds of attendees,  this even impresses me each time from the size perspective.
From the figures perspective, Codecamp Cluj looks as following:

20+ sponsors60+ talks60+ speakers10 tracks in parallel1500+ participants registered
I was invited to talk about Microservices and Serverless. You can find below my session slides and an article that I wrote it a few days ago.

Serverless Functions OR Microservices from Radu Vunvulea


Microservices and Serverless Computing | Pros and Cons

All of us heard about the success of Netflix, Uber or eBay. All these companies went on an approach based on falt tolerance system developed on top of microservices and serverless computing. Nowadays people are trying to replicate their success and build systems that take advantage of this new way of designing software solutions.
The complexity of a system that is built now in comparison with systems that were built 10 or 20 years ago is different. The complexity is not only higher, but also the NFRs and SLA are tighter. The expectation from the customers is availability that goes as close as possible to 100% with less money and smaller teams. It can be achieved only with the new paradigm of software development on top of microservices and serverless approach.
We are in the moment in time when architects and technical leads are realising the advantages that serverless and microservices approach brings. They are trying to adopt as fast as possible the new ways of designing applicati…

Different ways of buying Azure Services (Pay-As-You-Go, EA, Direct CSP, Indirect CSP)

How do you buy Azure Services?
This simple question it's tricky in most of the cases. For many companies, it is not clear how they buy Azure Services, what kind of provider they are using.
Additional to this, they don't know what the difference between different ways of buying resources and which one is more suitable for their needs is.
Let's take a look at the 4 different ways on how we can buy Azure Services and try to identify the pros and cons of each option.

Direct from Microsoft
You can buy Azure Services directly from Microsoft. It means that the invoice is generated directly by Microsoft, and any issues that you have will be handled directly with them. This provides you with a clear process related to how tickets and incidents are handled and a direct link to Microsoft support. Even so, because you interact with support, they might ask you initially some dummy questions that help them to understand better your business and technical problem.
Besides this, Microsoft …

[Post Event] Visual Studio 2019 Launch Event

On April 2nd, 2019 Microsoft launched the new version of Visual Studio - VS 2019. In Cluj-Napoca, we organised a special event party where we broadcasted the event. Additional to this, we had 3 sessions where we presented the new features of VS 2019.
The sessions were focused on code review, remote debugging and writing code with the support of AI - Intelli Code.
I had the opportunity to talk about Visual Studio IntelliCode, a smart way how the IDE can learn about your code and the way how you write code. Using this information, the IDE can provide you with better recommendations related to what method you shall use taking into account the context.

Event summary:
What we'll do! Visual Studio 2019 Launch Party!
April 2nd, 2019
Visual Studio 2019 is here! On April 2nd we will broadcast a full day of awesome Visual Studio 2019 technical content to celebrate the launch and get you up to speed with all the new features.
Local agenda:

18:00 - 18:50 - Keyno…

[Post Event] Brasov Meetup

Last week I was invited by a local IT community from Brașov to their event. It was such a great experience, meeting people full of energy and enthusiasm.
The number of attendees was impressive, more than 180 people decided to join the event on a Thursday afternoon. The main topic of the event was Azure and Cloud. Together with the other 2 speakers (& friends), we talked about Microsoft Azure and AI. Congratulation @IonutBalan for the great event, you rock!
I delivered a session about messaging patterns for microservices solutions and things that you need to consider when you want to use a messaging/event based system inside the cloud with Kubernetes.
You can find below my slides. See you next time, Brasov!!!

Demystifying messaging communication Patterns | Radu Vunvulea 2019 Cluj-Napoca from Radu Vunvulea

Improving the network topology and on-premises VPN inside Azure using Gateway Transit at VNET level

In this post, we tackle a common issue that you can have when you use Azure VNET inside your organisation. When you have an Azure environment that grows organic every few weeks with new business applications and systems that you migrate from on-premises to the cloud, there is an all the time risk to end up with a wrong infrastructure topology.
The lack of best practices, templates and strategy can end up with a topology like this.

At first glance, things might not look so bad. Even so, if w analyse how things are done, we will notify easily that we have 8 different VPN gateways used for VNET-to-VNET communication (peering). Additional to this there are two different S2S VPN connection that needs to be managed from on-premises to be able to communicate with 2 different VNETs.
Things might be optimised a little. Even so, if we want to add a layer of security and control on top of it, we would realise that the current topology is hard to maintain and manage. UDR (User Defined Rou…

15 Questions related to Azure Cost Management and Azure billing

1. Is Azure Cost Management an excellent way to obtain billing information for my customer?
Inside Azure Cost Management you can see the current costs and different patterns related to consumption. Can be used to create a high-level idea about the billing value, but some things are not included inside the Azure Cost Management at this moment.

2. What costs are not yet included inside Azure Cost Management?
You will not be able to find costs related to supporting, reservation purchases and taxes. It might change in the future, but for now, they are not included. Additional to this Marketplace purchases, Support costs, Taxes and Credits cannot be found inside Azure Cost Management.

3. What are the costs that are included inside Azure Cost Management?
The most important categories are Azure Service usage and Marketplace offering usage. Be careful that the Reservation purchases are not yet included.

4. Can I export information from Azure Cost Management?
Using the APIs, you can export and in…

10 Questions related to Cloudyn and Azure billing

Working and managing billing and costs information using Cloudyn can be sometimes misleading.
You can find below a few tips and tricks related to Cloudyn and Azure that can be useful.
Remarks: Please take into account that information is valid for March 2019 can become absolutes in the future if any changes appear.

Tips and Tricks:
1. Can I have multiple Azure accounts under the same Cloudyn console?
Yes, you can have. I was not able to find a limit of no. of Azure accounts that you can have under the same Cloudyn console.

2. Can I have CSP accounts and EA under the same Cloudyn console?
Yes, you can. You can have multiple accounts of different types. You are not limited to have only one kind of Azure account under the Cloudyn console.

3. Can I have AWS and Azure accounts under the same Cloudyn console?
Yes, you can have both types of accounts under the same Cloudyn console.

4. Can I have Google Cloud Platform under the same Cloudyn console?
Yes, you can.

4. After how long I can see data in…

[Post Event] ApexVox Cluj-Napoca, 2019

On March 2th, 2019, the first edition of ApexVox conference took place in Cluj-Napoca. It was an interesting experience because it is an event dedicated to .NET developers and .NET stack.
The one-day event, gather 12 speakers from Romania and Europe that talk about different topics related to .NET stack. I was impressed that more than 150 people attended the event and were interested to discover what .NET stack and Microsoft prepare for them. I hope that in the future we will be able to see more events organized by ApexVox for .NET developers.

I had the opportunity to deliver a session where I talked about the message and event-based communication on top of Kubernetes when you write .NET services. You can find below the slides and a few pictures from the event.

Demystifying messaging communication patterns
Kubernetes together with microservice architecture provides perfect support for the new generation of a software solution. Even so, Kubernetes clusters need no be abl…

How to run Azure Functions on AWS and on-premises

Nowadays cloud and hybrid cloud solutions are highly demanded by companies. In this post, we will talk about a technical solution for business logic that it’s supported by multiple clouds provides and can run on-premises without any kind of issues.
The requirements for the given scenario is the following:
We need to be able to expose an API that can execute tasks that runs for 2-5 minutes each in parallel. The native platform shall be Microsoft Azure, but it should be able to run on dedicated hardware in specific countries like China and Russia. With minimal effort, it should be able to run on the AWS platform.

The current team that we had available was a .NET Core team, with good skills on ASP.NET. There are numerous services available on Azure that can run in different environments also. The most attractive ones are the ones on top of Kubernetes and microservices.
Even so, we decided to do things a little different. We had to take into considerations that an autoscaling functionalit…

How to access Power BI resources from client application (first and third party embedding)

In this post, we will talk about different ways on how we can authenticate and authorize our applications to access our Power BI Reports. Things become a little bit confusing because there are reports that can be owned by the users that access them or by another user. Additional to this there are cases when the users own the report, but not the data that are displayed.
Before jumping to the solution, we need to understand a few concepts related to how Power BI works when you use embedded functionality. The basic idea of Power BI embedded functionality is the ability to integrate an IFRAME inside your application. Inside the IFRAME we can display any content we want from reports to dashboards.
The IFRAME content is loaded directly from Power BI services using an URL and a security token. The security token can be obtained from Azure AD thought your application.
This involves two steps for authentication. The first step is happening when you call directly or indirectly the Azure AD to o…

Events and Message based system comparison

I heard very often discussion related to messaging and event systems. People are trying to compare them and decide on one solution that suits all their needs on a platform. Comparison of an Enterprise Service Bus (ESB) and an Event base messaging system it’s wrong from the beginning.

Even if both solutions are great, they resolve different problems that we might have on a platform. ESB and Events are able to transport data between two or multiple systems, but this is where the similarities end. From the way how they are design, core features and what we can achieve with each of them, we will notify that their capabilities are limited and they don’t compete between each other.

As we will discover, later on, a complex solution might need to use both approaches to offer a consistent and competitive solution.
To be able to give hands-on examples, we will use for comparison two services that Microsoft Azure is offering.

Azure Service Bus – an ESB solution hosted inside Microsoft Azure, that…