Hello and welcome to my new website, titled: “Stairway to the Cloud”.
When I started my career as a software engineer in the mid 90’s, the technology landscape was very different than it is today: The Internet was just emerging and used by a small community of early adopters; Mobile computing referred to laptops, whereas mobile phones were used mostly for making circuit-switched phone calls; And when people were talking about the cloud they usually looked up to the sky and referred to the weather… So many technologies have evolved since then: The Internet has become ubiques and used by a large portion of the world’s population; Mobile phones are not really phones, they are mobile and powerful computing devices with access to the Internet; Cloud providers have revolutionized the way that companies and individuals develop and deploy software systems today. The barrier to entry is much lower than it used to be. Back in the 90’s we had to build much of the infrastructure and the platform by ourselves. Nowadays we can use Infrastructure as a Service (IaaS) and Platform as a Service (PaaS), and focus on our core business logic.
The set of tools that software architects and developers can use is growing at a rapid pace. There are a variety of computing platforms, storage types, programming languages, frameworks, libraries, orchestrators, databases, messaging buses, communication protocols and many more. The overwhelming number of choices can be confusing and even experienced engineers might get lost. The need to keep track of all the relevant technologies and choose the ones that best suit your needs, is challenging. In this site, I will try to put some order in the technology landscape of modern software systems, especially in cloud environments. It is practically impossible to cover everything, so I will focus on the most common concepts, patterns, protocols and products. The idea is to maintain a reference knowledge base that allows engineers to easily find basic information about relevant technologies and get a high level understanding of their characteristics. I will also provide links to external resources that include more details.