The smartest organizations have discovered a set of best practices to design powerful APIs that leverage existing services, to effectively manage those APIs throughout their lifecycle and to scale their deployment across consumers and devices. Let's dig into the relationship between APIs and services and find the key elements of a successful API strategy in the form of seven best practices.
Service Oriented Architecture defines API management
Over the last decade, many companies implemented SOA to one degree or another in the name of reuse and consistency. By decomposing functionality into atomic services, SOA promised to deliver streamlined processes, delivered on this promise.
SOA had the right ambition but the wrong approach. The original intent of allowing interoperability between services and applications - was exactly what businesses wanted. The problem, however, was in execution. Organizations incorrectly structured their SOA projects with a “top-down” approach that caused numerous issues across the enterprise. This top-down approach dictated a rip-and-replace strategy whose aim was to gradually replace aging enterprise systems with modern alternatives. The problem was, these projects often dragged on for years, consuming far more resources and budget than planned, ultimately becoming an expensive burden to the business.
This is one of the main reasons why for many, SOA has become a relic of the past, a word replete with the negative connotation. The monolithic, top-down initiatives of the past have failed, costing businesses millions of dollars and ultimately failing to deliver projected business value. SOA was essentially considered dead. Nevertheless, the fundamental principles of SOA are still sound and have been given new life in the form of API management.
What's next: API management
API management is essentially the next generation of SOA. But how will API management avoid the well-known pitfalls that derailed so many SOA initiatives? While API management shares many commonalities with SOA, there are two key differences. First, rather than a top-down, rip-and-replace approach, API management uses a “bottom-up,” wrap-and-renew approach. APIs essentially breathe new life into services by layering accessible and developer-friendly interfaces on top of them, effectively shielding consumers from the underlying technology. Secondly, API initiatives are all about ROI. immediate and ROI easy to measure.
This approach delivers on the initial promises of SOA and more:
- Accelerated application development
- Reduced risk of failure
- Improved developer effectiveness
- Agility and flexibility
Often considered two sides of the same coin, API management has emerged to pick up where SOA initiatives left off. API management adopted and improved upon the best of the underlying principles of SOA.
SOA and API management share key core principles:
- Abstraction of business logic
- Solid governance frameworks
- Reuse of services
What drives API adoption
Gartner predicts 75% of Fortune 500 enterprises will open an API by 2014. In this new API economy, those without an API strategy will be left behind.
Organizations are beginning to understand the importance of APIs and the value they deliver to the business. But what exactly is causing all the fuss?
Business agility – Much more effective than creating business logic and exposing it as a website is creating business logic and exposing it as an API. With APIs, it doesn’t matter how the logic is used; clients and consumers can consume the API and expose it to their liking, delivering
API economy – Businesses are developing “API products” as new sources of revenue. Expedia generates over $2 billion annually through the data made available through their API. Salesforce generates 75% of their revenue through API activity. The API economy is here and growing fast.
Internet of things – The number of things that can be connected is growing fast; everything from your coffee pot to your thermostat to your car can now opportunities to create connectivity in new places.
SOA, and the reasons behind their growing importance in the enterprise, it’s time to dig into the 7 habits that drive effective API management. If you’re starting an API initiative or wondering how to get started, following these best practices will ensure that your APIs are easy to use, fast to deploy, and deliver the business results you expect.
API-first design approach
Typically, a business owner starts off by identifying the need for an API. Next, the business owner works with an architect to actually design the API are complete, they are communicated by the architect to the API development team that will implement the back-end of the API.
With an API-first approach, rather than implementing an application and then put the back-end logic into place - whether it be cloud-based or on-premise.
This method allows organizations to isolate concerns and to focus on clear, API-first development provides a simple framework that enforces better REST API design practices, helping businesses focus on API resources and messaging before undergoing the heavy lifting and back-end implementation.
How to choose an API runtime
Once an API is designed, created and its back-end implemented, it’s time to successful your API strategy will be in terms of service, liability, scale and ability to meet future needs. So what key capabilities should you look for in an API runtime?
Hybrid support: As more and more businesses are moving deploy applications both in the cloud as well as on-premise without having to modify anything. This allows businesses to burst into the cloud when extra resources are needed or even shift from on-premise to the cloud if and when your business needs require. The ability to develop applications once and deploy them in the cloud or on-premise provides a host of possibilities without complexity.
Scalability, reliability, availability: These “-ilities”, along with performance, are crucial when searching for a solid API runtime. The last thing you want is an unstable runtime that crashes or experiences outages. Choosing the right enterprise-grade technology for your API runtime is crucial to the success of your API.
Strong Orchestration: A successful runtime should provide strong orchestration and orchestration capabilities. The ability to carry out complex back-end orchestration plays a key role in translation between the API layer and back-end implementation.
Central service repository is a must
After designing, developing, and running the API on a solid platform, exposing the API in a central repository is paramount. Surfacing the API facilitates API discoverability and accessibility by people who need it. A central service repository also makes it easy to categorize and search through services while providing a consolidated view of APIs; it is the place for all design and runtime governance.
Forums and documentation make it easy for developers to assess an API’s visibility into key metrics of APIs, business owners and architects know how an API is performing so they can take corrective action and continue to improve the API in future versions.
Versions, policies, and contracts in API management
Tracking service versions and consumers gives businesses insight into who is using APIs, which versions they’re using and how they’re using them. This helps with API lifecycle management and allows API publishers to assess the impact of retiring a version. In addition, policies and contracts are crucial to enforcing security and managing SLAs with API consumers. An API solution should offer a way to easily create associate them with the right APIs and consumers.
API usage monitoring
Understanding which parts of your service are being used is important, but it’s only part of the picture. You need to see how consumers are using it. With metrics for both overall usage and per consumer usage, businesses can closely monitor API activity and engagement. The ability to monitor API both technical and business perspectives is valuable as it helps business owners and technical teams better understand their users and ultimately create a better service.
Widening your API audience
Creating a developer portal to establish a community around your API is important to its success. By making it easy for users to follow your API, download documentation and ask questions, API publishers can engage with API consumers on an ongoing basis. Providing and promoting content helping your API be successful.
The ability to refactor your APIs by iterating through habits 1-6 multiple times allows you to optimize your API over time to improve consumer experience and productivity.
With the progression towards a more connected and API-driven world, defining the right API strategy and selecting the right API platform is crucial to supporting innovation and growth. Following the 7 habits outlined above will ensure a winning API strategy.
CloudGeometry can help
Whether you need help to integrate a new cloud service into your existing business infrastructure or a young SaaS, PaaS or IaaS company who has to add your solution to the clients’ technology stack, we have the expertise and resources to help you. We have many years of experience in working with APIs of popular data providers as Facebook, Google, Amazon, Twitter and many big AdNetworks. Those APIs are frequently updated and we have to design and build special flexible systems to quickly change the integration rules without an impact to the downstream systems. We have also been working for many years with legacy industrial system helping our clients like GE Digital, KryptonCloud and Imantics to connect their new PaaS and IaaS solutions. We provide a range of advisory, development and support services helping you to integrate cloud and on-premises system into one stable solution.