NetAI, a software-as-a-service (SaaS) platform, helps professionals in a range of industries to translate and migrate security configurations among different platforms easily. ‘Basically, we wanted to build an application offering our algorithms for translation and optimisation. We wanted to achieve fast time to market with our idea and needed the ability to scale accordingly, depending on the number of users’, says Piotr Jablonski, CTO and Co-Founder of NetAI. Since its first days, NetAI has decided to follow the serverless approach with Amazon Web Services. Scalability and flexibility of future improvements weren’t the only initial goals. Costs, especially in the first phase of the project, were one of the top priorities. ‘We spent a lot of time thinking how to avoid unnecessary expenditures connected with infrastructural parts and be able to focus on business goals entirely rather than maintenance’, Piotr says.
NetAI was able to gain flexibility and scale with its users, using AWS serverless services
Using AWS Lambda and S3 Events, Dynamodb Streams, SNS and SQS for Automation
To minimize humans’ interaction with translation flow NetAI decided to design and implement automated solution based on asynchronous events with some exceptions for synchronous ones. Chaos Gears helped their team to leverage S3 Events and Dynamodb Streams to collect, store and use newly uploaded files’ metadata. In order to avoid ‘spaghetti scenario’, keep asynchronous calls between functions and get features like DLQs for unprocessed data (right now, Lambda Destinations are a pretty good choice), SQS and SNS have been implemented into the environment.
AWS Step Functions, AWS Codepipeline with custom Lambda functions for automated tests and frontend rebuilds
“We wanted to rely on AWS services also in terms of tests for new algorithms coded by our developer team. The goal was to abstract AWS ecosystem from dev team and to keep the whole flow automated at the same time’, says Piotr.“
Therefore, AWS Step Functions appeared on the horizon as a natural choice in case serverless automation. However, to make the whole process complementary and to ensure it would end with frontend rebuild and cache invalidation, after successful algorithms’ tests results, Chaos Gears team recommended and provisioned AWS CodePipeline (presented below). AWS Codebuild with customised container image has been implemented to cover rebuilds necessity. Moreover, two customised Lambda functions have been used for Slack notifications and Cloudfront cache invalidations.
Reducing time of delivery by 50% and overhead costs for ops team structure
“With Chaos Gears innovative approach, focused on building solutions with minimal maintenance, and a design based on event-based approach we were able to bring the first production version of our platform, containing 6 algorithms, within 4 months. This approach also allowed us to pay more effort and time to algorithms coding rather than infrastructural aspects. We could redirect our ‘ops’ activities toward new areas, crucial for us in terms of business goals. AWS Serverless services gave us a lot of diversity, integration options and independence, all needed in the next stages of our development’, sums up Piotr Jabłoński.”