SlideShare a Scribd company logo
1 of 24
Download to read offline
Google App Engine
       Ensky
Outline - Today
•   GAE Introduction
•   GAE Hello world
•   Python
•   WebApp2
    – A python-based Web development framework
Outline
• Cloud(IaaS, PaaS, SaaS)

• Google App Engine
  – Some features

• NoSQL

• Storage of GAE - Datastore
Cloud
• Cloud 三兄弟

 – IaaS (Infrastructure as a Service)

 – PaaS (Platform as a Service)

 – SaaS (Software as a Service)
Cloud 三兄弟
• IaaS (Infrastructure as a Service)
  直接給你虛擬主機用
  優:很彈性,你想安裝任何軟體、採用任何架構
  都很容易
  缺:要管理主機、處理一大堆問題
     (ex: 駭客攻擊、版本升級等等)


• amazon AT&T HP
• hinet 台灣大 遠傳
Cloud 三兄弟
• PaaS (Platform as a Service)
  規定你APP要怎麼寫,簡化你管理主機的步驟
  有些工具的賣點是自動幫你處理擴充問題
  優:管理方便,只需要focus在app開發
  缺:寫法、使用工具、環境受到限制


• Google app engine
• Microsoft Azure
Cloud 三兄弟
• SaaS (Software as a Service)
  善用別人寫好的web app

• Gmail, Google calendar, Facebook, …
Outline
• Cloud(IaaS, PaaS, SaaS)

• Google App Engine
  – Some features

• NoSQL

• Storage of GAE - Datastore
Google Cloud
• Google cloud包含了四大部份,分別解決不同問題
 – Google App Engine
    • Build your apps and websites on Google’s infrastructure with
      Google App Engine.
 – Google Compute Engine
    • Run Linux Virtual Machines in the cloud using Google Compute
      Engine (Limited Preview).
 – Google Cloud Storage
    • Store, access and manage your data on Google’s storage
      infrastructure.
 – Google BigQuery
    • Analyze Big Data in the cloud using SQL and get real-time business
      insights in seconds using Google BigQuery.
GAE
It’s PaaS

• Features
   – Focus on Web service
   – 規模自動擴張
   – 安全性
   – 效能
   – 支援Python and Java (and Go)
   – 完整的SDK
安全 or 限制 ? – Sandbox
• 對外的連線只能是HTTP / HTTPS的protocol
 若要對外作任何操作都要透過HTTP
 也不能作「listen某個port」的操作


• 不能對file system作任何寫入操作(可以讀取)
 你只能用Google提供的GAE datastore或其他服務


• 不能fork一個process來用,也不能在連線結束之後執行別
  的程式

• 執行時間限制60秒以內要完成
Some useful features
•   DataStore – NoSQL schemaless object datastore
•   BlobStore – Let you store "Binary large object" (blob)
•   Memcache – Fast Caching server
•   URL Fetch – Get data from HTTP/HTTPS
•   Mail – Just a Mail sender
•   Images – Image Processing, like resize, rotate
•   User – Supply Google account login
•   Task Queue – Send heavy load job to queue
•   Cronjob – Schedule a job

…. and more
Storage
• GAE provide two major Storage engine, for
  difference usage.
  – App Engine Datastore
     • NoSQL schemaless object datastore


  – App Engine Blobstore
     • to store blob data
Not only SQL
• Relational DB focus on relation
  – User
     • id, username, password, email, …
  – Comment
     • id, user_id, title, content, …
Not only SQL
• NoSQL focus on scalability, speed, or
  something else.
  – document-oriented
    沒有任何的schema, 適合存document
     • MongoDB


  – key-value database
    只有key-value的形式, focus on speed, scalability
     • Redis, memcached
Not only SQL
– Distributed database
  focus on distribution on servers
  • HBase, cassandra, …
Outline
• Cloud(IaaS, PaaS, SaaS)

• Google App Engine
  – Some features

• NoSQL

• Storage of GAE - Datastore
Entity - GAE Datastore
• 一個帳號可以開很多個datastore

• 一個Datastore可以有很多Entity
  ex: User 這個datastore可以有很多筆資料

• 一個Entity可以有很多屬性(properties)
  – ensky, enskylin@gmail.com
  – lalala, lalala@gmail.com
Key – GAE Datastore
• 每一筆entity都會有一個unique key
  – 就很像SQL的Primary key一樣


• 可以不設讓系統自動產生;
  也可以自己設定

• 刪除操作是用key來判斷
Types - GAE Datastore
Property             in Python
StringProperty       str
                     unicode
BooleanProperty      bool
IntegerProperty      int
FloatProperty        float
DateTimeProperty     datetime.datetime
ListProperty         list
BlobProperty         db.Blob
TextProperty         db.Text
Using Datastore
• Create a model
   – 定義了該 datastore 的屬性有哪些


• Use it like a ORM
   資料皆為物件,對物件操作就是對資料操作
   – Insert:新增一個物件,最後呼叫.put()方法儲存
   – Update:先query出你想要修改的物件,直接修改該物
     件,最後呼叫.put()方法儲存
   – Delete:先query出你想要刪除的物件,直接呼
     叫.delete()方法刪除之
Create – GAE Datastore
Get, Update, Delete – GAE
       Datastore
Reference
• https://developers.google.com/appengine/

More Related Content

What's hot

GDG Ternopil TechTalks Web #1 2015 - Data storages in Microsoft Azure
GDG Ternopil TechTalks Web #1 2015 - Data storages in Microsoft AzureGDG Ternopil TechTalks Web #1 2015 - Data storages in Microsoft Azure
GDG Ternopil TechTalks Web #1 2015 - Data storages in Microsoft AzureAndriy Deren'
 
MMS - Monitoring, backup and management at a single click
MMS - Monitoring, backup and management at a single clickMMS - Monitoring, backup and management at a single click
MMS - Monitoring, backup and management at a single clickMatias Cascallares
 
Mongo db eveningschemadesign
Mongo db eveningschemadesignMongo db eveningschemadesign
Mongo db eveningschemadesignMongoDB APAC
 
IMC Summit 2016 Breakout - Roman Shtykh - Apache Ignite as a Data Processing Hub
IMC Summit 2016 Breakout - Roman Shtykh - Apache Ignite as a Data Processing HubIMC Summit 2016 Breakout - Roman Shtykh - Apache Ignite as a Data Processing Hub
IMC Summit 2016 Breakout - Roman Shtykh - Apache Ignite as a Data Processing HubIn-Memory Computing Summit
 
Microsoft Azure Veri Servisleri
Microsoft Azure Veri ServisleriMicrosoft Azure Veri Servisleri
Microsoft Azure Veri ServisleriÖnder Değer
 
Rich storytelling with Drupal, Paragraphs and Islandora DAMS
Rich storytelling with Drupal, Paragraphs and Islandora DAMSRich storytelling with Drupal, Paragraphs and Islandora DAMS
Rich storytelling with Drupal, Paragraphs and Islandora DAMSalxbrdg
 
Google App Engine/ Java Application Development
Google App Engine/ Java Application DevelopmentGoogle App Engine/ Java Application Development
Google App Engine/ Java Application DevelopmentShuji Watanabe
 
Redis Labs and SQL Server
Redis Labs and SQL ServerRedis Labs and SQL Server
Redis Labs and SQL ServerLynn Langit
 
Release 8.1 - Breakfast Paris
Release 8.1 - Breakfast ParisRelease 8.1 - Breakfast Paris
Release 8.1 - Breakfast ParisNuxeo
 
Global platform
Global platformGlobal platform
Global platformTerry Cho
 
Análisis del roadmap del Elastic Stack
Análisis del roadmap del Elastic StackAnálisis del roadmap del Elastic Stack
Análisis del roadmap del Elastic StackElasticsearch
 
Infrastructure Around Hadoop
Infrastructure Around HadoopInfrastructure Around Hadoop
Infrastructure Around HadoopDataWorks Summit
 
Azure for Data Platform
Azure for Data PlatformAzure for Data Platform
Azure for Data PlatformMariano Kovo
 
Windows Azure Virtual Machines
Windows Azure Virtual MachinesWindows Azure Virtual Machines
Windows Azure Virtual MachinesÖnder Değer
 
Deploy Microsoft Azure Data Solutions
Deploy Microsoft Azure Data SolutionsDeploy Microsoft Azure Data Solutions
Deploy Microsoft Azure Data SolutionsMarco Parenzan
 
Bleeding Edge Databases
Bleeding Edge DatabasesBleeding Edge Databases
Bleeding Edge DatabasesLynn Langit
 
Google Compute Engine
Google Compute EngineGoogle Compute Engine
Google Compute EngineCsaba Toth
 
Cignex mongodb-sharding-mongodbdays
Cignex mongodb-sharding-mongodbdaysCignex mongodb-sharding-mongodbdays
Cignex mongodb-sharding-mongodbdaysMongoDB APAC
 

What's hot (20)

GDG Ternopil TechTalks Web #1 2015 - Data storages in Microsoft Azure
GDG Ternopil TechTalks Web #1 2015 - Data storages in Microsoft AzureGDG Ternopil TechTalks Web #1 2015 - Data storages in Microsoft Azure
GDG Ternopil TechTalks Web #1 2015 - Data storages in Microsoft Azure
 
MMS - Monitoring, backup and management at a single click
MMS - Monitoring, backup and management at a single clickMMS - Monitoring, backup and management at a single click
MMS - Monitoring, backup and management at a single click
 
Mongo db eveningschemadesign
Mongo db eveningschemadesignMongo db eveningschemadesign
Mongo db eveningschemadesign
 
IMC Summit 2016 Breakout - Roman Shtykh - Apache Ignite as a Data Processing Hub
IMC Summit 2016 Breakout - Roman Shtykh - Apache Ignite as a Data Processing HubIMC Summit 2016 Breakout - Roman Shtykh - Apache Ignite as a Data Processing Hub
IMC Summit 2016 Breakout - Roman Shtykh - Apache Ignite as a Data Processing Hub
 
Microsoft Azure Veri Servisleri
Microsoft Azure Veri ServisleriMicrosoft Azure Veri Servisleri
Microsoft Azure Veri Servisleri
 
Rich storytelling with Drupal, Paragraphs and Islandora DAMS
Rich storytelling with Drupal, Paragraphs and Islandora DAMSRich storytelling with Drupal, Paragraphs and Islandora DAMS
Rich storytelling with Drupal, Paragraphs and Islandora DAMS
 
Google App Engine/ Java Application Development
Google App Engine/ Java Application DevelopmentGoogle App Engine/ Java Application Development
Google App Engine/ Java Application Development
 
Redis Labs and SQL Server
Redis Labs and SQL ServerRedis Labs and SQL Server
Redis Labs and SQL Server
 
Release 8.1 - Breakfast Paris
Release 8.1 - Breakfast ParisRelease 8.1 - Breakfast Paris
Release 8.1 - Breakfast Paris
 
Global platform
Global platformGlobal platform
Global platform
 
Análisis del roadmap del Elastic Stack
Análisis del roadmap del Elastic StackAnálisis del roadmap del Elastic Stack
Análisis del roadmap del Elastic Stack
 
Google App Engine overview (GAE/J)
Google App Engine overview (GAE/J)Google App Engine overview (GAE/J)
Google App Engine overview (GAE/J)
 
Infrastructure Around Hadoop
Infrastructure Around HadoopInfrastructure Around Hadoop
Infrastructure Around Hadoop
 
Azure for Data Platform
Azure for Data PlatformAzure for Data Platform
Azure for Data Platform
 
Windows Azure Virtual Machines
Windows Azure Virtual MachinesWindows Azure Virtual Machines
Windows Azure Virtual Machines
 
Deploy Microsoft Azure Data Solutions
Deploy Microsoft Azure Data SolutionsDeploy Microsoft Azure Data Solutions
Deploy Microsoft Azure Data Solutions
 
Bleeding Edge Databases
Bleeding Edge DatabasesBleeding Edge Databases
Bleeding Edge Databases
 
Google Compute Engine
Google Compute EngineGoogle Compute Engine
Google Compute Engine
 
Google Cloud DNS
Google Cloud DNSGoogle Cloud DNS
Google Cloud DNS
 
Cignex mongodb-sharding-mongodbdays
Cignex mongodb-sharding-mongodbdaysCignex mongodb-sharding-mongodbdays
Cignex mongodb-sharding-mongodbdays
 

Viewers also liked

OpenWebSchool - 03 - PHP Part II
OpenWebSchool - 03 - PHP Part IIOpenWebSchool - 03 - PHP Part II
OpenWebSchool - 03 - PHP Part IIHung-yu Lin
 
OpenWebSchool - 01 - WWW Intro
OpenWebSchool - 01 - WWW IntroOpenWebSchool - 01 - WWW Intro
OpenWebSchool - 01 - WWW IntroHung-yu Lin
 
2014 database - course 1 - www introduction
2014 database - course 1 - www introduction2014 database - course 1 - www introduction
2014 database - course 1 - www introductionHung-yu Lin
 
2014 database - course 2 - php
2014 database - course 2 - php2014 database - course 2 - php
2014 database - course 2 - phpHung-yu Lin
 
OpenWebSchool - 11 - CodeIgniter
OpenWebSchool - 11 - CodeIgniterOpenWebSchool - 11 - CodeIgniter
OpenWebSchool - 11 - CodeIgniterHung-yu Lin
 
2014 database - course 3 - PHP and MySQL
2014 database - course 3 - PHP and MySQL2014 database - course 3 - PHP and MySQL
2014 database - course 3 - PHP and MySQLHung-yu Lin
 

Viewers also liked (7)

OpenWebSchool - 03 - PHP Part II
OpenWebSchool - 03 - PHP Part IIOpenWebSchool - 03 - PHP Part II
OpenWebSchool - 03 - PHP Part II
 
OpenWebSchool - 01 - WWW Intro
OpenWebSchool - 01 - WWW IntroOpenWebSchool - 01 - WWW Intro
OpenWebSchool - 01 - WWW Intro
 
2014 database - course 1 - www introduction
2014 database - course 1 - www introduction2014 database - course 1 - www introduction
2014 database - course 1 - www introduction
 
Redis
RedisRedis
Redis
 
2014 database - course 2 - php
2014 database - course 2 - php2014 database - course 2 - php
2014 database - course 2 - php
 
OpenWebSchool - 11 - CodeIgniter
OpenWebSchool - 11 - CodeIgniterOpenWebSchool - 11 - CodeIgniter
OpenWebSchool - 11 - CodeIgniter
 
2014 database - course 3 - PHP and MySQL
2014 database - course 3 - PHP and MySQL2014 database - course 3 - PHP and MySQL
2014 database - course 3 - PHP and MySQL
 

Similar to Google App Engine

Google Cloud Platform, Compute Engine, and App Engine
Google Cloud Platform, Compute Engine, and App EngineGoogle Cloud Platform, Compute Engine, and App Engine
Google Cloud Platform, Compute Engine, and App EngineCsaba Toth
 
Tokyo azure meetup #2 big data made easy
Tokyo azure meetup #2   big data made easyTokyo azure meetup #2   big data made easy
Tokyo azure meetup #2 big data made easyTokyo Azure Meetup
 
Groovy & Grails - From Scratch to Production
Groovy & Grails - From Scratch to Production Groovy & Grails - From Scratch to Production
Groovy & Grails - From Scratch to Production Tal Maayani
 
Data(?)Ops with CircleCI
Data(?)Ops with CircleCIData(?)Ops with CircleCI
Data(?)Ops with CircleCIJinwoong Kim
 
Architectures, Frameworks and Infrastructure
Architectures, Frameworks and InfrastructureArchitectures, Frameworks and Infrastructure
Architectures, Frameworks and Infrastructureharendra_pathak
 
Netflix oss season 2 episode 1 - meetup Lightning talks
Netflix oss   season 2 episode 1 - meetup Lightning talksNetflix oss   season 2 episode 1 - meetup Lightning talks
Netflix oss season 2 episode 1 - meetup Lightning talksRuslan Meshenberg
 
J1 T1 3 - Azure Data Lake store & analytics 101 - Kenneth M. Nielsen
J1 T1 3 - Azure Data Lake store & analytics 101 - Kenneth M. NielsenJ1 T1 3 - Azure Data Lake store & analytics 101 - Kenneth M. Nielsen
J1 T1 3 - Azure Data Lake store & analytics 101 - Kenneth M. NielsenMS Cloud Summit
 
Concevoir une application scalable dans le Cloud
Concevoir une application scalable dans le CloudConcevoir une application scalable dans le Cloud
Concevoir une application scalable dans le CloudStéphanie Hertrich
 
Accelerating analytics in the cloud with the Starburst Presto + Alluxio stack
Accelerating analytics in the cloud with the Starburst Presto + Alluxio stackAccelerating analytics in the cloud with the Starburst Presto + Alluxio stack
Accelerating analytics in the cloud with the Starburst Presto + Alluxio stackAlluxio, Inc.
 
Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...
Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...
Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...Tokyo Azure Meetup
 
Google App Engine
Google App EngineGoogle App Engine
Google App EngineCsaba Toth
 
Python in the serverless era (PyCon 2017)
Python in the serverless era (PyCon 2017)Python in the serverless era (PyCon 2017)
Python in the serverless era (PyCon 2017)Benny Bauer
 
What's New for the Windows Azure Developer? Lots!!
What's New for the Windows Azure Developer?  Lots!!What's New for the Windows Azure Developer?  Lots!!
What's New for the Windows Azure Developer? Lots!!Michael Collier
 
Piranha vs. mammoth predator appliances that chew up big data
Piranha vs. mammoth   predator appliances that chew up big dataPiranha vs. mammoth   predator appliances that chew up big data
Piranha vs. mammoth predator appliances that chew up big dataJack (Yaakov) Bezalel
 
Cloud service and gae for java(gae:j)
Cloud service and gae for java(gae:j)Cloud service and gae for java(gae:j)
Cloud service and gae for java(gae:j)Roy Chen
 
VMworld 2013: Virtualizing Databases: Doing IT Right
VMworld 2013: Virtualizing Databases: Doing IT Right VMworld 2013: Virtualizing Databases: Doing IT Right
VMworld 2013: Virtualizing Databases: Doing IT Right VMworld
 
QuerySurge Slide Deck for Big Data Testing Webinar
QuerySurge Slide Deck for Big Data Testing WebinarQuerySurge Slide Deck for Big Data Testing Webinar
QuerySurge Slide Deck for Big Data Testing WebinarRTTS
 

Similar to Google App Engine (20)

Google Cloud Platform, Compute Engine, and App Engine
Google Cloud Platform, Compute Engine, and App EngineGoogle Cloud Platform, Compute Engine, and App Engine
Google Cloud Platform, Compute Engine, and App Engine
 
DOTNET8.pptx
DOTNET8.pptxDOTNET8.pptx
DOTNET8.pptx
 
Tokyo azure meetup #2 big data made easy
Tokyo azure meetup #2   big data made easyTokyo azure meetup #2   big data made easy
Tokyo azure meetup #2 big data made easy
 
Deep thoughts from the real world of azure
Deep thoughts from the real world of azureDeep thoughts from the real world of azure
Deep thoughts from the real world of azure
 
Groovy & Grails - From Scratch to Production
Groovy & Grails - From Scratch to Production Groovy & Grails - From Scratch to Production
Groovy & Grails - From Scratch to Production
 
Data(?)Ops with CircleCI
Data(?)Ops with CircleCIData(?)Ops with CircleCI
Data(?)Ops with CircleCI
 
Architectures, Frameworks and Infrastructure
Architectures, Frameworks and InfrastructureArchitectures, Frameworks and Infrastructure
Architectures, Frameworks and Infrastructure
 
Netflix oss season 2 episode 1 - meetup Lightning talks
Netflix oss   season 2 episode 1 - meetup Lightning talksNetflix oss   season 2 episode 1 - meetup Lightning talks
Netflix oss season 2 episode 1 - meetup Lightning talks
 
J1 T1 3 - Azure Data Lake store & analytics 101 - Kenneth M. Nielsen
J1 T1 3 - Azure Data Lake store & analytics 101 - Kenneth M. NielsenJ1 T1 3 - Azure Data Lake store & analytics 101 - Kenneth M. Nielsen
J1 T1 3 - Azure Data Lake store & analytics 101 - Kenneth M. Nielsen
 
Concevoir une application scalable dans le Cloud
Concevoir une application scalable dans le CloudConcevoir une application scalable dans le Cloud
Concevoir une application scalable dans le Cloud
 
Accelerating analytics in the cloud with the Starburst Presto + Alluxio stack
Accelerating analytics in the cloud with the Starburst Presto + Alluxio stackAccelerating analytics in the cloud with the Starburst Presto + Alluxio stack
Accelerating analytics in the cloud with the Starburst Presto + Alluxio stack
 
Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...
Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...
Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...
 
Google App Engine
Google App EngineGoogle App Engine
Google App Engine
 
Python in the serverless era (PyCon 2017)
Python in the serverless era (PyCon 2017)Python in the serverless era (PyCon 2017)
Python in the serverless era (PyCon 2017)
 
What's New for the Windows Azure Developer? Lots!!
What's New for the Windows Azure Developer?  Lots!!What's New for the Windows Azure Developer?  Lots!!
What's New for the Windows Azure Developer? Lots!!
 
Piranha vs. mammoth predator appliances that chew up big data
Piranha vs. mammoth   predator appliances that chew up big dataPiranha vs. mammoth   predator appliances that chew up big data
Piranha vs. mammoth predator appliances that chew up big data
 
Cloud service and gae for java(gae:j)
Cloud service and gae for java(gae:j)Cloud service and gae for java(gae:j)
Cloud service and gae for java(gae:j)
 
Windows Azure
Windows AzureWindows Azure
Windows Azure
 
VMworld 2013: Virtualizing Databases: Doing IT Right
VMworld 2013: Virtualizing Databases: Doing IT Right VMworld 2013: Virtualizing Databases: Doing IT Right
VMworld 2013: Virtualizing Databases: Doing IT Right
 
QuerySurge Slide Deck for Big Data Testing Webinar
QuerySurge Slide Deck for Big Data Testing WebinarQuerySurge Slide Deck for Big Data Testing Webinar
QuerySurge Slide Deck for Big Data Testing Webinar
 

Recently uploaded

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 

Recently uploaded (20)

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 

Google App Engine

  • 2. Outline - Today • GAE Introduction • GAE Hello world • Python • WebApp2 – A python-based Web development framework
  • 3. Outline • Cloud(IaaS, PaaS, SaaS) • Google App Engine – Some features • NoSQL • Storage of GAE - Datastore
  • 4. Cloud • Cloud 三兄弟 – IaaS (Infrastructure as a Service) – PaaS (Platform as a Service) – SaaS (Software as a Service)
  • 5. Cloud 三兄弟 • IaaS (Infrastructure as a Service) 直接給你虛擬主機用 優:很彈性,你想安裝任何軟體、採用任何架構 都很容易 缺:要管理主機、處理一大堆問題 (ex: 駭客攻擊、版本升級等等) • amazon AT&T HP • hinet 台灣大 遠傳
  • 6. Cloud 三兄弟 • PaaS (Platform as a Service) 規定你APP要怎麼寫,簡化你管理主機的步驟 有些工具的賣點是自動幫你處理擴充問題 優:管理方便,只需要focus在app開發 缺:寫法、使用工具、環境受到限制 • Google app engine • Microsoft Azure
  • 7. Cloud 三兄弟 • SaaS (Software as a Service) 善用別人寫好的web app • Gmail, Google calendar, Facebook, …
  • 8. Outline • Cloud(IaaS, PaaS, SaaS) • Google App Engine – Some features • NoSQL • Storage of GAE - Datastore
  • 9. Google Cloud • Google cloud包含了四大部份,分別解決不同問題 – Google App Engine • Build your apps and websites on Google’s infrastructure with Google App Engine. – Google Compute Engine • Run Linux Virtual Machines in the cloud using Google Compute Engine (Limited Preview). – Google Cloud Storage • Store, access and manage your data on Google’s storage infrastructure. – Google BigQuery • Analyze Big Data in the cloud using SQL and get real-time business insights in seconds using Google BigQuery.
  • 10. GAE It’s PaaS • Features – Focus on Web service – 規模自動擴張 – 安全性 – 效能 – 支援Python and Java (and Go) – 完整的SDK
  • 11. 安全 or 限制 ? – Sandbox • 對外的連線只能是HTTP / HTTPS的protocol 若要對外作任何操作都要透過HTTP 也不能作「listen某個port」的操作 • 不能對file system作任何寫入操作(可以讀取) 你只能用Google提供的GAE datastore或其他服務 • 不能fork一個process來用,也不能在連線結束之後執行別 的程式 • 執行時間限制60秒以內要完成
  • 12. Some useful features • DataStore – NoSQL schemaless object datastore • BlobStore – Let you store "Binary large object" (blob) • Memcache – Fast Caching server • URL Fetch – Get data from HTTP/HTTPS • Mail – Just a Mail sender • Images – Image Processing, like resize, rotate • User – Supply Google account login • Task Queue – Send heavy load job to queue • Cronjob – Schedule a job …. and more
  • 13. Storage • GAE provide two major Storage engine, for difference usage. – App Engine Datastore • NoSQL schemaless object datastore – App Engine Blobstore • to store blob data
  • 14. Not only SQL • Relational DB focus on relation – User • id, username, password, email, … – Comment • id, user_id, title, content, …
  • 15. Not only SQL • NoSQL focus on scalability, speed, or something else. – document-oriented 沒有任何的schema, 適合存document • MongoDB – key-value database 只有key-value的形式, focus on speed, scalability • Redis, memcached
  • 16. Not only SQL – Distributed database focus on distribution on servers • HBase, cassandra, …
  • 17. Outline • Cloud(IaaS, PaaS, SaaS) • Google App Engine – Some features • NoSQL • Storage of GAE - Datastore
  • 18. Entity - GAE Datastore • 一個帳號可以開很多個datastore • 一個Datastore可以有很多Entity ex: User 這個datastore可以有很多筆資料 • 一個Entity可以有很多屬性(properties) – ensky, enskylin@gmail.com – lalala, lalala@gmail.com
  • 19. Key – GAE Datastore • 每一筆entity都會有一個unique key – 就很像SQL的Primary key一樣 • 可以不設讓系統自動產生; 也可以自己設定 • 刪除操作是用key來判斷
  • 20. Types - GAE Datastore Property in Python StringProperty str unicode BooleanProperty bool IntegerProperty int FloatProperty float DateTimeProperty datetime.datetime ListProperty list BlobProperty db.Blob TextProperty db.Text
  • 21. Using Datastore • Create a model – 定義了該 datastore 的屬性有哪些 • Use it like a ORM 資料皆為物件,對物件操作就是對資料操作 – Insert:新增一個物件,最後呼叫.put()方法儲存 – Update:先query出你想要修改的物件,直接修改該物 件,最後呼叫.put()方法儲存 – Delete:先query出你想要刪除的物件,直接呼 叫.delete()方法刪除之
  • 22. Create – GAE Datastore
  • 23. Get, Update, Delete – GAE Datastore