2019: The Next Step Towards the Microservices Architecture
A look at Microservices Architectures
by Denis Kostrzewa
Last year was definitely a year of events which made me optimistic about the further growth of microservices architecture and cloud-based solutions. While everyone is preaching what’s going to change and what the next disruption will be, I’d like to look at things from a slightly different perspective.
In this article, I’d like to describe how we got to where we are today, and what will not change considering the events in 2018 and the global trends.
In order to do that, we need to start from the beginning.
APIs: What They Are and Why Bother at All? #
First of all, we need to cover the basics here to give some context, so let’s borrow the definition of API from Wikipedia:
In computer programming, an application programming interface (API) is a set of subroutine definitions, communication protocols, and tools for building software. In general terms, it is a set of clearly defined methods of communication among various components.
Basically, API is a set of rules, routines or protocols, which aim to describe how one application can and should communicate with another. In a broader sense, it specifies how software components should interact.
With this in mind, it is easy to see the benefits of using APIs. First of all, APIs automate laborious tasks, thus reducing the costs. They simplify complex software-to-software interactions providing easy-to-use end results. They increase the software functionality by allowing it to access data from other solutions. Finally, they help with the standardization of processes.
Web-based APIs #
An API may be for a web-based system (Web API), operating system, database system, computer hardware, or software library. Being a web development agency in this article I’ll focus on how companies use public API to grow and help developers connect to its products. After all, the ability to connect to each other through public open APIs is what fueled app-economy growth we are seeing today.
The History of the API #
For most of us, the history of APIs starts with Roy Fielding’s Y2K dissertation Architectural Styles and Design of Network-based Software Architectures. In all fairness, the concept already existed long before that (you can check out this article on APIs history) but it is widely accepted that Fielding’s work marks the beginning of the web API history.
The most significant break for web APIs came on February 7th when Salesforce, a web-based customer relationship management platform, launched its XML API.
XaaS (Everything-as-a-Service) model and APIs - what they have in common? #
Obviously, the Salesforce API wasn’t the first one available on the market. It was, however, the first one that commercially ‘made it’, hence everyone, including myself, are giving it as an example. Interestingly enough, the Salesforce business model was pretty controversial at that time as well.
With the PC market becoming bigger and bigger at the turn of the century, there became a need for a scalable software. Salesforce, instead of creating software on CD-ROMs and building distribution channels to sell them (as other software behemoths were doing), made a bold decision to focus on just one sales channel: the internet.
The success of this approach gave birth to the powerful concept towards which we’re dynamically heading today: fully XaaS(Everything-as-a-Service)-driven workplaces.
The Birth #
As outlined above, Salesforce.com launched on 7th February 2000 at the DEMO conference, offering its clients a fully web-based sales automation software with access to XML API out of the box. Back in Y2K it was a fairly uncommon approach and the leadership undoubtedly was aware of it.
In order to acquire clients in an era dominated by monolithic enterprise software, they had to give their clients a tool which, in short, would empower them to ‘communicate’ with the other apps clients have been using.Hence, the first version of Salesforce was equipped with XML API out of the box.
As Paul Holmes wrote back then, in June 2001:
Salesforce.com believes that enterprise software is a thing of the past, while Internet services will shape the future.
They kind of hit the jackpot with that belief.
Momentum Took Off #
Other businesses began to share faith in that vision as well, and the growth of publicly available Application Programming Interfaces (APIs) gained pace.
Naturally, the E-commerce industry was the first one to adopt APIs. Most notably, eBay and Amazon launched their public APIs. They were soon followed by the emerging social sites, with Twitter leading the way in 2006 when they unveiled their Twitter API. Cloud computing and mobile industry followed shortly after.
At the end of December 2018, the API count in the programmableweb directory equaled 20,788, and AngelList listed over 15k SaaS companies.
Take a look at the chart below showing the API ecosystem growth since 2005.
How APIs are driving the XaaS market #
Ever since Salesforce pioneered the move, APIs have become the interface for businesses, fueling today’s economic growth. You can find them everywhere, and they impact everything we do from ordering an Uber, to reserving your plane tickets, to managing your stock portfolio, and even finding your potential spouse.
The API economy is now driving the world, and it’s transforming every industry. So…
What’s driving the growth of APIs and XaaS solutions? #
As for the beginning of 2019, we can identify a couple of major global trends behind this movement.
Globalization and remote workplaces #
With the ongoing globalization of almost every industry, the need to look for the top-notch talent beyond the borders of your country becomes essential. This clearly brings up certain challenges and expectations. The latest news from the job market isn’t optimistic either, as Gartner points out in one of their latest reports, the shortage of talent in organizations is now the top emerging risk facing organizations.
Keeping this in mind, recruiting has become more important and competitive than ever. According to the recent Robert Half’s research, the ability to work from anywhere and have a flexible schedule are the most desired perks among the surveyed employees. Almost 9 out of 10 respondents want to have a flexible schedule, and more than half to work remotely, yet just 14% of the companies allow for telecommuting!
Most companies definitely have to demote their bad ideas about remote (see what I did here?!) to be more attractive to employees.
Fortunately, it has never been easier to set up a fully remote workspace than it is today. With the ubiquitous SaaS apps such as Slack, Trello, Asana, Google Hangouts, and Zoom, to name a few, the communication across the organization (which is IMHO one of the biggest challenges in remote work) becomes easy.
If you think that remote-only is a trait of small players, take a look at these growing companies with hundreds of employees working remotely:
Alongside the rise of remote workspaces, new problems emerge, which are being solved by interconnected and flexible XaaS products.
Effortless connectivity era #
Once your company uses multiple SaaS options, you’ll start to scratch your head and ask yourself “how the hell can I connect those apps easily?!”. That’s where tools such as Integromat, IFTTT, and Zapier (which is, by the way, a fully-remote company) come in.
Each one of these allows you to effortlessly, and without too much technical knowledge, connect popular apps with just a few clicks. The effortless integration process lowers the barrier to entry for non-technical people, making the fully XaaS driven workplace even more appealing.
I think we’re facing the “Chicken or the egg” causality dilemma here: are these tools driving the popularity of XaaS solutions, or the increased popularity of XaaS solutions driving the need for these tools?
Rather than judging if one of these sentences is false, I’d say that both of them are somewhat true and that those things drive themselves mutually.
The dark cloud of pace, and more #
As the pre-Socratic Greek philosopher pointed out back in the days “Change is the only constant in life” and trust me, everyone in the tech industry is a big believer of this quote.
However, in business, some things can be considered as a ‘constant’. For example, I can’t imagine customers complaining that the product was delivered too fast to them, or that it was too cheap. That brings us to the main three features of using third-party cloud apps:
- Increased speed of service delivery
- Flexibility to react to changing trends
- Lower cost of total ownership
(as read in this amazing report)
With the ever-changing landscape of trending technologies (AI, VR, AR, blockchain, MR, IoT, RPA feel free to add more buzzwords in the comments or generate some new ones with Tech BS Generator) and the pace of change becoming the third major risk across organizations in 2019, it makes perfect sense to use cloud-powered apps, which usually offer monthly and annual subscription models allowing you to opt-out easily (in most cases), when your ship needs to change the course.
Last, but not least #
Reduced computing cost, modern powerful browsers and the booming popularity of concepts such as the JAMstack and Progressive Web Apps makes the microservices a core to the modern-day developers’ arsenal, and it seems that this shift is just beginning.
Furthermore, if we adjust our lens and zoom-out on the whole ‘internet revolution’, we’ll notice that merely 3% of global commerce happens online today, meanwhile generations of people born after 1995 are entering the global marketplace.
Cutting to the chase: with Google pushing the PWA concept forward, big players such as AutoCad are moving their desktop apps to the web, browser-only apps like Figma are revolutionizing the design-space, and with the ever-growing number of internet users there are (IMHO!) no signs of a slow down of the “API Economy”.
All in all … #
Summing this article up as promised in the preface, it’s hard for me to imagine that the following events will happen in the not so distant future:
- talented employees asking for more rigid schedules and location dependent jobs
- companies seeking to become less dynamic
- enterprises trying to lengthen the go-to-market process
- millennials and Gen Zs drastically reducing the time spent on the internet
- companies creating technological overheads and paying more because of higher TCO
While the XaaS solutions definitely aren’t devoid of flaws, I can’t imagine a world without them. With all the arguments and trends outlined above, we should see the continued growth of APIs and microservices in the following years.
Bejamas.io is a Web Dev shop focused on helping agencies and companies with serverless web, static site generators and JAMstack tools. We can help you say goodbye to your clunky dynamic website and welcome to lightning fast static world.