Technical Architecture Startup Company
Introduction
Currently the architecture for their social media applications uses a LAMP stack for the main web application and provide a RESTful API for mobile services, written in node.js. All of this is running on a VPS service, location unknown. The proposed architecture for running on AWS public cloud based on business growth in the next six months.
Objective
This document contains the architecture recommended by AWS for social media web applications for emerging enterprises. It regards mobile infrastructure as a cloud architecture that is manageable, secure, scalable, high-performance, efficient, elastic, highly available, fault-tolerant, and recoverable to the growing organization.
Problem Statement
The current state of the infrastructure does not allow for unquantified expansion and lacks disaster prevention capabilities. This is a significant risk to operations and may affect the growth of business at any time.
Goals
The solutions provided by various Amazon Web Services products and provide architecture diagrams and make all the theories made during the design process, and clearly explain how AWS Web Services will help solve specific problems for company.
OVERALL TECHNICAL ARCHITECTURE
The following architecture diagram shows the beginning of using the existing web-based LAMP stack architecture. The proposed architecture and solutions for the web-based mobile architecture represent a RESTful mobile back-end infrastructure that uses AWS-managed services to propose common back-end resource requirements. The architecture includes identity verification and identity functions, uses multiple forms to execute complex queries, and returns relevant data requested by users. The mobile infrastructure process of RESTful mobile back-end resources supporting mobile applications includes functional components based on business growth.
Overall Architectural Considerations:
- The mobile users authenticate using amazon Cognito simplify authentication and authorization, which offer mobile identity management, user pool, social identity providers. The mobile and web combination of identity federation with AWS security Token Service is a temporary issue key and expires with a short period.
- Users URLs route through the AWS Route53 Service based on the secure channel data that rests in transfer.
- The users will upload media files to store into the Amazon S3 bucket with highly available and durable. The CloudFront will provide an edge cache to users access the media with a low latency content delivery network.
- The mobile users will send a request to RESTful API Gateway to access the application and data. API Gateway for users to the entry point and AWS Lambda run with mobile application code.
- Mobile application runs on the Lambda its provide the high request from users capable of automatically manage the scale in the underlying resources. Lambda functions integrated with synchronized data store with Amazon PostgreSQL.
- The Data Tire Amazon DynamoDB provide fast and predictable performance with seamless scalability. Integrate with Lambda function query with fine-grain access control query of data store into structured with low latency, store the photo other files to object storage and serve any level of traffic. Also, DynamoDB provides high availability by replication across multiple availability zones.
- Amazon SNS integrated with Lambda for mobile users to communicate and push notification each communication and message alerts.
- CloudWatch logs, monitor and archive the elastic beanstalk application, system and custom logs file EC2 instances. Cloud watch supports elastic beanstalk executing an auto-scaling policy and includes all the Infrastructure monitoring and alert using SNS.
- Amazon Glacier for Data Archival using lifecycle policy.
- Using AWS CodePipeline, a service that builds, test and deploys based on code every time is change. The CodeCommit repository is a code location for the application code. AWS Elastic Beanstalk deployment target for application. The pipeline will detect the changes made to the soured code repository automatically update the work environments. Continuous Deployment allows deploying the revision of the production environment automatically without explicit approval from a developer.
Architecture Component AWS Services Recommended to Start-up Requirements:
Identity Management AWS Cognito
Amazon Cognito simplifies the user’s authentication and authorization with users pools. Social identity management systems provide user sign-up features integrates with identity and access management. Its support for multifactor authentication to the apps also authenticate through social identity provides such as Facebook, Twitter and Google.
Amazon Simple Storage Service (Amazon S3)
Amazon S3 stores mobile and web application static contents, the presentation tier also include a web tire statically hosted Amazon S3 and user store profile images into the object.
Amazon Cloud Front and Route53
The users are routed through Amazon Route53 DNS edge location using delivering static contents sitting Amazon S3 and distributed via CloudFront CDN.
API Gateway, AWS Lambda and Amazon DynamoDB
- Presentation Tier and Web Tier:
The Presentation Tier of solution user using mobile application (Android, iOS and Mobile Web) applications that interact with Logic Tier via API Gateway. The mobile application that communicates with Logic Tier is secured using AWS Cognito.
- Logic Tier:
The Logic Tier solution of the requirement of the business growth aligns with zero compute administration with Lambda functions. Lambda function internally communicates with Data Tier. The RESTful API Gateway is the front door to the presentation tier to access the data the core business logic for the mobile backend.
Lambda function run the code across multiple availability zones in a region, which provides high availability, security, performance, and scalability.
Integration with CloudWatch makes it to monitor and analyse API usage.
Integration with Amazon SNS sends a real-time push notification.
- Data Tier:
The Data Tier solution is highly available, fully managed and scalable services. Amazon DynamoDB provides a persistence layer where data can be stored by the API’s Lambda function trigger datastore for storing structured data with low latency access. S3 store the photo other files to object storage and serve any level of traffic. Also, DynamoDB provides high availability by replication across multiple availability zones.
Mobile Push Notification – Amazon SNS
Amazon Simple Notification Service (SNS) solution is a fast and flexible push notification service that is very cost-effective and sends a notification to mobile users or email recipients. Lambda function integrates with trigger the push notification send messages.
Amazon Glacier
The data stored in the Amazon S3 object is archived after six months into the Amazon Glacier service by applying a lifecycle policy to the Archive into the Amazon Glacier S3 bucket.
Disaster Recover Planning
AWS Elastic Beanstalk and Lambda services underlying infrastructure offer fault tolerance and high availability using multiple availability zones to protect the solutions.
Amazon Code Pipeline
The architecture of AWS services deployed using Cloudformation for infrastructure and Application deploy using AWS CodePipeline. AWS CodePipeline, a service that builds, test and deploys based on code every time is change. The CodeCommit repository is a code location for the application code. AWS Elastic Beanstalk deployment target for Application.
Conclusion
The solution is to focus on key inputs of the company growth. The overall solution AWS PaaS services offering in public cloud implement to highly scalable and availability to web and mobile application with delivering performance base autoscaling and easy continuous integration and continuous delivery.