When you call a service you invoke an API (Application Programming Interface). The idea of an API is old but has survived the introduction of thousands of computer languages and processes because it is a necessary piece of application development. The advent of cloud computing has raised the status of APIs to a new level. There are APIs to access services from numerous cloud providers. These APIs allow you to do almost anything you can imagine from creating virtual machines (Powershell on Azure), exploring the latest news feeds from a company (RSS) to seeing what your favourite celebrity is posting (Twitter, Tumbler, Instagram, etc.)
There are a number of companies that produce API gateways, access points that allow you to better control who has access to your API and well your API is performing. A recent report from Mulesoft entitled “10 lessons every product executive should know about their API program:” has some interesting comments:
- Build for today while preparing for tomorrow
- Apply platform strategy as product strategy
- Treat your API like a product
- Be agile in the right way
- Use tools fit for modern delivery
- Have a connectivity strategy
- Collaborate to reduce technical debt
- Creat product architecture transparency
- Provide defense in depth
- Build a network for your product
A bunch of these are design issues while others are tools, but what is really important is the culture of the organization. If your culture is “monoliths are good and change is bad“, then regardless of what you try to implement with regard to a service-oriented architecture or APIs, you’re going to have a hard time succeeding. If, on the other hand, you embrace change, embrace the opportunity to evolve, then you are more likely to succeed.
The perception is that governments, in general, are more like “change is bad” than “change is good“, but is that really the case? Take a look around you, at your co-workers, your supervisor, the area that you work in, do you see more acceptance of change or resistance to change. I would like to think that you see acceptance, but even I can see pockets of resistance, but those pockets are getting smaller. That acceptance of change is going to allow the government as a whole to adapt to the new reality around us and view our citizens as our customers, to view change as something that will enable us to interact with our customers better, more efficiently and more accurately.
Cultural change is tough, but once you get enough momentum the technological changes that can be implemented based on that new culture can be truly eye-opening.