TrueNorth Companies approached us with the need for a custom software solution to automatically provision AWS Workspace instances for their employees based on group membership in their Azure Active Directory instance.
The solution needed to maintain a subscription with Azure AD to receive webhook-style events when an employee was added or removed from predefined groups. A frontend portal for management of system configurations as well as for easy, self-service management of AWS Workspace instances provisioned by the system was also a solution requirement.
In addition, TrueNorth also needed robust authentication that integrated with their existing Single Sign-On solution (Azure AD) so that admins and employees could sign in via their corporate SSO flow.
Building high-quality software applications requires a lot more than just “writing the code”. You need to consider many other factors when planning your approach to developing an application such as scalable hosting, deployment pipelines, and monitoring capabilities.
Failure to carefully consider these types of operational factors upfront can jeopardize the future success of a project. At the same time, spending a lot of time carefully crafting a scalable architecture to host a web application can distract from delivering what your business or customer needs.
Traditionally, building an application that satisfies the considerations above would have taken many months. You would have to scaffold all of the hosting, CI/CD pipelines, and the backend application with job scheduling capabilities as well as an API.
You would also have to implement all of the middleware to handle authentication/authorization as well as custom data access layers to query and mutate data in your data store(s). Based on the authentication requirements, a custom integration to support Microsoft SSO would have been necessary as well which can be tedious to implement.
To implement this solution, we chose AWS Amplify , an application development framework that enables developers to rapidly build scalable applications. It consists of a powerful and intuitive CLI (Command-Line Interface), pre-built cloud constructs, and front-end libraries that provide everything you need to quickly bootstrap a cloud-native application on AWS and focus on delivering business requirements.
Together, AWS serverless technologies and Amplify streamlined the development process and allowed us to focus on building the business logic for the solution.
As alluded to above, Amplify exposes a CLI that allows developers to provision complex cloud infrastructure by running simple commands and following easy-to-understand prompts that aid you in configuring the services for your use case. For example, to create a new RESTful API with serverless functions as endpoint handlers, you simply run a CLI command like the following:
Running the command above initiates a series of prompts that allow you to add rest endpoints, connect those endpoints to lambda function handlers, and configure authentication and group-based authorization with AWS’ managed authentication service, Cognito.
Once you’ve stepped through the prompts, Amplify automatically scaffolds all the CloudFormation code required to deploy the API and other supporting infrastructure to AWS. As a developer, all you have to do is write the code that each lambda function should execute when an API route is called.
We used the following AWS services and resources to complete the application in a very short time period:
Amplify (CI/CD pipelines, custom DNS, CLI, frontend libraries)
Functions
Layers
User pools
Identity pools
Scheduled rules (for triggering lambda functions on a schedule for automated jobs)
In conclusion, using serverless technologies and a framework like Amplify enabled us to develop a production-ready application in a fraction of the time. For this specific use case, scalability wasn’t very important as traffic would be very limited.
When considering high-traffic applications that must handle heavy loads and remain responsive and available, serverless technologies become even more compelling.
Whether you're aiming to build scalable, serverless applications or require a custom software solution, our expertise in AWS Amplify ensures your project's success from conception to deployment. Discover how we can help you streamline your development process, focusing on delivering tailored business solutions that meet your unique needs.
Contact StratusGrid today and fast-track your production-ready application with our AWS Amplify expertise!
BONUS: Download Your FinOps Guide to Effective Cloud Cost Optimization Here ⤵️