API Distribution Hub
Our customer is a global leader in API distribution headquartered in California. Four Ages Software was responsible for the development of the entire solution from scratch: microservices architecture, front-end and back-end, CI/CD set up as well as the overall cloud design, infrastructure as code, tools and services on AWS.
Client location
California
Industry
SaaS
Duration
3+ years
Team
6 members
Solution
Team Structure and Model of Engagement: hybrid model of engagement (product development+dedicated team). Since the start, it has been a global team of 8 Eastern European engineering experts (AWS certified) and 20 Israeli team members. The core team had the following set up and it gradually tripled in size over years:
1 QA engineer
1 Junior Full-stack developer
1 Middle Front-end developer
3 Middle Full-stack developers
The initial request of the customer was for product development. After the solution was in production, we switched to the dedicated team model where our PM and the engineering team were reporting to the PO from the customer’s side.
Project management: a PMP certified Project manager was following best practices of SCRUM methodology. Jira was used for task tracking and Slack as a messenger for everyday communication.
Over the period of 3 years, the team accomplished the following deliverables:
designed product technical architecture
designed database structure
developed service core, business logic
created integrations with other services
implemented payment systems integration (Stripe, PayPal)
developed custom analytics
setup and supported deployment process
Front end: 100+ screens were developed on the front-end and the following milestones were met:
Product portal (React, Next.js) - Landing page with product information
API Marketplace (React) - Marketplace of the available APIs (40k+)
API Playground (React) - Application for API debugging, and request building
Providers dashboard (React) - Dashboard to sign a contract and add the API to the platform (for API providers)
Analytics dashboard (React) - Dashboard to monitor analytics (by customers, providers, etc)
Product portal (React, Next.js) - Landing page with product information
Back-end: In the sophisticated back-end of the platform, the engineering team developed a system for the integration of APIs of different structures and logic.
The developed system aimed to support numerous protocols and interfaces:
REST API
GraphQL
COAP
MQTT
WebSockets
GRPC
Webhooks
Customers were able to opt for any of the above types using 1 simple library (RapidQL). And the high-load system was made to support up to 10M requests per second (request should have been routed to the provider’s APIs)
Here is the illustration of the approximate microservices architecture solution that was offered to the customer. The exact solution designed for the customer is under the NDA, this representation doesn’t include all the details:
The platform used infrastructure as a code and the project was built-in the cloud. All infrastructure was described with CloudFormation configs.
Testing:
Four Ages Software was responsible for testing of the platform as well.
Manual QA (Front-end, business logic)
Unit testing (Code level)
Integration tests, Runscope (API)
Security:
All microservice communication was encrypted by SSL/TLS connection.
API Requests used JWT tokens.
AWS services used security groups and application firewalls
Technologies
Author:
Maria Roy