Welcome to indaField.com. I use this site to share my views on Microsoft Azure and cloud computing in general.

You can get to know me a little bit by reading the About Me.

If you need some help with cloud strategy & architecture, want to make use of my CTO-as-a-Service, or you have product management challenges in your software development team just contact me here.

Kind regards,

Gijs in ‘t Veld (in-the-field…. indaField)

Why blockchain will fail

It’s rather amazing what happened the last couple of years when it comes to blockchain. It all started with Bitcoin of course. At the time of writing this, the total market cap of Bitcoin is $1 trillion. When we look at Coinmarketcap today, there’s a total of more than 80 coins that have a market cap of more than $1 billion. and more than 360 coins that have a market cap of more than $100 million. Lots of fiat money is locked into these “projects”. Most of them basically being ponzi schemes, because the technology underneath those “projects” is mostly crap and the only ones making money are the ones that bought during the ICO (initial coin offering) or the ones that initiate “pump-and-dump” events. A new crypto sucker is born every day.

The whole idea behind Bitcoin and other blockchain based cryptos is “decentralization”. There’s no central organization responsible for how things are handled. Except of course when it comes to tokenomics (how many coins are there in circulation, how many can there be max and how many will be printed per period; the inflation) in most cases. When you look at most coins, there is no max number of coins. Which means inflation is potentially infinite. This is different from Bitcoin, which has a max number of 21 million. But what keeps evil people from just changing that? And what can you do about it?

As we all know by now, the “rareness” of coins is based on the difficulty of mining new coins. The way coins fluctuate (unlike the “stablecoins” like $usdc and $usdt) will make it very difficult for them to ever be used as digital money (except of course for buying a Tesla, according to Elon). Basically, people just gather them, hoping they will increase in value. Do you actually own a piece of the company behind the crypto? So, the case of the SEC against Ripple with regard to “is XRP a security?” is something to be watched carefully.

In the meantime bots rule the buying and selling of crypto. It’s such a coincidence that coins go up and down in groups. And lately we can even see that crypto moves along with stock markets. And because of all the derivatives, futures and all kinds of other “smart” products, including the “shorting” as we know it from traditional stock markets there’s really no way that the moving up or down does have anything to do with underlying fundamentals. It’s all FUD or hype.

And also in the meantime lots of cryptos, most notoriously $eth, are used as a platform by other cryptos and tokens and because the price of the “platform” coins goes up, transaction prices go through the roof. Basically making executing of transactions way more expensive than plain old credit card transactions.

The way I look at it is that just like with the gold rush in the last century, the only people really making money on crypto in a predictable and stable way are the “tool supplier” commercial exchanges such as Binance, FTX, Bitmex and quite some others.

But that’s all about crypto. How about the underlying blockchain technology, including the “smart contracts” running on them? When a smart contract fucks things up (because as a user I didn’t really understand it, or the “independent” auditor did a bad job auditing it) you are basically fucked. Nowhere you can turn to. That’s the downside of decentralization. Let’s say I want to borrow some $eth based on my $btc balance. And that I enter “90” in the number of days within which I will pay back. And the smart contract just automatically wires the $btc collateral to the other party after 80 days because I didn’t pay back yet? Nowhere I can turn to.

Of course there are more and more “governance” tokens that are implemented, that are basically used to democratically determine when and how things are implemented and executed. But we all know that democracy doesn’t always work well. If we’d held a referendum right now about getting rid of the Corona lockdown, it would problably pass with great majority. But would it be a good solution? And who guarantees how the things voted on are actually implemented? Lot’s of scams already exited. “Rug pull” has happened quite a lot lately. Gone are the coins, or at least gone down in value to (almost) zero.

And the blockchain itself? It’s just an energy consuming monster that replicates everything to every node. And it will not forget anything. And because they are so inefficient, lots of important data is in fact stored “outside” the blockchain, only the metadata is stored on the blockchain. That does not make sense at all. And how about GDPR / AVG? No one cares.

Apart from that there are issues with tokenization of digital assets, let alone “real-world” assets. The way we put things on the blockchain should also be certified. But how can you certify, without independent external auditors? For digital assets, the whole digital process for getting things on the blockchain should be 100% reliable. What if we log certain access to information on the blockchain, but we cannot guarantee identity? What if we log the the sale of a house or piece of land and we cannot digitally guarantee that the identity of the asset is correct? There are so many things that we still cannot digitally 100% prove. So, the same old “garbage in, garbage out” still applies, even on a blockchain.

Of course this is all about public blockchains. And I just don’t see use cases for consortium- or private blockchains.

Correct me if I’m wrong, but the current ways of thinking by the blockchain gurus is just plain stupid or at least misleading to the dumb folks (you and I) actually using it. I’ve read quite some “white papers” and “roadmaps” on lots of projects, and 99.9% are plain stupid and the other 0.1% forgot some important stuff that still “needs to be taken care of” but in fact they just cannot. We need a new ledger paradigm, including new ways of guaranteeing smart contract behavior AND we need 100% reliable tokenization and oracles. But is that actually possible, without third party (government controlled) institutions? I’m not sure. Maybe open source AI can help? But for now, I just don’t trust it at all. Decentralized or not. They are all just underworld casinos and the house always wins.

Don’t take yourself too seriously

A lot is going on in the world today. Through social media and news papers we get to see what happens on a daily or even hourly basis and it does not look good these days. Especially right now in the USA – a what we think rather evolved, western country – things are quickly escalating.

My take on all this is that we as humans take ourselves too seriously.

We’re just born into a family we have not chosen ourselves. Born in a country. With a certain “color”. In a family that lives in a certain “culture”. And which practices a certain “religion”. And has some hate issues because things happened to them or their ancestors in the past. When you are born, you don’t have the chance to choose any of this. It’s only until later, when, let’s say you are 14, 16 or 18, that you can actually start to think for yourself. But by then, the “damage” is already done. You’ve been taught certain morals. But mainly “group think”. Your own (is it, actually?) version of good and bad. Or, more accurate, the morals that the “culture” you have been brought up in thinks are good.

Very young people don’t have prejudice. It’s only when they are subject to peer pressure that they become prejudiced. It’s what is called “cattle behavior”. This cattle behavior can actually lead to millions of people following a certain “role model”. But such a role model can sometimes be quite evil. Presumably sane people can start following evil leaders just by pure peer pressure, which becomes even worse when the circumstances in which they are living are currently not that good. That’s how Hitler got big.

That’s why nurture has a much greater effect on humans than nature. You are not born a racist. Or a Christian. Or a Muslim. Or an anti-semitist. Or Buddhist. Or a white supremacist. There are no known genes that make you any of this. You are born into an environment that cultivates these morals. And it is very difficult to come up with your own ideas within such an environment. Your read the books and other publications your parents read. Or your priest or imam preaches. Or the guy with the biggest mouth in your neighborhood tells you to. Or a left- or right wing teacher teaches you to. How would you be able to sustain the peer pressure if you do not agree with any of this? How would you break out of this?

Taking someone from a certain situation into a completely other situation, let’s say by adoption, will have a great effect on that person. Just by putting a human in a completely different environment, that human will evolve into something completely different. Maybe even quite the opposite of what he or she was born into. Look at the evidence provided by identical twins that were separated after they were born and grew up in completely different environments.

The issue is: there is no right or wrong in culture or religion. If my parents would have been followers of the flying spaghetti monster, I would have had a passport now with a photo in it with me wearing a colander on my head. And it would all be fine. As long a I don’t take myself too seriously and I don’t bother other humans with my beliefs. A fact is that most people are atheists, because they don’t believe in 99% of the other officially recognized world religions.

If only humans would be able to not take themselves too seriously and not try to convert other humans, the world would be a much better place. But how will we accomplish this? I think by reading lots of books and other publications that open up your mind. Have discussions with people with other opinions. Weather you finally agree with them or not. Which makes you look at things from different angles. And by doing so become your own unique self. Just do not make the mistake to just thoughtlessly make other human’s ideas your own. You have to think for yourself! And of course get the opportunity to get secular education that actually teaches you to think for yourself. Education is not about learning other peoples opinions or beliefs, but learning how to learn! And in the end, even when you are 100% convinced of your own beliefs, don’t bother other people with it. Have discussions, of course, but don’t ever use violence or other oppressive methods to “teach” others your beliefs.

The case for true identity providers

One of the biggest problems in the digital world is that people can do stuff anonymously. Especially for large public networks such as Facebook, Twitter and Instagram this is a huge problem. People cannot be held accountable for the sometimes very bad actions they take.

On some networks, you have to provide your true identity. The identity is checked by means of passport, credit card, mugshot and other means. This is mostly only done on financial networks such as banks and brokerage systems.

What if we would just ban all identity providers who can’t prove true identity? Which can’t be traced back to a real person or legal entity?

The technology and legal bodies are available.

If all important digital networks would just only accept users with real identities (backed by either an open source initiative or governments) the world would be a much better place.

The end of monolithic platforms

With the rise of functionally rich PaaS services delivered by the so called cloud mega vendors such as Microsoft, quite a lot has changed. First of all, it has resulted in confusion in the market, but right now we can see that organizations are really starting to understand the philosophy and embracing it.

Think in services

Especially in the early days it was difficult to understand for both consumers as suppliers of cloud services. For data- and integration products it was the hardest to grasp. In yesteryears, it was quite easy for organizations with a Microsoft-unless policy: if you wanted a solution for data you got SQL Server and if you wanted a solution for integration you got BizTalk Server. Very easy to compare features between those products provided by Microsoft and other vendors such as Oracle or IBM. Work through a checklist, score and choose.

Nowadays, these kind of data- and integration functionalities are no longer delivered by products but by a set of cloud services. This has at first resulted in great confusion. What do we compare with what? Especially when comparing a set of cloud services on the one hand and a monolithic platform on the other.

Say goodbye to platform “products”

Even for Microsoft this was difficult. Because on the one hand there is a very powerful message because Microsoft Azure provides all building blocks to build a mature integration platform, but on the other hand Microsoft has to compete with some pure-play vendors that provide monolithic productds. Products that are very good at one thing. And in which the various components are 1:1 dependent on eachother. Microsoft also provided one of those products: BizTalk Server. A fantastic integration product, but monolothical and not very service oriented. The processes in such a product are designed beforehand and therefore “baked-in”. And therefore not very flexible.

However, we saw that competing with the pure-plays was (and still is) not easy. At one moment in 2018, Microsoft chose to rebrand and bundle the services in Azure that are needed to build an integration layer to “Azure Integration Services”. The same happened to “IoT Suite” for example. Of course this was done to make it easier for potential customers to make product comparisons. But personally, I thought this was an admission of weakness by Microsoft. It basically does not make sense at all. It is simply the power of the platform to provide a set of loosely coupled services with which you can build very flexible integration layers. And besides that, you get the whole Azure platform with it that you can make part of your end-to-end processes, potentially being integration-, data-, app- or collaboration oriented solutions.

The same goes for data solutions. These days we have relational data stores, table stores, document stores, blob stores, data lakes, etc. It has been tried to put that all in SQL Server in that past. In Microsoft Azure, these are all “loose” services that all run in their own scalable containers and that can be connected to eachother through (among others) Azure Data Factory, to create a data platform that suits your organization best. And on top of which you can deliver all kinds of analysis services such as Databricks or PowerBI in order to create information from the data.

Non-functional aspects

What is very interesting, is that Microsoft has not only provided all these great features as services, but at the same time has invested a lot in architecture guidance and non-functional aspects. Where you had a silo application such as BizTalk Server and SQL Server (and comparable products from other vendors) before, in which all the management and monitoring tools where built-in, you can see right now that on top of all cloud services you have tooling for end-to-end management and monitoring. For example, for deploying workloads by means of infrastructure-as-code and to gain insight in the relationships between services. Right now we can deal with loosley coupled platform solutions that at the same time are very manageable and quite easy to monitor. That’s real progress! I predict that monolithic integration-, data-, collaboration- and app platforms will die a slow death. Long live PaaS!

Cheers, Gijs

Beyond the relational database

Chances are that most of the transactional data in your organization are still stored in relational databases like SQL Server, Oracle and DB2. When modernizing your application landscape this will rapidly change. Why? And what does that mean?

The problem with relational databases

Modern software solutions are service oriented and very distributed, where the systems of record are still hardly having a user interface but do have good, mediated APIs that expose business logic as services. And the tailormade solutions are created through low-code and integration on top of these APIs. The composition of these services exposed through APIs is taking place on a higher level. That is where the differentation takes place. That’s where you use small apps that do exactly what you need, fully integrated with your application landscape. The underlying systems of record will in the meantime also be modernized by the suppliers, where these will also move away from the silo approach and relational databases. Mark my words.

There are three great problems with relational databases:

  1. Relations are hardcoded, to ensure referential integrity. This cannot be used anymore in a software architecture based on microservices and apps.
  2. Transactions are executed in the context of this one database. That no longer works in a distributed application landscape. Commit and rollback are phenomenons of the 80’s that cannot be used any longer.
  3. And, not to forget, the costs of relational databases are way to high, because most of the times they are end-user based.

In practice, lots of relational databases are misused to store non-relational data. Just because the thing is already there and operated. And because it easily goes with the regular backups. That’s a wrong strategy. It should change. Now.

How to prepare?

Now is the time to slowly say goodbye to relational databases in your tailormade solutions. For every need of data storage, try to find out how relations with other data can be created. These days, there are lots of different storage methods, especially in the cloud. To name a few:

  • NoSQL or Document database – here you can for example store JSON objects and search easily and flexibly. These databases don’t use schemas.
  • Graph database – this is where you can store all kinds of information and dynamically create n:m relations. Ideal to create profiles and have the data that is interesting for you actually come to you.
  • Data lake – here you can store all kinds of varieties, volumes and volocities of data and do big data analyses. This will often be machine generated data, such as with IoT scenarios.

In a (micro)service architecture it is important to cater for eventual consistency. The database cannot take care of that for you anymore, simply because that cannot be done overarching multiple databases. How you organize your services and APIs will become more and more important, including the data architecture belonging with that.

So, what about business intelligence and analytics? These solutions will have to change rapidly as well. More and more data that is needed to show in dashboards or reports will come from non relational databases. Traditional ETL cannot be used anymore. Cubes cannot be created that easily anymore. Artificial intelligence as part of your analytics solutions, even for the traditional hindsight applications (“wat happened?”), cannot be avoided. Let alone if you want predictive (“what will happen?”) or prescriptive (“what do I have to do to realize this?”) solutions. You’ll have to start thinking about these kind of things and adjust your architecture to it. Waiting for “the hype to blow over” is not a good strategy. The relational database is already clinically dead IMHO. You can throw your SQL skills in the bin in no time!

Cheers, Gijs

Serverless. Basta!

I was once a system programmer in a Unix world. Brilliant OS. The first version I got to know really well (and I mean, deep down really really well) was System V. Later on, I worked with (Open)VMS and also spent quite some time porting stuff to Linux (Redhat). I mean, communication protocols, compilers, etc. The really hard stuff. And fun it was. Getting stuff to work was really very fulfilling. Especially in a time where you had to build your own “platforms”, like 4GL, RDBMS and integration middleware in order to provide your internal consumers with better solution building productivity. Building all this stuff was awesome!

And then I was introduced to Windows. Lipstick on a pig it was. And in quite some cases still is. We were serving 8 developers on a 486 with Redhat Linux and with Windows 3.11 on the same machine we only got to serve 1. Aaaargh. But hey, developing really visual stuff was a nice change as well.

But the best thing today is: we don’t have to care anymore, because we’ve got PaaS now! Who cares about servers? We just want to run our workloads serverless. Let the hardcore developers build this cool platform stuff (and make it very very easy for us), that we ordinary folks can just use to deploy everyday workloads.

But, lately I got introduced to this relatively new phenomenon of containers. I think that’s a step back. At least, for us people who just want to deploy common workloads. I understand that for architects and developers working for large scale B2C companies (Facebook, Google, Amazon, etc.), containers and K8S and stuff like that is great. But for the average company, it’s overkill. And overly complex. And back to virtual machines, but just a bit smaller and more contained. And somewhat easier to deploy.

But, we don’t need that (in our platform). We just want less complexity. And more less. Serverless. Basta!

Just my 0.02 Q* of course.

Cheers, Gijs

*Want some for free as well? Just register here through my personal invite link.

A Darwinian view on algorithms

A common notion these days is that “data is the new gold”. My opinion on this is different. Data are just common natural resources. Not that scarce and therefore not worth that much. But when combined in a smart way, it can become gold. So, what is the new gold is algorithms.

“Algorithms are the new gold, not data.”

Companies who found this out, after they initially still quite naively started providing neat features to end-users are Facebook and Google. But, by now they have become behavior manipulation empires (see Jaron Lanier’s great TED talk on this). The algorithms these companies apply are opaque. We don’t have a clue what’s happening there and to be frank, sometimes they probably don’t know themselves either.

As has been seen in the news the last couple of weeks, these algorithms can turn into real Frankensteins sometimes. But I presume lots of smart data scientists work at these companies and they know what they do. Hopefully.

But what will happen when not only the data that is used as input can be manipulated (for example by generating fake data through the use of trolls, from Russia or wherever), but also the algorithms? What if these algorithms can be injected with malicious code? And produce results that better fit the people or organizations that put the code there?

We get manipulated by algorithms more than we know and probably is good for us. The singularity is already here, but we don’t want to admit it yet. By far the best example is that probably more AI generated babies are born these days than the good old fashioned true biological ones.

What if the evil people can influence these algorithms? And start generating “odd” (but “more desired”) couples by influencing Tinder or other platforms that people use to find potential life partners? What if during WW2 big data would have been available and algorithms could have been manipulated? Would we all have spoken German now? That’s a pretty scary thought. And there are plenty of dictators or dictator-like folks in high places right now that could do this.

So, what’s next? How can we protect the algorithms? More quickly (and openly) get to know when systems have been hacked? Is open source the way to go? Shouldn’t we let these platforms get too big? Do they need more inside and outside governance? These will be the major topics we have to deal with in the short term, or otherwise evolution will not be going slowly and gracefully anymore and Darwin’s insights will be obsolete soon.

Cheers, Gijs

The El Niño of the digital ecosystems

After digitizing current processes we started optimizing them. All purely focused on efficiency. Saving costs. Improving margins. Happier customers. Now is the time to start the real digital transformation. A revolution is needed.

Many organizations are working on process optimization. They are looking at eliminating human interaction by means of digitization, integration and robotization. Organizations working LEAN will go a bit further and will continuously try to improve the efficiency of processes. Mostly, this is all based on current revenue streams and business models. Also, it is assumed that the organization has a relevant function and will keep that function in the ecosystem.

What’s happening around us?

Every organization is part of an ecosystem. Ecosystems that become more and more digital. By exchanging information digitally between parties in such an ecosystem, these ecosystems will become more and more efficient. First we used EDI and today, in modern application landscapes we use APIs more and more. APIs that are becoming smarter and smarter and can find eachother more or less automagically. APIs that are a direct interface to an existing application. An application that most of the times is a system of record. Not a very “interesting” application most of the times, only capable of handling basic administrative needs such as handling orders and ship notices.

The middleman in crisis

There are only a few systems of record that really deliver true value add for an organization. The real value add of an organization usually is in the uniqe position in an ecosystem and the processes it delivers by means of a combination of all kinds of software systems, on-premises and in the cloud. But what happens when your combination of services suddenly is not relevant anymore? Because ecosystems have found a way to solve the isssues in another, much better way? Your organization actually doesn’t have a function anymore? Because you are actually the middleman? Crisis!

We are seeing everyday that new ways of working together in ecosystems evolve rapidly. The most important unique selling point of blockchain is to cut out the middleman. This is possible because the system enables collaboration without having trust in place. You don’t have to trust eachother. The trust has been digitized. By means of smart contracts. Look around you. Blockchains that enable peer-to-peer lending, that make wholesale and banks obsolete, that replace marketplaces and trading systems, etc. etc.

Blockchain is a revolution

Blockchain is the El Niño of the digital ecosystems; it changes traditional collaborations between companies and disturbs the balance. We will probably see an Al Gore like person in the near future who will warn us of the dangers. But, just like in nature, it will take a while but a new balance will evolve. After which the landscape will be thoroughly changed. There will be many victims, but sometimes that is needed to make the next step, as a whole.

If your organization will become a victim depends on how much value add you deliver. Oftentimes this depends on the need for physical assets or infrastructure. For example: A supplier of green energy who does not have assets but only handles the trade and contracts can be replaced by a blockchain. The supplier that also owns the wind- and solar farms and the infrastructure for homes and factories will be much more difficult to replace. Until the time that you’ll be able to generate 100% of your own energy need. But if energy surplus needs to go back into the net, you’ll be needing infra again. Uber can easily be replaced by a blockchain. Uber doesn’t have assets. And really no value add. Blockchain is a revolution. In every boardroom this should be on the agenda permanently. Make sure you understand the technology and its impact. Don’t be an American member of congres who doesn’t understand Mark Zuckerberg’s business model and technology. Work out a solution and really start innovating!

Cheers, Gijs


Serverless bitten in the ass by relational databases

Thomas Erl wrote this wonderful book on the SOA’s 8 principles of service design quite a while back. Together with Hophe and Woolf’s Enterprise Integration Patterns that’s basically almost all you need to know by heart, when starting out as a rookie (integration) developer.

No matter what software architecture used, the things learned from these books should always be applied. So, also in this new serverless era, the same applies.

But, the hardest part of every software architecture is the data architecture. You can fantastically modularize functionalities and integratie them at will, but if the data behind the modules is one big blur of relational mess, good luck with your APIs, principles, patterns and Devops then!

Is SQL Server (or any other relational database) actually witholding us from creating true serverless, reusable and autonomous APIs? Will the Graph or DocumentDB or CosmosDB help us out? Is big data coming to the rescue? Schema on read? CQRS? Blockchain based transaction ledgers?

Probably 80% of data in any given relational database is not relational. So why use a SQL Server database then? Why shoot ourselves in the foot right at the start?

If we want to become true serverless, not only do we need to adhere to the principles of service design and integration patterns, but also need to rethink our data architecture.

Eventual consistency looks like a nice concept, but in a real-time world quite hard to implement and make successful. But maybe it’s our only option? In any case, the use of relational data storage will in my opinion decline quickly. SQL Server will *have* to morph into something new, with less emphasis on the relational aspect. I know Microsoft have already started that transition.

Getting the right architecture guidance on serverless in combination with data storage is going to be crucial in the coming time.

Cheers, Gijs