By Stefano Dindo, AWS Alliance Lead – ZERO12
Parentsmile was born from an intuition and the personal experience of the founder’s mother, Cristina Lucera, who became aware that looking for qualified support for a parent—whether at home or remotely—is a hard task and often a leap in the dark.
Parentsmile is a unique reservation platform that integrates healthcare, training, educational, and all-encompassing psychophysical well-being services, focusing on the family care sector.
The role of ZERO12, a VAR Group company and AWS SaaS Competency Partner, in designing the Parentsmile platform architecture was to analyze the client’s idea and business model, lead them in the choice of services to use, and ensure the development of code was integrated with Amazon Web Services (AWS).
The goal was to provide end users with service reliability and data security, as well as the stability and scalability of the server-free solution.
This post demonstrates how ZERO12 built Parentsmile’s SaaS platform; exploring the main infrastructure with Amazon Elastic Container Service (Amazon ECS), the continuous integration and continuous delivery (CI/CD) process, and the asynchronous workflow for payments and reminders.
The Parentsmile platform allows parents, grandparents, and other family members to reserve a wide range of support and orientation services provided by professionals specialized in the family care sector. These professionals are validated by the Parentsmile team and available to the whole family either at home or through live video day or night—including the weekends.
The platform provides a highly differentiated offer, which allows users to find the support they need in a single platform. Currently, Parentsmile offers the services of midwives, speech therapists, psychologists and psychotherapists, osteopaths, nutritionists, educationists, and will soon include pediatric nurses, personal trainers, educators, and childcare workers.
Parentsmile’s unique shopping experience includes multiple services provided by a network of carefully selected professionals, a seamless user experience (UX), and real-time booking confirmations.
Artificial intelligence (AI) algorithms automatically associate each user with the most suitable service depending on their needs, saving people hours spent browsing hundreds of professional profiles.
Figure 1 – Front-end application design.
Parentsmile is focused on three main personas:
- Consumers or end users who make reservations, purchase the platform services in real-time, and can manage their own reservations autonomously from their reserved area.
- Professionals who provide and bill their services to consumers directly.
- Parentsmile operators who manage the back-office environment.
Parentsmile adopts a commission-based SaaS business model, meaning the platform retains a given percentage of the amount paid by end users to professionals for the services.
The Parentsmile platform was developed by ZERO12, a company specializing in the design and development of SaaS solutions based on AWS technologies.
As one of few AWS Partners to have the AWS SaaS Competency, which certifies their ability to develop scalable and sustainable cloud-native software solutions, Parentsmile decided to use ZERO12’s skills, including:
- Ability to turn ideas into software.
- Ability to develop cloud-native software that takes advantage of cloud services to have a scalable, efficient, and robust software solution.
- Working methodology that combines punctuality with flexibility and necessary changes with respect to the development plan of a new digital solution.
Parentsmile SaaS Application Architecture
The Parentsmile platform was implemented using a microservice-based approach, leveraging the most recent serverless development paradigms. This helped ensure a seamless integration between software and cloud architecture.
The platform is completely serverless and offers the highest flexibility and reliability of AWS managed services, which include:
- Amazon ECS on AWS Fargate for serverless container orchestration.
- Amazon DocumentDB with MongoDB compatibility for the main database.
- Amazon Simple Email Service (Amazon SES) and Amazon Simple Notification Service (Amazon SNS) to send emails and text messages, respectively.
- Amazon Simple Storage Service (Amazon S3) to store files and let users retrieve using a pre-signed URL.
- Amazon Cognito to authenticate users.
- AWS Lambda to perform asynchronous operations which are described later in this post.
Figure 2 – Front-end application and back-end main infrastructure.
There are three platforms: one for Parentsmile administrators, one for service providers (for example, healthcare and childcare professionals), and one for consumers. Each is accessible using Amazon CloudFront, which serves static files from Amazon S3. Using those two services, we help ensure scalability and reliability for users, as well as high performance on a global level.
One of the services offered by Parentsmile is a video consultation, also referred to as a remote examination. To develop this feature, ZERO12 evaluated the Amazon Chime managed service, which allowed us to focus on the business logic.
Continuous Integration and Continuous Delivery
The Parentsmile platform consists of a front-end and a back-end component. The CI/CD process starts on AWS CodeCommit.
For front-end and back-end, constant releases are performed for the code that’s been changed, so that if only one microservice is modified, then only the updated microservice will be deployed.
To do this, the first pipeline builds Docker images for every updated microservice and pushes them to Amazon Elastic Container Registry (Amazon ECR). Then, for each Amazon ECR image, a pipeline is triggered by Amazon CloudWatch and it builds and deploys each image to Amazon ECS.
Figure 3 – Continuous integration and continuous delivery architecture with AWS developer tools.
Serverless Asynchronous Workflows
The platform leverages the asynchronous calculation power offered by AWS Lambda and orchestration using AWS Step Functions. Using Lambda functions, ZERO12 managed to handle all asynchronous operations and achieve both goals of cost optimization and an improved user experience.
Figure 4 below shows an over-simplified setup of our Step Function workflow, which is normally used to schedule payments 48 hours prior to the appointment date, monthly invoices, user notifications, and create a Chime meeting minutes prior to the appointment.
Figure 4 – Scheduling infrastructure with AWS Step Functions.
Stripe was used for payment scheduling, which, thanks to its webhooks, integrates with the asynchronous workflow triggering Amazon API Gateway. This turns to AWS Lambda whenever an action is triggered.
Stripe webhooks also provide notifications when a payment is done or has been rejected, or even when there are actions on the professional connected account, such as the professional monthly payout.
Considering the use case, the Parentsmile platform needs the infrastructure to be highly secure. We use encryption at-rest with AWS Key Management Service (AWS KMS) and to protect data in transit, we use HTTPS protocol to communicate with our APIs.
Moreover, we use Amazon Cognito to authenticate and authorize users to access their private information. Authorized users can perform administrative operations.
In this post, we explored what it means to design a SaaS platform and how to use Amazon Elastic Container Service (Amazon ECS) to support a scalable and flexible architecture according to user volume in the platform.
We also explored how to make the deployment process faster through continuous integration and delivery systems to facilitate the work of the development team.
There are several benefits to adopting serverless services, in conjunction with the implementation of SaaS services.
First, the capacity to focus efforts on software feature development by having AWS provision resources based on the volume of traffic on the platform. This dynamic resource provisioning then allows you to create a solution with costs proportional to the actual business volume of the platform.
Additionally, using managed services enables ZERO12 to provide high availability and automatic scalability to Parentsmile end users—allowing ZERO12 to scale to thousands of customers and handle unpredictable traffic anytime and anywhere.
About ZERO12 s.r.l and AWS SaaS Competency
ZERO12 s.r.l. is an AWS SaaS Competency partner who helps AWS customers design and develop cutting edge software to drive digital transformation, through agile methodologies.
AWS SaaS Competency Partners have deep experience helping organizations design and build SaaS and cloud-native solutions on AWS. You can learn more about how AWS SaaS Competency partners, including ZERO12, on the program home page.
About AWS SaaS Factory
AWS SaaS Factory helps organizations at any stage of the SaaS journey. Whether looking to build new products, migrate existing applications, or optimize SaaS solutions on AWS, we can help. Visit the AWS SaaS Factory Insights Hub to discover more technical and business content and best practices.
SaaS builders are encouraged to reach out to their account representative to inquire about engagement models and to work with the AWS SaaS Factory team.
Sign up to stay informed about the latest SaaS on AWS news, resources, and events.
The content and opinions in this blog are those of the third-party author and AWS is not responsible for the content or accuracy of this post.
ZERO12 – AWS Partner Spotlight
ZERO12 is an AWS SaaS Competency Partner that designs and develops cutting edge software (cloud, big data, IoT, web, and mobile App) to drive customers’ digital transformation through agile methodologies and continuous delivery.
*Already worked with ZERO12? Rate the Partner
*To review an AWS Partner, you must be a customer that has worked with them directly on a project.