FROM ON-PREMISE to CLOUD Migrating Web Applications Into AWS

FROM ON-PREMISE to CLOUD Migrating Web Applications Into AWS

FROM ON-PREMISE TO CLOUD Migrating Web Applications into AWS Kington Chan Institute for Genomic Medicine Business Case • On-premise Web Servers hosting about 10 Research Data Query Application • www.epi4kdb.org, www.egidb.org, etc. • Build on Tomcat 8 • With very large DB (over 500GB, keep growing) • Traffic volume varies & not unexpectable • Problems to be solved • Considerable administrative effort Ø Infrastructure maintenance Ø Servers patching Ø Service monitoring Ø System Backup • Poor resource usage • Not up to users’ satisfaction • Resilience & scalability Solution of Hosting Applications at AWS 3 Computing Options Service name Description AWS EC2 A managed environment for deploying virtual machines A managed environment for deploying containerized AWS ECS / EKS applications AWS Elastic Beanstalk A managed serverless platform for deploying applications A managed serverless platform for deploying event-driven AWS Lambda functions 4 Deploy AWS Elastic Beanstalk • PaaS for building scalable applications • Support most of the popular platforms. • Web applications and services developed with Java, .NET, PHP, Node.js, Python, Ruby, Go, and Docker on familiar servers such as Apache, NginX, Passenger, and IIS • Makes deployment, maintenance, and scalability easy so you can focus on innovation 5 Autoscaling to Meet Demand 6 Deployment – Application Source Bundle Create and upload a source bundle. • Logical collection of Elastic Beanstalk components, including environments and applications • Source bundle must meet the following requirements: Ø Consist of a single ZIP file or WAR file (you can include multiple WAR files inside one ZIP file) Ø Not exceed 512 MB Ø Not include a parent folder or top-level directory (subdirectories are fine) 7 Environment nginx-proxy.config tomcat.conf 8 Create Application Source Bundle Dockerfile generate_wars.sh 9 Rational Database Options Amazon Aurora • Custom engine for Amazon RDS • Optimized for performance in the cloud. • Compatible with both MySQL and PostgreSQL • High throughput, storage auto-scaling, and a self-healing, fault-tolerant storage system. It also provides point-in-time recovery and continuous backup, with replication across three availability zones keeping the data secure • Five times faster than standard MySQL databases and three times faster than PostgreSQL databases when used in the cloud 10 Monitoring • Fine-tune capacity • Applications debug • Issues trouble- shooting • Provide alters/warnings and trigger events for auto operations 11 Auto-Healing (Use Lambda Function) Downgraded services trigger restarting the application servers. 12 Future Work • Build CI/CD Pipeline • Other 13 Q &A 14.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    14 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us