FROM ON-PREMISE to CLOUD Migrating Web Applications Into AWS

Total Page:16

File Type:pdf, Size:1020Kb

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.
Recommended publications
  • Introducing Amazon RDS for Aurora Chris Littlefield, AWS Certified Solutions Architect – Associate Level, AWS Certified Sysops Administrator – Associate Level
    Expert Reference Series of White Papers Introducing Amazon RDS for Aurora 1-800-COURSES www.globalknowledge.com Introducing Amazon RDS for Aurora Chris Littlefield, AWS Certified Solutions Architect – Associate Level, AWS Certified SysOps Administrator – Associate Level Introduction The following document provides an overview of one of the latest offerings from cloud leader Amazon Web Services (AWS). It’s a product that will enable powerful, massively scalable relational databases in Amazon’s cloud environment. The product was designed, built, and tested in secret over the past three years, and now it is nearly ready for production workloads. Some of its detailed design remains confidential, so we’ll present the released features and functionality, as well as pricing for this exciting new product. Background In November 2014, at Amazon Web Services’ annual conference re:Invent, Andy Jassy introduced a series of revolutionary new products. Among those new products is the product described in this paper, which is based on AWS’s hugely successful Relational Database Service (RDS). So what’s this new product, you ask? It’s Amazon Aurora for RDS. Aurora is MySQL compatible database solution that will enable highly scalable databases running across multiple AWS availability zones, at a very low price point. It’s designed to deliver the performance and availability of commercial grade databases at the simplicity and price point of open source databases. What is Amazon Aurora? Aurora is a MySQL compatible database engine that far exceeds the current size limitations of relational databases running on RDS. It spans three AWS availability zones within a region. The great news is that if you already use or are familiar with RDS, you’re already going to be comfortable configuring Aurora.
    [Show full text]
  • Rose Gardner Mysteries
    JABberwocky Literary Agency, Inc. Est. 1994 RIGHTS CATALOG 2019 JABberwocky Literary Agency, Inc. 49 W. 45th St., 12th Floor, New York, NY 10036-4603 Phone: +1-917-388-3010 Fax: +1-917-388-2998 Joshua Bilmes, President [email protected] Adriana Funke Karen Bourne International Rights Director Foreign Rights Assistant [email protected] [email protected] Follow us on Twitter: @awfulagent @jabberworld For the latest news, reviews, and updated rights information, visit us at: www.awfulagent.com The information in this catalog is accurate as of [DATE]. Clients, titles, and availability should be confirmed. Table of Contents Table of Contents Author/Section Genre Page # Author/Section Genre Page # Tim Akers ....................... Fantasy..........................................................................22 Ellery Queen ................... Mystery.........................................................................64 Robert Asprin ................. Fantasy..........................................................................68 Brandon Sanderson ........ New York Times Bestseller.......................................51-60 Marie Brennan ............... Fantasy..........................................................................8-9 Jon Sprunk ..................... Fantasy..........................................................................36 Peter V. Brett .................. Fantasy.....................................................................16-17 Michael J. Sullivan ......... Fantasy.....................................................................26-27
    [Show full text]
  • Amazon Documentdb Deep Dive
    DAT326 Amazon DocumentDB deep dive Joseph Idziorek Antra Grover Principal Product Manager Software Development Engineer Amazon Web Services Fulfillment By Amazon © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Agenda What is the purpose of a document database? What customer problems does Amazon DocumentDB (with MongoDB compatibility) solve and how? Customer use case and learnings: Fulfillment by Amazon What did we deliver for customers this year? What’s next? © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Purpose-built databases Relational Key value Document In-memory Graph Search Time series Ledger Why document databases? Denormalized data Normalized data model model { 'name': 'Bat City Gelato', 'price': '$', 'rating': 5.0, 'review_count': 46, 'categories': ['gelato', 'ice cream'], 'location': { 'address': '6301 W Parmer Ln', 'city': 'Austin', 'country': 'US', 'state': 'TX', 'zip_code': '78729'} } Why document databases? GET https://api.yelp.com/v3/businesses/{id} { 'name': 'Bat City Gelato', 'price': '$', 'rating': 5.0, 'review_count': 46, 'categories': ['gelato', 'ice cream'], 'location': { 'address': '6301 W Parmer Ln', 'city': 'Austin', 'country': 'US', 'state': 'TX', 'zip_code': '78729'} } Why document databases? response = yelp_api.search_query(term='ice cream', location='austin, tx', sort_by='rating', limit=5) Why document databases? for i in response['businesses']: col.insert_one(i) db.businesses.aggregate([ { $group: { _id: "$price", ratingAvg: { $avg: "$rating"}} } ]) db.businesses.find({
    [Show full text]
  • Getting Started with AWS Deploying a Web Application Getting Started with AWS Deploying a Web Application
    Getting Started with AWS Deploying a Web Application Getting Started with AWS Deploying a Web Application Getting Started with AWS: Deploying a Web Application Copyright © 2014 Amazon Web Services, Inc. and/or its affiliates. All rights reserved. The following are trademarks of Amazon Web Services, Inc.: Amazon, Amazon Web Services Design, AWS, Amazon CloudFront, Cloudfront, Amazon DevPay, DynamoDB, ElastiCache, Amazon EC2, Amazon Elastic Compute Cloud, Amazon Glacier, Kindle, Kindle Fire, AWS Marketplace Design, Mechanical Turk, Amazon Redshift, Amazon Route 53, Amazon S3, Amazon VPC. In addition, Amazon.com graphics, logos, page headers, button icons, scripts, and service names are trademarks, or trade dress of Amazon in the U.S. and/or other countries. Amazon©s trademarks and trade dress may not be used in connection with any product or service that is not Amazon©s, in any manner that is likely to cause confusion among customers, or in any manner that disparages or discredits Amazon. All other trademarks not owned by Amazon are the property of their respective owners, who may or may not be affiliated with, connected to, or sponsored by Amazon. Getting Started with AWS Deploying a Web Application Table of Contents Welcome ..................................................................................................................................... 1 Overview of the Project .................................................................................................................. 2 AWS Elastic Beanstalk ..........................................................................................................
    [Show full text]
  • AWS Certified Developer – Associate (DVA-C01) Sample Exam Questions
    AWS Certified Developer – Associate (DVA-C01) Sample Exam Questions 1) A company is migrating a legacy application to Amazon EC2. The application uses a user name and password stored in the source code to connect to a MySQL database. The database will be migrated to an Amazon RDS for MySQL DB instance. As part of the migration, the company wants to implement a secure way to store and automatically rotate the database credentials. Which approach meets these requirements? A) Store the database credentials in environment variables in an Amazon Machine Image (AMI). Rotate the credentials by replacing the AMI. B) Store the database credentials in AWS Systems Manager Parameter Store. Configure Parameter Store to automatically rotate the credentials. C) Store the database credentials in environment variables on the EC2 instances. Rotate the credentials by relaunching the EC2 instances. D) Store the database credentials in AWS Secrets Manager. Configure Secrets Manager to automatically rotate the credentials. 2) A Developer is designing a web application that allows the users to post comments and receive near- real-time feedback. Which architectures meet these requirements? (Select TWO.) A) Create an AWS AppSync schema and corresponding APIs. Use an Amazon DynamoDB table as the data store. B) Create a WebSocket API in Amazon API Gateway. Use an AWS Lambda function as the backend and an Amazon DynamoDB table as the data store. C) Create an AWS Elastic Beanstalk application backed by an Amazon RDS database. Configure the application to allow long-lived TCP/IP sockets. D) Create a GraphQL endpoint in Amazon API Gateway. Use an Amazon DynamoDB table as the data store.
    [Show full text]
  • A Serverless Journey: Under the Hood of AWS Lambda
    S V S 4 0 5 - R A Serverless Journey: Under the Hood of AWS Lambda Holly Mesrobian Marc Brooker Director of Engineering Senior Principal Engineer Amazon AWS Lambda Amazon AWS Serverless Amazon Web Services Amazon Web Services © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. SERVERLESS AT SCALE IS THE NEW NORM processes 4,000 requests executes 16 million per second requests a month processes half a trillion validations of stock trades daily ingests, analyzes and processes tens of stores 17+ petabytes of billions of data data per season points monthly API traffic to register and license more than 47 million driver records in Great Britain, © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Load Balancing Scaling Up and Down Handling Failures Predictable Low Latency AWS Lambda Handles Event Processing Stream Processing Predictable Performance Innovations in Isolation © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. AWS Cloud Region Availability Zone 1 Worker Mgr Worker Claim Worker Invoke Placement Front End Invoke Reserve Sandbox Worker Mgr Init Lambda customer Worker (New Function or Scaling Up) Invoke Front End Worker Availability Zone 2 AWS Cloud Region Availability Zone 1 Worker Mgr Worker Invoke Front End Invoke Reserve Sandbox Lambda customer Worker Mgr Worker (Existing Worker, Existing Sandbox) Invoke Front End Worker Availability Zone 2 Poller Consumes events and ensures they are processed State Manager or Stream Tracker Handles scaling by managing Pollers and event or stream source resources Leasing Service Assigns Pollers to work on a specific event or streaming source © 2019, Amazon Web Services, Inc.
    [Show full text]
  • AWS Autotech Forum 2020 Online #1
    AWS Autotech Forum 2020 Online #1 2020/08/07 © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. ) ( ( AWS Glue Amazon Kinesis Amazon S3 © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. • • • • AWS • Next Action © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. • • • ü ü • Next Step • © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark LIDAR Camera Telematics Control Unit GPS/HD Maps Accelerometer/Gyroscope Odometry Cellular/DSRC Radar Infrared Ultrasonic © 2020,© 2018, Amazon Amazon Web Web Services, Services, Inc. Inc.or its or Affiliates. its Affiliates. All rightsAll rights reserved. reserved. , ), (, :, { “trip_id”: “00000001”, “timestamp”: “202008071000”, “x_value”: “0.342264”, “y_value”: “0.011724”, ”z_value”: “0.924651”, } / : , etc. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. / { “trip_id”: “00000001”, “timestamp”: “202008071000”, “x_value”: “0.342264”, “y_value”: “0.011724”, ”z_value”: “0.924651”, ( ( )/.,( ( ( } : c c e © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. ) • • • ( • © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Confidential and Trademark What is Data Lake? • • • © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 1 A B © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 2. C D © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. .. 3Hadoop 3 Amazon Simples Storage Service(S3) © 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. • RDBMS • • • )API( API © 2020, Amazon Web Services, Inc.
    [Show full text]
  • Optimizing Lambda Performance for Your Serverless Applications
    Optimizing Lambda performance for your serverless applications James Beswick Senior Developer Advocate, AWS Serverless @jbesw © 2020, Amazon Web Services, Inc. or its Affiliates. About me • James Beswick • Email: [email protected] • Twitter: @jbesw • Senior Developer Advocate – AWS Serverless • Self-confessed serverless geek • Software Developer • Product Manager • Previously: • Multiple start-up tech guy • Rackspace, USAA, Morgan Stanley, J P Morgan © 2020, Amazon Web Services, Inc. or its Affiliates. Agenda Memory and profiling © 2020, Amazon Web Services, Inc. or its Affiliates. How does Lambda work? © 2020, Amazon Web Services, Inc. or its Affiliates. Anatomy of an AWS Lambda function Your function Language runtime Execution environment Lambda service Compute substrate © 2020, Amazon Web Services, Inc. or its Affiliates. Where you can impact performance… Your function Language runtime Execution environment Lambda service Compute substrate © 2020, Amazon Web Services, Inc. or its Affiliates. Anatomy of an AWS Lambda function Handler () function Event object Context object Function to be executed Data sent during Lambda Methods available to upon invocation function Invocation interact with runtime information (request ID, log group, more) // Python // Node.js import json const MyLib = require(‘my-package’) import mylib const myLib = new MyLib() def lambda_handler(event, context): exports.handler = async (event, context) => { # TODO implement # TODO implement return { return { 'statusCode': 200, statusCode: 200, 'body': json.dumps('Hello World!') body: JSON.stringify('Hello from Lambda!') } } } © 2020, Amazon Web Services, Inc. or its Affiliates. Function lifecycle – worker host Start new Download Execution Execute Execute your code environment INIT code handler code Full Partial Warm cold start cold start start AWS optimization Your optimization © 2020, Amazon Web Services, Inc.
    [Show full text]
  • Web Application Hosting in the AWS Cloud AWS Whitepaper Web Application Hosting in the AWS Cloud AWS Whitepaper
    Web Application Hosting in the AWS Cloud AWS Whitepaper Web Application Hosting in the AWS Cloud AWS Whitepaper Web Application Hosting in the AWS Cloud: AWS Whitepaper Copyright © Amazon Web Services, Inc. and/or its affiliates. All rights reserved. Amazon's trademarks and trade dress may not be used in connection with any product or service that is not Amazon's, in any manner that is likely to cause confusion among customers, or in any manner that disparages or discredits Amazon. All other trademarks not owned by Amazon are the property of their respective owners, who may or may not be affiliated with, connected to, or sponsored by Amazon. Web Application Hosting in the AWS Cloud AWS Whitepaper Table of Contents Abstract ............................................................................................................................................ 1 Abstract .................................................................................................................................... 1 An overview of traditional web hosting ................................................................................................ 2 Web application hosting in the cloud using AWS .................................................................................... 3 How AWS can solve common web application hosting issues ........................................................... 3 A cost-effective alternative to oversized fleets needed to handle peaks ..................................... 3 A scalable solution to handling unexpected traffic
    [Show full text]
  • Planning and Designing Databases on AWS (AWS-PD-DB)
    Planning and Designing Databases on AWS (AWS-PD-DB) COURSE OVERVIEW: In this course, you will learn about the process of planning and designing both relational and nonrelational databases. You will learn the design considerations for hosting databases on Amazon Elastic Compute Cloud (Amazon EC2). You will learn about our relational database services including Amazon Relational Database Service (Amazon RDS), Amazon Aurora, and Amazon Redshift. You will also learn about our nonrelational database services including Amazon DocumentDB, Amazon DynamoDB, Amazon ElastiCache, Amazon Neptune, and Amazon QLDB. By the end of this course, you will be familiar with the planning and design requirements of all 8 of these AWS databases services, their pros and cons, and how to know which AWS databases service is right for your workloads. WHO WILL BENEFIT FROM THIS COURSE? • Data platform engineers • Database administrators • Solutions architects • IT professionals PREREQUISITES: We recommend that attendees of this course have previously completed the following AWS courses: • AWS Database Offerings digital training • Data Analytics Fundamentals digital training • Architecting on AWS classroom training COURSE OBJECTIVES: After completion of this course, students will be able to... • Apply database concepts, database management, and data modeling techniques • Evaluate hosting databases on Amazon EC2 instances • Evaluate relational database services (Amazon RDS, Amazon Aurora, and Amazon Redshift) and their features • Evaluate nonrelational database services
    [Show full text]
  • Building Devops on Amazon Web Services (AWS) 2 Building Devops on Amazon Web Services (AWS)
    IBM Global Business Services January 2018 White paper Building DevOps on Amazon Web Services (AWS) 2 Building DevOps on Amazon Web Services (AWS) Abstract IBM defines DevOps as an enterprise capability that enables organizations to seize market opportunities and reduce time to At its core, DevOps makes delivery of applications more customer feedback, and has three main business objectives: efficient. Amazon Web Services (AWS) has the platform and services to recognize a code change and automate delivery of 1. Speeding continuous innovation of ideas by enabling that change from development, through the support collaborative development and testing across the value environments, to production. However, delivery of code is just chain one aspect of DevOps. 2. Enabling continuous delivery of these innovations by automating software delivery processes and eliminating IBM extends the DevOps definition, making it an enterprise waste, while also helping to meet regulatory concerns capability that enables organizations to seize market 3. Providing a feedback loop for continuous learning from opportunities and reduce time to customer feedback. IBM’s customers by monitoring and optimizing software-driven main objectives are speeding continuous innovation of ideas, innovation enabling continuous delivery of those innovations, and providing meaningful feedback for continuous learning, thereby putting all the emphasis on deciding what code to change. IBM extends DevOps to include all stakeholders in an organization who develop, operate or benefit from businesses systems. DevOps enables design thinking, which focuses on user outcomes, restless reinvention, and empowering teams to act. In addition, DevOps enables lean and agile methodologies, which guide teams to deliver in smaller increments and get early feedback.
    [Show full text]
  • Amazon Aurora
    D A T 2 0 2 - R What's new in Amazon Aurora Tony Petrossian GM Amazon Aurora Amazon Web Services © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Aurora Enterprise database at open source price Delivered as a managed service Drop-in compatibility with MySQL and PostgreSQL Simplicity and cost-effectiveness of open-source databases Throughput and availability of commercial databases Amazon Aurora Simple pay-as-you-go pricing 4 © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Database layers SQL Transactions Multiple layers Caching of processing all in a single Logging & Storage engine Aurora decouples storage and query processing SQL Database Transactions node Caching Amazon Aurora Storage Processing Shared storage volume nodes Storage Storage Scale-out, distributed storage processing architecture Purpose-built log-structured distributed Availability Zone 1 Availability Zone 2 Availability Zone 3 storage system designed for databases SQL SQL SQL Storage volume is striped across hundreds Transactions Transactions Transactions of storage nodes distributed over 3 Caching Caching Caching Instancenodes different Availability Zones Six copies of data, two copies in each Availability Zone to protect against AZ+1 Shared storage volume failures Data is written in 10 GB “protection nodes Storage groups”, growing automatically when needed 8 © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Aurora: Why re-imagine the RDBMS Customers Aurora: Why re-imagine the RDBMS Aurora:
    [Show full text]