Looking Back at 2019

Published by Mika Berglund on

Happy New Year

We’re soon switching over to the year 2020, and I’d like to do a short recap of 2019. In fact, I’d like to go a bit further back, about 2,5 years, when I started working for Sininen Meteoriitti back in August 2017. What a time it has been! I truly have enjoyed almost every single day. Of course you will always come across shitty days, but that’s a good thing. They give you a much better contrast to the remarkable, wonderful days. And I must say I have not had that many shitty days during this 2,5 years. I don’t even remember when the last one was. Thank you to all my colleagues for who you are! I really enjoy working with you!

A big thank you goes of course to our customers too for putting your trust in us. Because trust is what is required when you are running on the bleeding edge, when there’s not yet that much to show for. You can read a lot about these references on our website (in Finnish unfortunately).

Moving to the Cloud

All of the customers I’ve been working with are really moving their business systems to the cloud. And they mean business (pun intended). Building more and more business critical systems in the cloud has become mainstream. Building applications and business systems in Microsoft Azure and Microsoft 365 does not make you a forerunner anymore. You are mainstream. But that’s a good thing mostly. At least you will have a lot of peers to learn from.

One thing I’ve noticed during the past few years is the rise of cloud-based systems integration. Previously, companies tended to cater to their integration needs with products like BizTalk that offered enough “enterprisyness” in both price tag and complexity. I’m delighted to see that services like Azure Data Factory, Azure Service Bus, Azure Functions & Durable Functions, Logic Apps and Azure Storage have gained popularity and credibility also for the most demanding enterprise-level (whatever that means) integration purposes.

Improvements to Azure Services

Looking at the services in Azure, not just the ones mentioned above, there has been a huge amount of improvements and updates that make these services so much more useful. It is just impossible to go through all of the improvements that I think deserve mentioning. There are however some that stand out a bit or come to mind.

Azure Cosmos DB

I must say I’m an Azure Cosmos DB fan boy! It’s one of those services that has been evolving quite a lot. One key improvement in my mind is the fact that Microsoft decided to deprecate fixed containers. I think fixed containers should have never been made available. They just encourage you to create applications that scale poorly, because it is so much easier to create a fixed container than a partitioned one.

Another cool improvement to Cosmos DB was that Microsoft decided to lower the minimum throughput in databases with shared throughput. After that improvement, there’s one less cost impact driven architectural decision you have to make. You can read more about shared throughput on my blog article Things You Need to Know Before Building Applications With Azure Cosmos DB.

Azure AD B2C

One more thing I’d like to mention is the pricing change for Azure AD B2C. Previously, the pricing was based on the number of issued tokens / month. This made it very hard to guesstimate the cost for using the service. However, Microsoft changed this to a monthly active user based model. Now, you only pay for the number of users who have been active during a month, which is much easier to get an estimate for. And if you have less than 50 000 users, the service is free of charge, regardless of how many times your users log in. In my opinion, this is really the last obstacle for using Azure AD B2C for more or less any kind of application. For applications that you create for organization users, you would still use Azure AD and Azure AD B2B.

Read more about Azure AD B2C pricing here.

Azure Key Vault

Key Vault is a service that protects your most sensitive data. You really should be using it for storing connection strings and passwords and similar pieces of information. Previously, it was a bit tricky to access Key Vault and read that information. This turned many developers, me included, to just store sensitive data in the application’s configuration.

With Key Vault References, you can write your application just as you would store the sensitive stuff in the application’s configuration information too, but actually have the sensitive stuff stored and protected by Key Vault. Your application does not even know that the data is stored in Key Vault, so for instance local debugging works without Key Vault.

I wrote an article about storing your configuration settings in Key Vault and referencing them with Key Vault References, so be sure to check that article out.

With Key Vault References, there really are no excuses left not to protect your sensitive configuration information with Key Vault.

Updates to Other Azure Services

The Azure Heat Map is a pretty interesting application that shows a heat map of the various Azure services, and emphasizes that have received the most updates. Check it out!

Technology Updates

In addition to services in Azure, there has of course been a lot of technology updates that are not directly Azure services. One such thing that I’m pretty excited about is Blazor. Blazor was introduced with ASP.NET Core 3.0.

Naturally, ASP.NET Core 3.0 shipped with a multitude of improvements and new features, but Blazor will most certainly enable whole new kinds of applications. Especially, when Blazor WebAssembly will be released in May 2020. Blazor WebAssembly enables you to write applications that completely run on the client in a browser, but using only C# and not a single line of JavaScript. With Blazor WebAssembly you will be able to create applications like PWAs, native mobile applications and even desktop applications. And all of this in a cross-platform fashion. The same application can be running both on an iPhone and a Windows desktop. Gunnar Peipman has a pretty good and compact Blazor roadmap on his blog. Be sure to check that out too. I can’t wait to see what the future will bring for Blazor.

I also started an open source project, Blazor Bootstrap. That’s a component library that exposes the UI components defined in Bootstrap as components that you can use in any Blazor application. If you’re interested, be sure to check out the Wiki for the project on GitHub. Remember to have a look at my other Blazor articles too.

What 2020 will Offer

There’s so much to look forward to in 2020. One thing that is pretty sure is that the Azure services will evolve and introduce a myriad of improvements and new features. There’s no particular service that I would single out though. The ones I’ve mentioned in this article will probably stay on my focus list also in 2020.

I’m also very eagerly looking forward to see what Blazor WebAssembly will bring to the table. In a way, that is a game changer, since it allows us to write applications in a completely different way. Instead of just being yet another JavaScript framework, it completely frees you from JavaScript. Yes, JavaScript will still be the foundation for all modern web applications, no doubt. But the fact that there are a lot of technologies like TypeScript and CoffeeScript just prove my point. Developers don’t generally want to write plain old JavaScript, but look for a more productive option. And Blazor WebAssembly will most certainly provide a productive option. Just imagine what you could do when you could run more or less any .NET Standard library on Nuget in your client-only Blazor application. That’s productivity all right.

Content Production

I will also try to keep up my blogging and continue to put up helpful repositories on my GitHub account. Remember to click that Follow button to stay up to date. Also remember to subscribe to the RSS feed of my blog.

In 2018 I was pretty active on my YouTube channel too, but that died in early 2019. I still would like to regularly do videos about the stuff I write about here on my blog. There is no doubt in my mind that videos are super helpful when learning about new stuff. For the moment though, I always have to set up my setting every time I want to shoot a video, so it just seems like so much work. That’s probably why I haven’t been creating that many videos. I will have to try harder to come up with a setting that I don’t have to take down after every shoot. That has to be a setting that my family can live with too, which I guess is the hardest part 😉

So, I hope that through the content I produce I can share at least a little bit of the enthusiasm I feel for the stuff I write about. Please stick around and give me a comment every now and then.

Let’s have a very passionate, enthusiastic, productive and successful 2020!


Leave a Reply

Avatar placeholder

Your email address will not be published. Required fields are marked *