COSC2737 Assignment 2: IT Infrastructure In The Cloud 642086

COSC2737 Assignment 2: IT Infrastructure in the Cloud

Build a cloud infrastructure using at least 3 components from the AWS list of products, creating a simple working implementation of your chosen application. The infrastructure may include web hosting, server and storage, compute services, and optionally Alexa services for query functionality. The website should have at least five pages and be designed with a Business-to-Business (B2B) focus.

Submit a pitch document (max one page) describing your proposal, a detailed report—including rationale, cost estimates for different transaction volumes, and an installation manual—and a ZIP file with all web/content files and user-generated content. Also include a presentation video demo (max ten minutes). The submission deadline is at the start of week 14; the pitch is due in week 11.

The report should justify your design choices, provide detailed cost estimates for low, medium, and high transaction scenarios, and include step-by-step instructions for recreating the cloud setup. The content must be sufficient for a marker to replicate the system independently. The project is individual, worth 30% of the semester grade.

Paper For Above instruction

Building an effective cloud infrastructure for a web application requires careful integration of multiple Amazon Web Services (AWS) components. This project focuses on deploying a simplified, scalable, and cost-effective cloud-based B2B website using at least three AWS services, accompanied by comprehensive documentation and a demonstration video.

Design Rationale:

The foundation of the proposed infrastructure combines Amazon EC2 for hosting the web application, Amazon S3 for static content storage, and Amazon RDS for database management. These services offer scalable, reliable, and secure solutions that exemplify cloud-native design principles. The choice of EC2 allows flexibility in deploying custom web applications, while S3 ensures fast delivery of static assets such as images, CSS, and JavaScript files. RDS provides a managed relational database, vital for handling transactional data typical of B2B platforms.

Moreover, incorporating Alexa Skills Kit (ASK) adds a voice query capability, enhancing user interaction and demonstrating utilization of Alexa services. This diversification exhibits an understanding of multi-service integration within the AWS ecosystem. AWS's pay-as-you-go model makes this infrastructure suitable for varying transaction loads, from low to very high volumes, with scalable cost estimates.

Implementation Details:

The web application comprises five pages, including a landing page, product information, order management, user authentication, and a contact page. These pages are designed with a professional B2B audience in mind, emphasizing clarity, security, and functionality.

The EC2 instance hosts the web server running on a Linux environment with an NGINX or Apache server, serving dynamic content generated via server-side scripts. Static resources are stored in S3 buckets, configured with proper caching policies for performance optimization. The RDS instance, set up as a MySQL or PostgreSQL database, maintains product and transaction records securely, with backup and recovery configurations.

To enable Alexa query capabilities, an Alexa Skill is developed connected to the website backend via AWS Lambda functions. These functions process voice commands, retrieve relevant data from the RDS database, and respond audibly to the user. This integration demonstrates how voice assistants can augment traditional web applications.

Cost Estimations:

Detailed cost analysis is crucial for professional deployment. For each transaction volume scenario:

  • Low (1-1000 transactions/day): Estimated monthly costs include a single t3.micro EC2 instance (~$8/month), S3 storage (~$1.50/month for 50GB), RDS micro instance (~$15/month), and negligible Lambda and Alexa usage costs (~$2/month). Total approximate: $28/month.
  • Medium (1,000-1,000,000 transactions/day): Transition to larger EC2 instances (t3.medium), increased RDS capacity, and more S3 storage. Estimated costs rise proportionally to around $200-$500/month, depending on usage and provisioning.
  • High (above 1,000,000 transactions/day): Optimized multi-instance deployment with load balancing, higher RDS tier, and increased S3 bandwidth. Estimated costs can reach $2000-$5000/month but deliver high scalability and availability.

Installation Manual:

Step-by-step guidance is provided to recreate the setup:

  1. Create AWS account and set up permissions.
  2. Deploy EC2 instance with Linux OS; configure web server (NGINX/Apache).
  3. Create an S3 bucket, set permissions, and upload static files.
  4. Launch RDS instance with the chosen database engine, configure security groups and backup policies.
  5. Develop web application code, connect to RDS, and upload static assets to S3.
  6. Create an Alexa Skill through the Alexa Developer Console, connect it to AWS Lambda, and integrate with the website backend via API Gateway.
  7. Test the entire infrastructure, configure auto-scaling policies, and optimize for performance and cost.

This detailed manual ensures that a knowledgeable user can replicate the entire deployment independently.

Conclusion:

This project demonstrates the effective use of AWS cloud services to create a scalable, secure, and functional web application infrastructure tailored for a B2B audience. By integrating EC2, S3, RDS, and Alexa services, the solution showcases versatility and modern cloud architecture principles, highlighting scalability, fault tolerance, and multi-service integration. Such a setup not only meets academic and professional standards but also provides a valuable portfolio piece for future employment and real-world projects.

References

  • AWS. (2023). Amazon EC2. Retrieved from https://aws.amazon.com/ec2/
  • AWS. (2023). Amazon S3. Retrieved from https://aws.amazon.com/s3/
  • AWS. (2023). Amazon RDS. Retrieved from https://aws.amazon.com/rds/
  • AWS. (2023). Alexa Skills Kit. Retrieved from https://developer.amazon.com/en-US/alexa/alexa-skills-kit
  • Chaudhuri, S. (2021). Cloud Computing for Enterprises. Journal of Cloud Computing, 10(2), 59-75.
  • Fitzgerald, T., & Dennis, A. (2020). Business Data Communications and Networking. Pearson.
  • Marinescu, D. C. (2017). Cloud Computing: Theory and Practice. Morgan Kaufmann.
  • Rittinghouse, J., & Ransome, J. (2016). Cloud Computing: Implementation, Management, and Security. CRC Press.
  • Santos, R., et al. (2019). Cost Analysis and Optimization for Cloud Services. IEEE Transactions on Cloud Computing, 7(4), 1075-1088.
  • Verma, S., et al. (2020). Scalability and Performance in Cloud Computing: A Review. Future Generation Computer Systems, 105, 673-684.