AMAZON CLOUD SERVICES – A WALKTHROUGH FOR COMPARISON TO GAE

Slides:



Advertisements
Similar presentations
Building Database Relationships
Advertisements

Programming with Android: SDK install and initial setup Luca Bedogni Marco Di Felice Dipartimento di Scienze dellInformazione Università di Bologna.
Legal Meetings: Extended Instructions on Movica and Screencast.
WebDT Content Manager 6.0 Pro
Welcome to Middleware Joseph Amrithraj
Development Configuration Guide Using NetBeans IDE
NJIT Creating a Online Music Store using Amazon Web Services Final Project CS633:851 Joe DosAnjos ~ Puneet Kaur Deepti Madiraju ~ Slavica Pepovska Prem.
Developing in CAS. Why? As distributed you edit CAS 3 with Eclipse and build with Maven 2 – Best Practice for Release Engineering – Difficult edit-debug.
beas WEB App Installation
Amazon Web Services (aws) B. Ramamurthy. Introduction  Amazon.com, the online market place for goods, has leveraged the services that worked for their.
© 2013 A. Haeberlen, Z. Ives Cloud Storage & Case Studies NETS 212: Scalable & Cloud Computing Fall 2014 Z. Ives University of Pennsylvania 1.
Amazon Web Services and Eucalyptus
Programming with Android: SDK install and initial setup Luca Bedogni Marco Di Felice Dipartimento di Informatica: Scienza e Ingegneria Università di Bologna.
1 NETE4631 Cloud deployment models and migration Lecture Notes #4.
Visual Studio Online. What it Provides Visual Studio Online, based on the capabilities of Team Foundation Server with additional cloud services, is the.
Google App Engine Cloud B. Ramamurthy 7/11/2014CSE651, B. Ramamurthy1.
Hello Vaadin! CS 3130 Summer 2015.
Nikolay Tomitov Technical Trainer SoftAcad.bg.  What are Amazon Web services (AWS) ?  What’s cool when developing with AWS ?  Architecture of AWS 
ANDROID PROGRAMMING MODULE 1 – GETTING STARTED
Microsoft Office 2013 ®® Appendix A Introduction to Cloud Computing.
SET UP COMPUTER ** PLEASE BE AWARE SCREENSHOTS MAY NOT MATCH **
WebServer & Tomcat By B. Venkateswarlu M.Tech Assoc Prof IT(Dept) Newton’s Institute of Engineering.
TUTORIAL (1) Software installation Written by: Eng. Ahmed Mohamed Abdel Ghafar, Edited by Eng. Muhammed Hammad, Eng. Hamdy Soltan & Eng. Osama Talaat.
Creating a Hello App Using Google App Engine. What are Google apps? Apps is an abbreviation for application. An app is a piece of software. It can run.
Platform as a Service (PaaS)
Google AppEngine. Google App Engine enables you to build and host web apps on the same systems that power Google applications. App Engine offers fast.
Amazon EC2 Quick Start adapted from EC2_GetStarted.html.
Google App Engine Danail Alexiev Technical Trainer SoftAcad.bg.
Talend 5.4 Architecture Adam Pemble Talend Professional Services.
JSP and Servlets Lecture notes by Theodoros Anagnostopoulos.
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
Android. The Eclipse IDE Installation Requirements: Eclipse Java Windows All must match (32-bit OR 64-bit) If you have a 64-bit OS & 32-bit browser,
1 NETE4631 Using Google Web Services and Using Microsoft Cloud Services Lecture Notes #7.
1 IMPORTANT NOTE  IMPORTANT NOTE not  As of this writing the default project you will download, import and use in this class is not enabled for Tomcat.
Developing Axis based Web Services using Eclipse 3.3 Saurabh Mittal Feb 28, 2008.
ALVIN CHAO GRIDS & PIECES : MINIMIZE LOAD TIME & INCREASE ACCESSIBILITY WITH RSS & CSS.
In the name of God :).
© 2012 Autodesk Implementing Cloud-Based Productivity Solutions with the AutoCAD® ObjectARX® API Ravi Krishnaswamy Senior Software Architect.
靜宜大學資管系 楊子青 1 Working with Databases (II) 靜宜大學資管系 楊子青
IBM OmniFind Enterprise Edition V9.1 – July 2010 Data Source – FileNet P8 crawler overview  Key features: –Access to FileNet P8 Content Engine by using.
Plug-in Development Environment. Session Outline Tools Installation Configuration New Project Basic Debugging Remote Debugging.
608D CloudStack 3.0 Omer Palo Readiness Specialist, WW Tech Support Readiness May 8, 2012.
Topic Java EE installation (Eclipse, glassfish, etc.) Eclipse configuration for EE Creating a Java Web Dynamic Project Creating your first servlet.
Liferay Installation Prepared by: Do Xuan Hai 8 August 2011.
What is it? CLOUD COMPUTING.  Connects to the cloud via the Internet  Does computing tasks, or  Runs applications, or  Stores Data THE AVERAGE CLOUD.
Core basic Java web server technologies. Tools Eclipse IDE for Java EE Developers (Netbeans also works) nloads/packages/eclipse-
Course Overview, JDK & NetBeans BCIS 3680 Enterprise Programming.
Launch Amazon Instance. Amazon EC2 Amazon Elastic Compute Cloud (Amazon EC2) provides resizable computing capacity in the Amazon Web Services (AWS) cloud.
1 NETE4631 Using Google Web Services Lecture Notes #6.
Google App Engine using Java 1. Outline Getting started Guestbook example Todo example Simplified Madlib 2.
Azure App Service Ali Siddiqui Principal Software Engineer Azure, Microsoft 1.
© 2015 MetricStream, Inc. All Rights Reserved. AWS server provisioning © 2015 MetricStream, Inc. All Rights Reserved. By, Srikanth K & Rohit.
What is Cloud Computing 1. Cloud computing is a service that helps you to perform the tasks over the Internet. The users can access resources as they.
Google App Engine using Java 1. Outline Getting started Guestbook example Todo example Simplified Madlib 2.
Amazon Web Services. Amazon Web Services (AWS) - robust, scalable and affordable infrastructure for cloud computing. This session is about:
COM621: Advanced Interactive Web Development Lecture 10 PHP and MySQL.
Cloud-Computing Cloud Web-Blog Software Application Download Software.
Platform as a Service (PaaS)
Amazon Web Services (aws)
File Management in the Cloud
Platform as a Service (PaaS)
Objectives Create a folder in Google Drive.
Obtaining the Required Tools
Amazon Storage- S3 and Glacier
Jon Galloway | Tech Evangelist Christopher Harrison | Head Geek
The Improvement of PaaS Platform ZENG Shu-Qing, Xu Jie-Bin 2010 First International Conference on Networking and Distributed Computing SQUARE.
Acutelearn Amazon Web Services Training Classroom Training Instructor led trainings at Acutelearn premises Corporate Training Custom tailored trainings.
Google App Engine B. Ramamurthy Based on the material available at
Google App Engine Danail Alexiev
Amazon Web Services.
Presentation transcript:

AMAZON CLOUD SERVICES – A WALKTHROUGH FOR COMPARISON TO GAE

Installing developer tools for Amazon's Web Services (AWS) into Eclipse Download Eclipse Enterprise Edition – Start Eclipse, use Help -> Install New Software – – Probably can omit the AWS tools for Android Restart Eclipse, go to Workbench

Creating a HelloWorld app Create a new AWS Java Web Project (orange box icon) Notice the project structure – Follows current web application standards – (Google App Engine probably will get up to date!) – Your jsps will go in the WebContent folder Right click on WebContent -> New -> JSP Insert

Tour through an AWS app

Running your HelloWorld app Choose Run -> Run As -> Run on Server Manually create a new server – Apache / Tomcat 6 – You probably will need to download and install using the button provided – Wait for Tomcat to install and start up Open up a web browser Go to – Edit the project name to match yours (HelloWorld)

Amazon Elastic Beanstalk Load-balanced web hosting platform – Very similar to Google App Engine environment – Somewhat more configurable in terms of specifying when number of servers should grow

Create a deployment environment

Ready to deploy? Choose Run -> Run As -> Run on Server Choose your new server environment Finally, hit the app in the Eclipse mini browser

All this and more… Amazon provides cloud-based storage for your data – But you need to sign up for an account – And provide them a credit card – After you sign up, you get an accessKey & secretKey – Put these in your Eclipse project within Java Resources / src / AwsCredentials.properties Then you can hit and see the resources that Amazon wants you to use online

The resources I currently am using… S3 Buckets: Basically a blob SimpleDB: non-RDBMS data store EC2: Computation servers

Amazon S3 Buckets A "bucket" is just a place to store chunks of data Every chunk has a unique URL You store data to the URL; you retrieve data later You can set restrictions to control whether other people can retrieve the content by URL (with/without authenticating first) Every bucket is associated with a specific region – High replication within that region (for reliability) – No replication outside that region (for legal reasons)

Creating a bucket // instantiate an S3 connection as shown in default index.jsp // (I'd prefer to move it into a separate class, similar to // how PMF is created for Google App Engine) String BUCKET = "cs496-bucket"; s3.listBuckets(); // you can use this to see existing buckets if (!s3.doesBucketExist(BUCKET)) s3.createBucket(BUCKET);

Storing an object in a bucket Key: Value: <% if (request.getParameter("key") != null) { s3.putObject( BUCKET, request.getParameter("key"), new java.io.ByteArrayInputStream(request.getParameter( "value").getBytes()), null); } // note that you use InputStreams to read/write objects %>

Listing all the objects in a bucket out.write("Existing Data: "); ObjectListing listing = s3.listObjects(BUCKET); for (S3ObjectSummary item : listing.getObjectSummaries()) { out.write(" "); out.write(item.getKey().replaceAll("<", "<")); out.write(" "); S3Object object = s3.getObject(BUCKET, item.getKey()); java.io.InputStream in = object.getObjectContent(); java.io.ByteArrayOutputStream bos = new java.io.ByteArrayOutputStream(); byte[] buffer = new byte[2048]; int nread; while ((nread = in.read(buffer)) > 0) bos.write(buffer, 0, nread); in.close(); String value = new String(bos.toByteArray()); out.write(value.replaceAll("<", "<")); out.write(" "); } out.write(" ");

SimpleDB Non-RDBMS data storage, very similar to the feature set of Google App Engine – No joins, queries with limited filtering – Limited transactions – May have temporary inconsistency – However, very highly scalable Every SimpleDB is in a certain region A SimpleDB is subdivided into domains – Similar to the concept of an entity kind (or an object- oriented class) – To repeat: fairly similar to using JDO on GAE

Amazon Elastic Cloud Compute (EC2) Analogous to Google App Engine instances Except that you have much more control – You control how many machines you lease – You control when the machines are turned on – You control how powerful the machines should be – You control which operating system they run Selected from existing Amazon Machine Instances (AMIs), which are virtual machine images – You have root access So you can ssh into the server and do anything Once you have machines, you can deploy onto them

Example: 1. Choosing an AMI

Example: 2. Choosing its capabilities

EC2 Instance types Ranges from micro (i.e., free)… – < 1GB of memory, approximately CPU of dual GHz 2007 Opteron or 2007 Xeon processor "for short periodic bursts" …up to M3 Double Extra Large Instance… – Around 30 GB of RAM, and up to 13 times the compute power of a micro EC2 instance … or to even higher amounts of RAM & CPU

Example: 3. Create a keypair (Required to load code onto EC2 instance)

Example: 4. Launch the instance (After choosing defaults for other options)

Waiting for the instance to start up

Log in via ssh

Do anything you please with the server

Summary: Comparison to GAE Elastic Beanstalk: Similar to GAE appengine S3: Similar to GAE datastore blobs SimpleDB: Similar to JDO on GAE datastore EC2: Similar to GAE backends Except that in all cases, Amazon gives you more control and complexity