API Gateway
Focus Areas:
  • compliance
  • security
A fast, reliable gateway that simplifies API development and ensures that core functionality is implemented consistently and securely

Summary

Corbalt worked with a Federal Government client to implement an API gateway that provides core API functionality, adapting an existing product and designing a secure, resilient infrastructure.

Build vs. Buy

We considered whether to develop an API Gateway from scratch or to use an existing product or software-as-a-service (SaaS) solution. We decided not to develop from scratch because there were viable existing options that met client requirements. We decided not to use a SaaS offering because the client wanted greater operational control. We compared different software products and ended up choosing Kong. Kong is built as an extension to the battle-tested nginx reverse proxy. It has an active community of users and developers. It's also open source, which enables customization and prevents vendor lock-in.

Running in the Client's Environment

We designed Kong's architecture and operations to run reliably within the secure client environment. We architected Kong to meet the security requirements to get an Authorization to Operate (ATO), which included adapting Kong to run on the client's hardened machine image and within their secure reference architecture. We designed Kong to be resilient to AWS availability zone failures and to have a failover disaster recovery environment in case an entire AWS region failed. We set up auto scaling to automatically handle high load (for example: during healthcare.gov open enrollment) while saving infrastructure cost when load is low. We set up automatic alerting and an on-call rotation of operators available 24/7 to respond in minutes in case of a critical error.

Conclusion

We worked with a Federal Government client to choose an API gateway option and architect it to run securely and reliably. We configured the system to scale automatically in response to traffic increases and we've been happy to see it running smoothly. Over the last year, it scaled successfully to handle 83,000 requests/minute peak load and has achieved 100% uptime.