Meet with the AppEngine Márk Gergely eu.edge. What is AppEngine? It’s a tool, that lets you run your web applications on Google's infrastructure. –Google's.

Slides:



Advertisements
Similar presentations
Lecture13 Intro. to Google App Engine Keke Chen Based on Guido van Rossums presentation.
Advertisements

Network+ Guide to Networks, Fourth Edition
 Java  Python  Bigtable(Bt) is a distributed storage system for managing structured data that is designed to scale to a very large size.  Query Language.
Cloud Computing ECE7650. Cloud Computing Case Study  At one extreme, sharing basic IT infrastructure  E.g Amazon’s EC2: an EC2 instance appears physical.
Azure Services Platform Piotr Zierhoffer. Agenda Cloud? What is Azure? Environment Basic glossary Architecture Element description Deployment.
Google Bigtable A Distributed Storage System for Structured Data Hadi Salimi, Distributed Systems Laboratory, School of Computer Engineering, Iran University.
Loupe /loop/ noun a magnifying glass used by jewelers to reveal flaws in gems. a logging and error management tool used by.NET teams to reveal flaws in.
INTRO TO MAKING A WEBSITE Mark Zhang.  HTML  CSS  Javascript  PHP  MySQL  …That’s a lot of stuff!
Distributed storage for structured data
Google App Engine and Java Application: Clustering Internet search results for a person Aleksandar Kartelj Faculty of Mathematics,
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.
Google App Engine Google APIs OAuth Facebook Graph API
By: Devesh Sharma.  Why Cloud Computing? ◦ Traditional Business Applications  Expensive  Complicated  Difficult to manage  Idea behind Cloud Computing.
Amazon EC2 Quick Start adapted from EC2_GetStarted.html.
Google App Engine Danail Alexiev Technical Trainer SoftAcad.bg.
Google App Engine Guido van Rossum Stanford EE380 Colloquium, Nov 5, 2008.
Advanced Topics: MapReduce ECE 454 Computer Systems Programming Topics: Reductions Implemented in Distributed Frameworks Distributed Key-Value Stores Hadoop.
Ch 4. The Evolution of Analytic Scalability
Cloud Computing for the Enterprise November 18th, This work is licensed under a Creative Commons.
Research on cloud computing application in the peer-to-peer based video-on-demand systems Speaker : 吳靖緯 MA0G rd International Workshop.
Prof. A.R. Rele. What Is Google App Engine? Google App Engine lets users run web applications on Google's infrastructure. App Engine applications are.
By Mihir Joshi Nikhil Dixit Limaye Pallavi Bhide Payal Godse.
Lecture 8 – Platform as a Service. Introduction We have discussed the SPI model of Cloud Computing – IaaS – PaaS – SaaS.
Google App Engine Chien-Chung Shen
Googe App Engine Codelab Marzia Niccolai May 28-29, 2008.
Cloud Operating System Unit 11 Sever Technology II M. C. Chiang Department of Computer Science and Engineering National Sun Yat-sen University Kaohsiung,
Cloud computing lectures: Programming with Google App Engine Keke Chen.
L. Grewe LAMP, WAMP and... Motivaiton Basic Web Systems with Delivery of Static and Dynamic Web Pages html, css, media javascript (“dynamic” on client.
Google App Engine(GAE) Ma, Zhichao Cloud.
HBase A column-centered database 1. Overview An Apache project Influenced by Google’s BigTable Built on Hadoop ▫A distributed file system ▫Supports Map-Reduce.
Components of Database Management System
EXPOSE GOOGLE APP ENGINE AS TASKTRACKER NODES AND DATA NODES.
Introduction to Hadoop and HDFS
ArcGIS Server for Administrators
Introduction to Google App Engine. 2 Google App Engine Does one thing well: running web apps Simple app configuration Scalable Secure.
Google App Engine Data Store ae-10-datastore
INTRODUCTION TO DBS Database: a collection of data describing the activities of one or more related organizations DBMS: software designed to assist in.
Google Application Engine Introduction Jim Eng with thanks to Charles Severance
GIS in the cloud: implementing a Web Map Service on Google App Engine Jon Blower Reading e-Science Centre University of Reading United Kingdom
Caching Willem Visser RW334. Overview AppEngine Datastore No Caching Naïve Caching Caching invalidation Cache updating Memcached Beyond your code.
CS525: Big Data Analytics MapReduce Computing Paradigm & Apache Hadoop Open Source Fall 2013 Elke A. Rundensteiner 1.
Paperless Timesheet Management Project Anant Pednekar.
My project  Small-Medium Enterprises (SMEs)  faces goods distribution problems  needs necessary resources, money and technical expertise, to purchase.
1 Google App Engine APIs :Overview Feb – March, 2010 Patrick Chanezon Developer Advocate Google Developer Relations
Infrastructure for Data Warehouses. Basics Of Data Access Data Store Machine Memory Buffer Memory Cache Data Store Buffer Bus Structure.
1 Google App Engine APIs :Overview Feb – March, 2010 Patrick Chanezon Developer Advocate Google Developer Relations
Lecture IV: REST Web Service with Google App Engine CS 4593 Cloud-Oriented Big Data and Software Engineering.
GOOGLE APP ENGINE By Muktadiur Rahman. Contents  Cloud Computing  What is App Engine  Why App Engine  Development with App Engine  Quote & Pricing.
Bigtable: A Distributed Storage System for Structured Data Google Inc. OSDI 2006.
Apache Solr Dima Ionut Daniel. Contents What is Apache Solr? Architecture Features Core Solr Concepts Configuration Conclusions Bibliography.
Cloud Computing from a Developer’s Perspective Shlomo Swidler CTO & Founder mydrifts.com 25 January 2009.
BIG DATA/ Hadoop Interview Questions.
Cofax Scalability Document Version Scaling Cofax in General The scalability of Cofax is directly related to the system software, hardware and network.
Amazon Web Services. Amazon Web Services (AWS) - robust, scalable and affordable infrastructure for cloud computing. This session is about:
Google App Engine Mano Marks Developer Advocate. Problems building web applications Why Google App Engine? The App Engine Components What’s Next Questions?
Bigtable A Distributed Storage System for Structured Data.
Ping Yeh, Software Engineer Chris Schalk, Developer Advocate Google App Engine.
Platform as a Service (PaaS)
Platform as a Service (PaaS)
Dr.S.Sridhar, Director, RVCT, RVCE, Bangalore
Platform as a Service (PaaS)
Google App Engine Mandeep Singh (37926)
Platform as a Service.
Dr.S.Sridhar, Director, RVCT, RVCE, Bangalore
The Improvement of PaaS Platform ZENG Shu-Qing, Xu Jie-Bin 2010 First International Conference on Networking and Distributed Computing SQUARE.
LAMP, WAMP and.. L. Grewe.
Google App Engine Danail Alexiev
Google App Engine Ying Zou 01/24/2016.
Introduction to Google App Engine
Presentation transcript:

Meet with the AppEngine Márk Gergely eu.edge

What is AppEngine? It’s a tool, that lets you run your web applications on Google's infrastructure. –Google's custom-designed computers and datacenters distributed around the world –Secure Sandbox for running applications –Python 2.5 runtime environment –BigTable as Datastore

Why not LAMP? LAMP is the industry standard But management is a hassle: –Configuration, tuning –Backup and recovery, disk space management –Hardware failures, system crashes –Software updates, security patches –Log rotation, cron jobs, and much more –Redesign needed once your database exceeds one box

Why AppEngine? Does one thing well: running web apps –App Engine handles HTTP(S) requests, nothing else –Works well for the web and AJAX Simple app configuration Secure Rich APIs Scalable

Secure Sandbox A secure environment that is independent of hardware, OS and physical location of the web server. No direct OS functionality –no processes, threads –no sockets (use urlfetch API) –can’t write files (use datastore) –disallow Python extensions

APIs Webapp Framework –WSGI compatible framework for handling requests Users API –Integrating with Google Account Images API URLFetch API Mail API Memcache API –High performance in-memory key-value cache Datastore API –Interface to the BigTable Custom Framewroks –Built-in Django, WebOb

Scalability You don’t need to configure your resource needs One CPU can handle many requests per second Apps are mapped onto CPUs: –One process per app, many apps per CPU –The process hangs around to handle more requests (reuse) Eventually old processes are killed (recycle) Busy apps get assigned to multiple CPUs –This automatically adapts to the need - as long as CPUs are available

Quotas Everything an app does is limited by quotas –request count, bandwidth used, CPU usage, datastore call count, disk space used, s sent, even errors! If you run out of quota that particular operation is blocked Free quotas are tuned so that a well-written app can survive a lifehacker post The point of quotas is to be able to support a very large number of small apps Large apps need raised quotas –currently this is a manual process –pricing (?)

BigTable "Bigtable is a distributed storage system for managing structured data that is designed to scale to a very large size: petabytes of data across thousands of commodity servers” /Google/ Scalability –Bigtable is designed to support resources adding without any reconfiguration Efficiency –Allows the clients to perform millions of read/write operation per second Self management –The servers control the load balance

Database API Entities are the basic elements –Key id generated automatically, name set by the application –Kind –Property StringProperty, IntegerProperty, FloatProperty, … UserProperty ReferenceProperty AppEngine uses Models to describe data Define your data models as a Python class –to create an entity use the class constructor –Call put() on the object to add it to the datastore

Simple model from google.appengine.ext import db class Article(db.Model): title = db.StringProperty() body = db.TextProperty() author = db.UserProperty() object = Article() object.put()

Query the data Using get() –really fast, it uses the key of an Entity Using gql –sql-like syntax –uses indexes –no aggregate functions (not even count)

Indexes Properties are automatically indexed by type+value –There is an index for each Kind / property name combo –Whenever an entity is written all relevant indexes are updated –However Blob and Text properties are never indexed This supports basic queries: AND on property equality For more advanced query needs, create composite indexes –SDK auto-updates index.yaml based on queries executed –These support inequalities (, >=) and result ordering –Index building has to scan all entities due to parent keys

Transactions Every Entity belongs to an entity group To create an entity group, you can assign a parent to an entity when it is created Entities with no parents are root entities Entity groups are stored together An entity group can be manipulated in a single transction