Sustainability

Curb your Enthusiasm – Sustainable Scaling of APIs

222views

Sathyakhala Ananthrajan is an API platform leader from Medibank. Mathangi Vijayshankar is an API Chapter Lead with Medibank. In this article, they have discussed the sustainable scaling of APIs.

Integration has been in the software industry since 1970. The growth of integration has always been tremendous, and with the evolution of microservices and APIs, every organization wants to scale in some shape or form. This led to API scaling. It starts as a simple integration, but gets complex over a period of time. There are close to 2000 tools available to support API development and API lifecycle management. While most teams and organizations want to adopt these technologies and be ready for growth, we also need to consider the business and technology readiness, before proliferating these services into the organization.

There are many pitfalls and challenges that organizations face when they scale –

  • Poor developer experience and inadequate documentation
  • Poor communication – This is not just for API programs but for any kind of project. As we increase in size, the flow of communication gets hit, and then the deliverable timelines get delayed.
  • Premature scaling – Companies try to scale very early without considering business and technology readiness. Scaling up too fast brings decline.
  • Security concerns – This has been the top agenda in most organizations across the globe. If these concerns are not addressed, rollout is slowed, negating the benefit of having APIs.

Organizational strategy and alignment – Several hurdles are delaying our corporate strategy, especially in the digitization of most organizations. This includes legacy systems, old data, processes, outdated culture, lack of budget, financial implications, etc. On top of this, isolating within the same organizations would also have posed various risks in realizing the corporate strategy. Research shows that while business leaders tend to transform the accompanies into intelligent enterprises; they also struggle with the magnitude of islands of innovation within their organization. And how we bring these islands of innovation into an integrated strategy becomes essential. So, look at your API strategy and then align it with your digital, data, security, and overall technology strategy. All these should have to speak the same language towards a common goal.

Suppose the vision and mission are not clear. In that case, it will impact the deliverables of the team and the teams would focus on siloed deliverables rather than creating an impactful one. The mission should be clear, precise, strategically grounded, valuable, and measurable. Above all, they should be holistic in scope, so it’s broad enough to impact their customers.

API governance and design – Some organizations have APIs with similar capabilities being built by different departments. Many catalogs and varied developer experiences for developers, internal and external, make it difficult to use the APIs. Not having established API governance standards, guidelines, and principles makes it extremely difficult as we start scaling. It would help if you looked at customer-centric APIs rather than provider-driven ones. So, adopt a design-first approach, talk to the business, and understand their value proposition and customer value chain.

Understand what kind of products need to be built on our APIs. Understand the developer who would be using the APIs and build the APIs with a system-agnostic view. Please bring in the business language so businesses can understand our APIs and create new products and revenue streams for our customers. Have good API documentation so that developers can integrate with your API.

In governance and design, you must provide guidelines as early as possible. Talk to the business and create system-agnostic APIs that add value to your products. Always have a hybrid design model in place. Consistency and repeatability are the key.

Technology Considerations – The infrastructure should be such that it can grow along with the scale at which we want the APIs to grow. We need to look at which cloud provider to use, availability zones, container management strategy, container scaling strategy, load balancing strategies, etc. Unlike certain areas where the mistakes can be easily rectified, infrastructure could be a major disaster for the future, if not considered or thought through perfectly. It could stop you from scaling APIs, or you might have to revisit your platform altogether. With a solid infrastructure for the API sorted out, the next consideration would be the choice of technology for your API platform. The prevalent skill set, API maturity, and proprietary or open-source organizational strategy will drive this. Whichever technology you choose, make sure that it is growing and has enough support, be it from the open-source world or from the vendors, and make it adaptable and sustainable for your team.

Certain technology choices can directly impact the consumer—one such being security. Having your right authentication and authorization strategy decided upfront will avoid any major changes in your API integrations in the future. Giving a thought through your vulnerability scanning mechanisms is very important. There are new vulnerabilities in the market every day. How we manage them is very important.

API gateway is the first step with which your customer interacts with your API platform. So, having a solid API gateway is very important, It needs to be scalable and have certain inbuilt features like security, logging, and rate limiting.

API developer portal is the central piece of the API puzzle. It brings in the much-talked-about API documentation and the unified API solution for your organization. It brings in a lot of things like discoverability and consistency. It exposes your API layer and brings a seamless onboarding experience for your consumer. API discoverability might seem very trivial when you start, but as your team or organization scales, it gains importance to avoid repeating yourself or creating redundant APIs. API developer portal helps you talk to the non-technical teams in your organization.

Continuous integration and automation are an essential path to production.

Monitoring, logging, measurement, and metrics are crucial to deciding future paths. Think about certain metrics that will help you measure performance. You can measure those and identify bottlenecks.

Team culture and principles – If the team needs to be scalable, then there should be some fundamental guiding principles that every single member should follow. The first is reusability and modularity. Unless we have well-published and well-discovered functionalities, as the team scales, people will start writing the same thing repeatedly, which can become a maintenance nightmare. Think of having developer forums where you can introduce these modular concepts. Try and automate at every level, from your repository creation, code, templates, pull request reviews, testing automation, the path to production activities, production, deployment, and metrics measurement after you go live. Everything must be automated to make it scalable, repeatable, and consistent. Foster an environment to promote curiosity and innovation. Learn something new and keep yourself updated. Otherwise, we can become obsolete, which is bad for any organization.

Speed bumps and hurdles

Being prepared for the hurdles in itself is an effective strategy. Things that work in a small team might not work in larger teams, and knowledge gaps can creep in. Think about having a manageable-sized squad centering around one or two SMEs and having someone to contact for your questions or solutions. Reviewing your solutions can boost the confidence of team members.

SMEs can burn out, so be mindful of the size of the team. Don’t scale too much until the new members are confident and comfortable.

If your code metrics indicate the code quality is taking a hit, tighten your code review processes. Leverage a central governance team that can be used to solve your repeatable activities coming through. Have a look through your design review processes.

Understand that you can only go as fast as your slowest team in the pipeline. So, consider that whenever you’re giving estimates for a certain piece of work or trying to scale a team. Be mindful of the interfacing systems that can slow you down.

Effective team scaling – The first thing when we think about effective team scaling is to add to the headcount by recruiting team members. Even if the speed is slow, hire the right talent. As a distributed team, we might need to expand teams to different geographical locations. The complexities of communications collaboration, working in different time zones, and cultural aspects all come into play. Start small and then slowly expand and ensure that the team is independent, self-sufficient, and very comfortable before you can expand to the other teams. Having a centralized or decentralized team depends upon the maturity of your API landscape within the organization. In our experience, having a centralized API team with a clear plan to decentralize as we mature. The centralized team will focus on creating standards, principles, and guidelines, which can be used by the federated API teams so that they can be autonomous and self-sufficient. This federated API team topology works very well only when the right amount of automation is in place.

While scaling cannot be avoided, it has to be considered and seen as an opportunity for the organization’s growth. The idea is to evaluate and progress in a very sustainable manner. Teams and people are our greatest assets; we do not want to burn them as we scale.

To summarize –

  • Align your API strategy.
  • Provide an inbuilt governance as early as possible.
  • Bring APIs as products, talk to the business, understand the customer journeys, and cultivate outside-in thinking.
  • Choose the right technology for future scaling, infrastructure, or development platforms.
  • Choosing the right team topology, centralized or decentralized, doesn’t matter; it depends on your operating model and your API landscape maturity within the organization.
  • Measure and fine-tune. Ensure repeatability and consistency.
  • We cannot avoid surprises, so be ready for change and adapt.
Sathyakhala Anantharajan

Sathyakhala Anantharajan

Experienced Technology Leader passionate about APIs as Products and Digital Transformation | Agile
A successful and well regarded Engineering platform Leader/Large scale Program Manager who has worked in the best of the breed IT companies (VMware,Citrix,Novell) including Insurance and Financial industries (CGU,IAG) across various geographies (Australia,US ,India) with experience in Large Scale Technology Transformation and Strategic Initiatives using various Agile methodologies/practices such as SCRUM, KANBAN and Scaled Agile framework. A proven reputation in leadership, building highly engaged and motivated teams of all sizes comprising of a range of skill-sets. Good stakeholder and people management with excellent interpersonal communication skills and built trusted stakeholder relationships across IT,Business and Senior Management. Recognised for managing dynamic projects by staying on top of changes and pro-actively resolving people,process and technical issues. Working cohesively with permanent, contractor and partners, to continually improve practices , optimise resourcing and forecast the demand and capacity. Identify gaps ,create visibility through reporting statuses, risks, issues and dependencies in a timely manner across technology and business streams. Creates clear visibility on roles and responsibilities ,resolves conflicts and manage escalations appropriately. Has keen interest in harnessing and working on emerging technologies such as Cloud, Business API's, CI/CD Practices and has vested interest in supporting to build these practises that deliver end to end automated technology solutions, that enable the teams to move and adapt faster to the needs of the Digital customers. Other skills and experiences include Business Analysis and Test management .Grown from a QA to a Program Test Manager, People manager and Iteration Manager, i have demonstrated the ability to work and lead team and meet stringent delivery deadlines. A go-getter, always willing to learn and adapt based on the needs of the team and the program.

APIdays | Events | News | Intelligence

Attend APIdays conferences

The Worlds leading API Conferences:

Singapore, Zurich, Helsinki, Amsterdam, San Francisco, Sydney, Barcelona, London, Paris.

Get the API Landscape

The essential 1,000+ companies

Get the API Landscape
Industry Reports

Download our free reports

The State Of Api Documentation: 2017 Edition
  • State of API Documentation
  • The State of Banking APIs
  • GraphQL: all your queries answered
  • APIE Serverless Architecture