Cloud Engineer
Success Story:
Artificial intelligence for exams at universities in new ways
Industry
Education/Startup
Challenge
- Migration of a proof of concept to the cloud
- Time to market
- Costs and scalability
Solutions
- Implementation as an Angular application on AWS
- IaC for fast, automated, reproducible development, build and deployment processes
- AWS serverless technologies for scalability and minimal operating costs
Initial situation
Challenges and goals
Christian Mueller is an economist and not a software developer, which is why he approached Amazon Web Services (AWS) directly. They referred him to Axians Amanox due to their long-standing partnership and proven expertise. Once the contact had been established, he provided Axians Amanox with demo videos and a GitHub repository with a proof of concept (PoC). Based on this input, it quickly became clear that this was an exciting challenge - but also that the source code had to be revised and reproducible build and deployment processes had to be developed.
Christian Mueller‘s aim was to realise his idea in such a way that it would be made accessible to interested users in the form of a prototype in the cloud. This approach was necessary in order to sound out the acceptance of such a solution and attract potential investors for commercialisation. The goal was outlined on the basis of a limited budget and the desire to make the offering available as quickly as possible: In just a few weeks, the full functional scope of the PoC was to be made available on AWS as a scalable, stable solution that was as cost-effective as possible.
Solution approach
In order to fulfil the customer‘s wishes, the experts at Axians Amanox decided to completely redevelop the web-based graphical user interface (GUI). This was the only way to achieve a higher visual appeal and intuitive user guidance.
After analysing the PoC, it was functionally divided into front and back end. The template-based server-side rendering1 was replaced by a modern single-page angular application, whereby the code is rendered dynamically on the client side. This enables significantly faster and more responsive interactions. The code that remained in the back-end was simplified and made available to the front-end as AWS Lambda functions via API Gateway2. The application is a cloud-native application3 that is operated with scalable AWS serverless technologies.
Fig.:
Architecture diagram
Tools and Technologies
- Terraform for Infrastructure as Code (IaC)
- Amazon API Gateway, AWS Lambda, OpenAI and Python as backend technology
- Angular as front-end technology
- OpenAPI and Swagger for interface specification and documentation
- Amazon S3 and Amazon CloudFront for content delivery
- Amazon Cloudwatch, AWS Lambda, EventBridge and Simple Notification Service (SNS) for monitoring and alerting
Approach
The ambitious schedule on the one hand and the budget and defined scope of functions on the other were the challenges during implementation. This could only be realised with the help of a very structured and time-efficient approach:
- The first week began with analysing and evaluating the existing source code and PoC functionalities as the basis for
defining the new architecture. - The next step involved splitting the architecture into front-end and back-end and specifying the interface (OpenAPI4).
- The user interface could now be rebuilt and back-end refactoring took place.
- At the same time, the IaC5-based build and deployment processes were established.
- The internet domain was then configured and the application was made available in the customer‘s AWS account for the first time.
- A test environment was set up and documentation/instructions were created.
- The handover to the customer took place at the end of the fourth week of the project.
After a project duration of two weeks, the Axians Amanox team was able to provide the customer with an initial demo version in the Axians environment. After just four weeks, the application was fully productive and was available to the first users and for the investor search!
Advantges
- Agility: The customer‘s idea was realised in just four weeks from kick-off to project completion.
- Single point of contact: Thanks to Axians Amanox‘s expertise, the project was fully realised from a single source (project management, UX design, AWS/IaaS, software development).
- Reliability: All agreements regarding time, costs and functionality were honoured.
- Transparency and communication: The client was part of the team and was able to actively influence the project at all times.
- Commitment: Axians Amanox proactively made and implemented suggestions for optimising the product.
“Axians Amanox carved a professional application out of my idea, which I handed over in the form of a „proof of concept“. All the desired features were implemented perfectly. Users benefit from an intuitive interface and fast, precise execution of the code. As part of the close collaboration, we were able to develop ideas for the future expansion of the scope of services together with the Axians Amanox team.“
Dr. Mueller continues:
„At Axians Amanox, the product idea was quickly captured and translated into a technically and financially efficient web solution. All agreements regarding schedule, functionalities and budget were met without compromise - and we were also offered support in dealing with the AWS platform! The solution in four words: efficient, professional, user-friendly and visually appealing.“
QnAI
QnAI provides a distinctive teaching and learning experience. QnAI creates exam and learning material at the push of a button with the help of artificial intelligence. The unique QnAI technology ensures the integrity of the content and transforms the exam into an interactive quiz with automatic, AI-based evaluation with unmatched reliability.
AWS
1 Server-generated HTML code that is transmitted to the user‘s browser.
2 An API gateway is an application programming interface (API) management tool that serves as a central entry point into a system and sits between the application user and a collection of backend services. It receives requests from an application user, forwards the request to the relevant services, collects the relevant data and summarises the results for the user in a single package.
3 Cloud-native applications are software programmes that consist of several small, interdependent services, known as microservices, and are operated on cloud platforms (often by public cloud providers).
4 OpenAPI is a standard that is used to describe application programming interfaces or APIs.
5 Infrastructure as Code (IaC) is an approach to automating and managing IT infrastructure through programmatic means such as scripts or configuration files. By using code, infrastructure components such as servers, networks and storage can be provided and managed quickly, consistently and repeatably.