SlideShare a Scribd company logo
Module 10:
   Java Cloud Platform


 Dr.Thanachart Numnonda
Dr.Thanisa Kruawaisayawan
   www.imcinstitute.com
   18-22 February 2013
Objectives

    What is Cloud Computing?


    What is Google App Engine?

    Google App Engine for Java

    Google App Engine Development cycle


    Heroku Introduction



                                          2
What is Cloud Computing?


                           3
Cloud Computing : Definition
               (Wikipedia)
Cloud Computing is Internet-based computing,
 whereby shared resources, software, and information
 are provided to computers and other devices on
 demand, like the electricity grid.




                                                       4
Cloud Computing Characteristics


    Massive, abstracted infrastructure

    Dynamic allocation, scaling, movement of
    applications

    Pay per use

    No long-term commitments

    OS, application architecture independent

    No hardware or software to install


                                               5
Grid to Cloud Evolution




                          6
Web 2.0 & Cloud Computing


    Web 2.0 concentrates on the private user and clouds
    are decscendents of data centers which services the
    enterprise.

    Web 2.0 promotes SaaS.

    Web 2.0 needs massive scaling technologies.

    User centric Web 2.0 companies (Twitter,
    Slideshare) are relying on Cloud Services.



                                                          7
ISP to Cloud Evolution




                         8
Software as a Service (SaaS)

    SaaS is at the highest layer and features a
    complete application offered as a service, on-
    demand,

    via multitenancy — meaning a single instance of
    the software runs on the provider’s infrastructure
    and serves multiple client organizations.




                                                         9
Platform as a Service (PaaS)

    The middle layer, or PaaS, is the encapsulation of
    a development environment abstraction and the
    packaging of a payload of services

    PaaS offerings can provide for every phase of
    software development and testing, or they can be
    specialized around a particular area, such as
    content management




                                                         10
Infrastructure as a Service (IaaS)

    IaaS is at the lowest layer and is a means of
    delivering basic storage and compute capabilities
    as standardized services over the network.

    Servers, storage systems, switches,routers, and
    other systems are pooled (through virtualization
    technology, for example) to handle specific types
    of workloads — from batch processing to
    server/storage augmentation during peak loads.



                                                        11
12
Deployment Model

    Public Cloud: provider refers to the cloud
    platform that targets any types of customers.

    Private Cloud: infrastructure that’s hosted
    internally, targeting specific customers or
    sometimes exclusively within an organization.

    Hybrid Cloud: the combination of public and
    private clouds, or sometimes on-premise services.




                                                        13
IaaS & PaaS: Developer's Perspectives

      IaaS normally provides up to O/S level as your
      choice; for example Amazon Web Services
      (AWS) offers several types of Operating Systems
      such as Windows Server, Linux SUSE, and Linux
      Red Hat. Developer need to install own
      middleware, database, etc.

      PaaS, given that the database server, VM, and
      web server VM are readily provisioned,


                                                        14
Setting Up App in IaaS




Source:http://acloudyplace.com/2012/01/comparing-iaas-and-paas-a-developers-perspective/   15
Setting Up App in PaaS




Source:http://acloudyplace.com/2012/01/comparing-iaas-and-paas-a-developers-perspective/   16
PaaS for Java

    Amazon Elastic Beanstalk

    CloudBees

    Cloud Foundry

    Google App Engine

    Heroku for Java

    Red Hat OpenShift




                                 17
PaaS for Java: Comparison




                            18
PaaS for Java: Comparison




                            19
What is Google App Engine?


                             20
Google App Engine : Definition
              (Wikipedia)
It is a platform for hosting web applications in Google-
  managed data centers. It is cloud computing
  technology which virtualizes applications across
  multiple servers and data centers.




                                                           21
Google App Engine

    Running your web application in Google
    infrastructure

    Support different runtime environments

    Java (JRE 6 with limitation, Servlet 2.5, JDO,
    JPA)

    Python (2.5.2)

    Apps run in sandbox.

    Automatic scaling and load balancing

    No server restart, no network issues
                                                     22
Hosting Java web apps traditionally

     Not so popular except enterprise

     High rates as compared to PHP hosting

     Shared Tomcat instance among users

     Restrictions on any time deployments due to
     shared server

     Dedicated hosts works fine but they are costly




                                                      23
You end up with all this




                           24
25
Google Datacenters at Dallas, Oregon




                                       26
GAE Architecture




                   27
GAE Physical Deployment Diagram




                                  28
Architecture : Application Server




                                    29
Distributed web hosting platform




                                   30
Distributed Datastore




                        31
Distributed memcache




                       32
Specialized services




                       33
Google Apps + your apps




                          34
Google App Engine for Java


                             35
GAE/J

    Was released on April 08 with Python support.
    Java included on August 09




                                                    36
App Engine for Java : One Year




Source: What’s Hot in Java for App Engine Google Con 2010   37
GAE Java Runtime Environment

    Java 6 VM

    Servlet 2.5 Container

    HTTP Session support (need to enable explicitly)

    JDO/JPA for Datastore API

    JSR 107 for Memcache API

    javax.mail for Mail API

    javax.net.URLConnection for URLFetch API


                                                       38
Java Standards on GAE




                        39
Services by App Engine

    Memcache API – high performance in-memory
    key-value cache

    Datastore – database storage and operations

    URLFetch – invoking external URLs

    Mail – sending mail from your application

    Task Queues – for invoking background processes

    Images – for image manipulation

    Cron Jobs – scheduled tasks on defined time

    User Accounts – using Google accounts for
    authentication
                                                      40
Limitations

    Programming Model : Application runs in
    sandbox and can not
    –   Write to file system
    –   Make arbitrary network connections
    –   Use multiple threads/processes
    –   Perform long-lasting processing
    –   Permissions
    –   Know about other instances/applications

    Quotas (Requests, In/Out bandwidth, CPU time,
    API calls)
                                                    41
GAE Datastore




                42
GAE Datastore

    Storing data and manipulation

    Based on Bigtable

    Bigtable is proprietary and hidden from the app
    developers

    Not a relational database (No SQL)

    GQL (Google Query Language) to query

    Stores data as entities

    Distribution, replication, load balancing behind
    the scene

    Need to use JDO/JPA
                                                       43
User Service : Google Accounts

    Google Accounts are encouraged as the preferred
    authentication mechanism for App Engine
     –   It assumes that all users have a Google Account
     –   Google authentication for private domains isn’t
         available yet

    Access to Google account data -> email, id

    The Development Server simulates Google
    Accounts

    Access constraints based on roles

                                                           44
User API : Example
import com.google.appengine.api.users.*;
 import com.google.appengine.api.users.*;

UserService userService == UserServiceFactory.getUserService();
 UserService userService    UserServiceFactory.getUserService();
User user == userService.getCurrentUser();
 User user    userService.getCurrentUser();
String navBar;
 String navBar;
if (user == null) {{
 if (user == null)
    navBar == "<p>Welcome! <a href="" ++ userService.createLoginURL("/")
     navBar    "<p>Welcome! <a href=""    userService.createLoginURL("/")
    +"">Sign in or register</a> to customize.</p>";
     +"">Sign in or register</a> to customize.</p>";
}} else {{
    else
     navBar == "<p>Welcome, "" ++ user.getEmail() ++ "! You can <a href=""
      navBar    "<p>Welcome,       user.getEmail()    "! You can <a href=""
     +userService.createLogoutURL("/") +"">sign out</a>.</p>";
      +userService.createLogoutURL("/") +"">sign out</a>.</p>";
}}




                                                                               45
URLFetch API

      Invoking external URLs from your application
      over HTTP and HTTPs

    import java.net.*;
     import java.net.*;
    import java.io.*;
     import java.io.*;

    URL url == new URL("htp://...");
     URL url    new URL("htp://...");
    InputStream inp == new InputStreamReader(url.openStream());
     InputStream inp    new InputStreamReader(url.openStream());
    BufferedReader reader == new BufferedReader(inp);
     BufferedReader reader    new BufferedReader(inp);
    String line;
     String line;
    while ((line == reader.readLine()) != null) {{
     while ((line    reader.readLine()) != null)
     //do something
      //do something
    }}
    reader.close();
     reader.close();
                                                                   46
Mail API

         Send emails on the behalf of app administrator to
         the Google account use.

         You can not receive emails
    import javax.mail.*;
     import javax.mail.*;

    Session session == Session.getDefaultInstance(new Properties(), null);
     Session session    Session.getDefaultInstance(new Properties(), null);
    InternetAddress admins == new InternetAddress("admins");
     InternetAddress admins    new InternetAddress("admins");
    Message msg == new MimeMessage(session);
     Message msg    new MimeMessage(session);
    msg.setFrom(admins);
     msg.setFrom(admins);
    msg.addRecipient(Message.RecipientType.TO, admins);
     msg.addRecipient(Message.RecipientType.TO, admins);
    msg.setSubject("subject");
     msg.setSubject("subject");
    msg.setText("text");
     msg.setText("text");

    Transport.send(msg);
     Transport.send(msg);
                                                                              47
Memcache Service

    Distributed in memory cache, better than
    DataStore

    Key-value pair mapping

    Configurable expiration time but

    Unreliable might be vanished at any time

    Supported Interfaces :
     –   JACHE (JSR 107: JCACHE – Java Temporary
         Caching API)
     –   The Low-Level Memcache API

                                                   48
Memcache API : Example

import static java.util.Collections.emptyMap;
 import static java.util.Collections.emptyMap;
import javax.cache.*;
 import javax.cache.*;

CacheFactory cacheFactory == CacheManager.getInstance().getCacheFactory();
 CacheFactory cacheFactory    CacheManager.getInstance().getCacheFactory();

Cache cache == cacheFactory.createCache(emptyMap());
 Cache cache    cacheFactory.createCache(emptyMap());

cache.put(key, value);
 cache.put(key, value);
cache.get(key);
 cache.get(key);




                                                                              49
Task Queues API

    Perform background processes by inserting tasks into
    queues.

    Instructions need to be mention in file queue.xml, in
    the WEB-INF/ dir
    import com.google.appengine.api.labs.taskqueue.Queue;
     import com.google.appengine.api.labs.taskqueue.Queue;
    import com.google.appengine.api.labs.taskqueue.QueueFactory;
     import com.google.appengine.api.labs.taskqueue.QueueFactory;
    import com.google.appengine.api.labs.taskqueue.TaskOptions;
     import com.google.appengine.api.labs.taskqueue.TaskOptions;

    // ...
     // ...
    TaskOptions taskOptions ==
     TaskOptions taskOptions
    TaskOptions.Builder.url("/send_invitation_task")
     TaskOptions.Builder.url("/send_invitation_task")
       .param("address", "juliet@example.com")
        .param("address", "juliet@example.com")
       .param("firstname", "Juliet");
        .param("firstname", "Juliet");
    Queue queue == QueueFactory.getDefaultQueue();
     Queue queue    QueueFactory.getDefaultQueue();
    queue.add(taskOptions);
     queue.add(taskOptions);                                        50
Cron Jobs

    Up to 20 scheduled tasks per app

    Cron jobs (scheduled tasks) supported in cron.xml
    in WEB-INF dir

    Schedule instructions contain Englis-like format
      <?xml version="1.0" encoding="UTF-8"?>
       <?xml version="1.0" encoding="UTF-8"?>
      <cronentries>
       <cronentries>
      <cron>
       <cron>
      <url>/listbooks</url>
       <url>/listbooks</url>
      <description>Repopulate the cache every day at
       <description>Repopulate the cache every day at
      5am</description>
       5am</description>
      <schedule>every day 05:00</schedule>
       <schedule>every day 05:00</schedule>
      </cron>
       </cron>
      </cronentries>
       </cronentries>
                                                        51
Images API


    Manipulation of images


    Transformation of images


    Changing image formats




                               52
GAE Development Cycle



                        53
GAE Development Cycle




                        54
Getting Started

    The application owner must have a Google
    Account to get the tools regardless of language.

    Use Java 6 for development.

    Eclipse and Netbeans have official plugins.

    Both SDKs ship with a Development Web Server
    that runs locally and provides a sandbox almost
    identical to the real run-time.




                                                       55
Software Development Kit

    App Engine SDK
     – Includes web server (Jetty)
     – Emulates all the GAE services

    SDK includes an upload tool to deploy app to
    GAE

    Command line tools included.




                                                   56
Google Plugin for Eclipse




                            57
Development Environment


    Development Server

    Application lifecycle
     management

    Eclipse/NetBeans
    plugins /
     Firefox plugin (GWT)



                                  58
Google Plugin for Eclipse




                            59
Development Server
    http://localhost:8888




                            60
Development Server Admin Console
        http://localhost:8888/_ah/admin




                                          61
Deployment Environment

    Application is deployed as .war which contains.

    Deployment is integrated in IDE

    Deploy multiple version of the application at the
    same time

    Your app lives at
     – <app_id>.appspot.com or
     – Custom domain with Google Apps



                                                        62
Running your app on Google

 http://<version>.<appid>.appspot.com/some/path




                                                  63
Managing Applications

    Administration Console
     http://appengine.google.com/a/yourdomain.com

    Application Dashboard

    Multiple application versions

    Analyzing log files (including admin)

    Analyzing resource usage




                                                    64
GAE Dashboard




                65
66
Heroku

    Platform as a Service for professional
    apps developers

    Forget servers

    Run anything

    See everything

    Trust & Managed


                                             67
Forget Servers

    Agile deployment for Ruby, Node.js, Clojure,
    Java, Python, and Scala.




                                                   68
69
70
Resources

    Google App Engine at a glance, Stefan Christoph

    Developing Java Based Web Applications in

    Google App Engine, Tahir Akram, Dec. 2009

    Google App Engine, Patrick Chanezon, Mar 2010




                                                      71
Thank you

 thanachart@imcinstitute.com
www.facebook.com/imcinstitute
    www.imcinstitute.com



                                72

More Related Content

What's hot (20)

Pivotal cf for_devops_mkim_20141209
Pivotal cf for_devops_mkim_20141209Pivotal cf for_devops_mkim_20141209
Pivotal cf for_devops_mkim_20141209
minseok kim
 
Cloud Foundry - Second Generation Code (CCNG). Technical Overview
Cloud Foundry - Second Generation Code (CCNG). Technical Overview Cloud Foundry - Second Generation Code (CCNG). Technical Overview
Cloud Foundry - Second Generation Code (CCNG). Technical Overview
Nima Badiey
 
Acquia Hosting
Acquia HostingAcquia Hosting
Acquia Hosting
webhostingguy
 
vBACD July 2012 - Apache Hadoop, Now and Beyond
vBACD July 2012 - Apache Hadoop, Now and BeyondvBACD July 2012 - Apache Hadoop, Now and Beyond
vBACD July 2012 - Apache Hadoop, Now and Beyond
CloudStack - Open Source Cloud Computing Project
 
Optimizing Cloud Foundry and OpenStack for large scale deployments
Optimizing Cloud Foundry and OpenStack for large scale deploymentsOptimizing Cloud Foundry and OpenStack for large scale deployments
Optimizing Cloud Foundry and OpenStack for large scale deployments
Animesh Singh
 
Cloud Foundry and OpenStack - A Marriage Made in Heaven! (Cloud Foundry Summi...
Cloud Foundry and OpenStack - A Marriage Made in Heaven! (Cloud Foundry Summi...Cloud Foundry and OpenStack - A Marriage Made in Heaven! (Cloud Foundry Summi...
Cloud Foundry and OpenStack - A Marriage Made in Heaven! (Cloud Foundry Summi...
VMware Tanzu
 
MS TechDays 2011 - Cloud Computing with the Windows Azure Platform
MS TechDays 2011 - Cloud Computing with the Windows Azure PlatformMS TechDays 2011 - Cloud Computing with the Windows Azure Platform
MS TechDays 2011 - Cloud Computing with the Windows Azure Platform
Spiffy
 
Google App Engine Update 2012
Google App Engine Update 2012Google App Engine Update 2012
Google App Engine Update 2012
David Chandler
 
SQL Server R2 Sunumu
SQL Server R2 SunumuSQL Server R2 Sunumu
SQL Server R2 Sunumu
ÇözümPARK
 
Part 2: Architecture and the Operator Experience (Pivotal Cloud Platform Road...
Part 2: Architecture and the Operator Experience (Pivotal Cloud Platform Road...Part 2: Architecture and the Operator Experience (Pivotal Cloud Platform Road...
Part 2: Architecture and the Operator Experience (Pivotal Cloud Platform Road...
VMware Tanzu
 
.NetCampus Windows Azure Mobile
.NetCampus Windows Azure Mobile.NetCampus Windows Azure Mobile
.NetCampus Windows Azure Mobile
antimo musone
 
Azure Modern Cloud App Development Approaches 2017
Azure Modern Cloud App Development Approaches 2017Azure Modern Cloud App Development Approaches 2017
Azure Modern Cloud App Development Approaches 2017
Vadim Zendejas
 
WebSphere Application Server - Meeting Your Cloud and On-Premise Demands
WebSphere Application Server - Meeting Your Cloud and On-Premise DemandsWebSphere Application Server - Meeting Your Cloud and On-Premise Demands
WebSphere Application Server - Meeting Your Cloud and On-Premise Demands
Ian Robinson
 
WebClient Overview and 1.8 Roadmap
WebClient Overview and 1.8 RoadmapWebClient Overview and 1.8 Roadmap
WebClient Overview and 1.8 Roadmap
CM First Group
 
Cloud Foundry and OpenStack – Marriage Made in Heaven !
Cloud Foundry and OpenStack – Marriage Made in Heaven !Cloud Foundry and OpenStack – Marriage Made in Heaven !
Cloud Foundry and OpenStack – Marriage Made in Heaven !
Animesh Singh
 
Cloud Computing & Windows Azure
Cloud Computing & Windows AzureCloud Computing & Windows Azure
Cloud Computing & Windows Azure
yeschandana
 
Cloud Foundry Overview
Cloud Foundry OverviewCloud Foundry Overview
Cloud Foundry Overview
Patrick Chanezon
 
Cloud Foundry Technical Overview at IBM Interconnect 2016
Cloud Foundry Technical Overview at IBM Interconnect 2016Cloud Foundry Technical Overview at IBM Interconnect 2016
Cloud Foundry Technical Overview at IBM Interconnect 2016
Stormy Peters
 
Sql azure data services OData
Sql azure data services ODataSql azure data services OData
Sql azure data services OData
Eduardo Castro
 
Building a PaaS Platform like Bluemix on OpenStack
Building a PaaS Platform like Bluemix on OpenStackBuilding a PaaS Platform like Bluemix on OpenStack
Building a PaaS Platform like Bluemix on OpenStack
Animesh Singh
 
Pivotal cf for_devops_mkim_20141209
Pivotal cf for_devops_mkim_20141209Pivotal cf for_devops_mkim_20141209
Pivotal cf for_devops_mkim_20141209
minseok kim
 
Cloud Foundry - Second Generation Code (CCNG). Technical Overview
Cloud Foundry - Second Generation Code (CCNG). Technical Overview Cloud Foundry - Second Generation Code (CCNG). Technical Overview
Cloud Foundry - Second Generation Code (CCNG). Technical Overview
Nima Badiey
 
Optimizing Cloud Foundry and OpenStack for large scale deployments
Optimizing Cloud Foundry and OpenStack for large scale deploymentsOptimizing Cloud Foundry and OpenStack for large scale deployments
Optimizing Cloud Foundry and OpenStack for large scale deployments
Animesh Singh
 
Cloud Foundry and OpenStack - A Marriage Made in Heaven! (Cloud Foundry Summi...
Cloud Foundry and OpenStack - A Marriage Made in Heaven! (Cloud Foundry Summi...Cloud Foundry and OpenStack - A Marriage Made in Heaven! (Cloud Foundry Summi...
Cloud Foundry and OpenStack - A Marriage Made in Heaven! (Cloud Foundry Summi...
VMware Tanzu
 
MS TechDays 2011 - Cloud Computing with the Windows Azure Platform
MS TechDays 2011 - Cloud Computing with the Windows Azure PlatformMS TechDays 2011 - Cloud Computing with the Windows Azure Platform
MS TechDays 2011 - Cloud Computing with the Windows Azure Platform
Spiffy
 
Google App Engine Update 2012
Google App Engine Update 2012Google App Engine Update 2012
Google App Engine Update 2012
David Chandler
 
SQL Server R2 Sunumu
SQL Server R2 SunumuSQL Server R2 Sunumu
SQL Server R2 Sunumu
ÇözümPARK
 
Part 2: Architecture and the Operator Experience (Pivotal Cloud Platform Road...
Part 2: Architecture and the Operator Experience (Pivotal Cloud Platform Road...Part 2: Architecture and the Operator Experience (Pivotal Cloud Platform Road...
Part 2: Architecture and the Operator Experience (Pivotal Cloud Platform Road...
VMware Tanzu
 
.NetCampus Windows Azure Mobile
.NetCampus Windows Azure Mobile.NetCampus Windows Azure Mobile
.NetCampus Windows Azure Mobile
antimo musone
 
Azure Modern Cloud App Development Approaches 2017
Azure Modern Cloud App Development Approaches 2017Azure Modern Cloud App Development Approaches 2017
Azure Modern Cloud App Development Approaches 2017
Vadim Zendejas
 
WebSphere Application Server - Meeting Your Cloud and On-Premise Demands
WebSphere Application Server - Meeting Your Cloud and On-Premise DemandsWebSphere Application Server - Meeting Your Cloud and On-Premise Demands
WebSphere Application Server - Meeting Your Cloud and On-Premise Demands
Ian Robinson
 
WebClient Overview and 1.8 Roadmap
WebClient Overview and 1.8 RoadmapWebClient Overview and 1.8 Roadmap
WebClient Overview and 1.8 Roadmap
CM First Group
 
Cloud Foundry and OpenStack – Marriage Made in Heaven !
Cloud Foundry and OpenStack – Marriage Made in Heaven !Cloud Foundry and OpenStack – Marriage Made in Heaven !
Cloud Foundry and OpenStack – Marriage Made in Heaven !
Animesh Singh
 
Cloud Computing & Windows Azure
Cloud Computing & Windows AzureCloud Computing & Windows Azure
Cloud Computing & Windows Azure
yeschandana
 
Cloud Foundry Technical Overview at IBM Interconnect 2016
Cloud Foundry Technical Overview at IBM Interconnect 2016Cloud Foundry Technical Overview at IBM Interconnect 2016
Cloud Foundry Technical Overview at IBM Interconnect 2016
Stormy Peters
 
Sql azure data services OData
Sql azure data services ODataSql azure data services OData
Sql azure data services OData
Eduardo Castro
 
Building a PaaS Platform like Bluemix on OpenStack
Building a PaaS Platform like Bluemix on OpenStackBuilding a PaaS Platform like Bluemix on OpenStack
Building a PaaS Platform like Bluemix on OpenStack
Animesh Singh
 

Similar to Java Web Programming Using Cloud Platform: Module 10 (20)

Java Web Programming on Google Cloud Platform [1/3] : Google App Engine
Java Web Programming on Google Cloud Platform [1/3] : Google App EngineJava Web Programming on Google Cloud Platform [1/3] : Google App Engine
Java Web Programming on Google Cloud Platform [1/3] : Google App Engine
IMC Institute
 
Google App Engine
Google App EngineGoogle App Engine
Google App Engine
Software Park Thailand
 
PaaS with Java
PaaS with JavaPaaS with Java
PaaS with Java
Eberhard Wolff
 
Cloudy in Indonesia: Java and Cloud
Cloudy in Indonesia: Java and CloudCloudy in Indonesia: Java and Cloud
Cloudy in Indonesia: Java and Cloud
Eberhard Wolff
 
Nadeus Education Services session on Google Apps and Google App Engine
Nadeus Education Services session on Google Apps and Google App EngineNadeus Education Services session on Google Apps and Google App Engine
Nadeus Education Services session on Google Apps and Google App Engine
Nadeus Education Services
 
What's new in App Engine and intro to App Engine for Business
What's new in App Engine and intro to App Engine for BusinessWhat's new in App Engine and intro to App Engine for Business
What's new in App Engine and intro to App Engine for Business
Chris Schalk
 
Javaedge 2010-cschalk
Javaedge 2010-cschalkJavaedge 2010-cschalk
Javaedge 2010-cschalk
Chris Schalk
 
Introduction to Google's Cloud Technologies
Introduction to Google's Cloud TechnologiesIntroduction to Google's Cloud Technologies
Introduction to Google's Cloud Technologies
Chris Schalk
 
Introduction to Google Cloud Platform Technologies
Introduction to Google Cloud Platform TechnologiesIntroduction to Google Cloud Platform Technologies
Introduction to Google Cloud Platform Technologies
Chris Schalk
 
App Engine Presentation @ SFJUG Sep 2010
App Engine Presentation @ SFJUG Sep 2010App Engine Presentation @ SFJUG Sep 2010
App Engine Presentation @ SFJUG Sep 2010
Chris Schalk
 
Cloud computing
Cloud computingCloud computing
Cloud computing
Higher Private School of Engineering and Technology
 
Cloud computing
Cloud computingCloud computing
Cloud computing
Higher Private School of Engineering and Technology
 
Google Cloud Platform
Google Cloud Platform Google Cloud Platform
Google Cloud Platform
Francesco Marchitelli
 
App Engine Overview Cloud Futures Publish
App Engine Overview Cloud Futures PublishApp Engine Overview Cloud Futures Publish
App Engine Overview Cloud Futures Publish
Chris Schalk
 
Cloud PaaS with Java
Cloud PaaS with JavaCloud PaaS with Java
Cloud PaaS with Java
Eberhard Wolff
 
App Engine Overview @ Google Hackathon SXSW 2010
App Engine Overview @ Google Hackathon SXSW 2010App Engine Overview @ Google Hackathon SXSW 2010
App Engine Overview @ Google Hackathon SXSW 2010
Chris Schalk
 
Don Schwarz App Engine Talk
Don Schwarz App Engine TalkDon Schwarz App Engine Talk
Don Schwarz App Engine Talk
Tech in the Middle
 
Cloud Computing from an Entrpreneur's Viewpoint
Cloud Computing from an Entrpreneur's ViewpointCloud Computing from an Entrpreneur's Viewpoint
Cloud Computing from an Entrpreneur's Viewpoint
J Singh
 
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
Csaba Toth
 
MyEclipse G IDE, Google Cloud
MyEclipse G IDE, Google CloudMyEclipse G IDE, Google Cloud
MyEclipse G IDE, Google Cloud
Genuitec, LLC
 
Java Web Programming on Google Cloud Platform [1/3] : Google App Engine
Java Web Programming on Google Cloud Platform [1/3] : Google App EngineJava Web Programming on Google Cloud Platform [1/3] : Google App Engine
Java Web Programming on Google Cloud Platform [1/3] : Google App Engine
IMC Institute
 
Cloudy in Indonesia: Java and Cloud
Cloudy in Indonesia: Java and CloudCloudy in Indonesia: Java and Cloud
Cloudy in Indonesia: Java and Cloud
Eberhard Wolff
 
Nadeus Education Services session on Google Apps and Google App Engine
Nadeus Education Services session on Google Apps and Google App EngineNadeus Education Services session on Google Apps and Google App Engine
Nadeus Education Services session on Google Apps and Google App Engine
Nadeus Education Services
 
What's new in App Engine and intro to App Engine for Business
What's new in App Engine and intro to App Engine for BusinessWhat's new in App Engine and intro to App Engine for Business
What's new in App Engine and intro to App Engine for Business
Chris Schalk
 
Javaedge 2010-cschalk
Javaedge 2010-cschalkJavaedge 2010-cschalk
Javaedge 2010-cschalk
Chris Schalk
 
Introduction to Google's Cloud Technologies
Introduction to Google's Cloud TechnologiesIntroduction to Google's Cloud Technologies
Introduction to Google's Cloud Technologies
Chris Schalk
 
Introduction to Google Cloud Platform Technologies
Introduction to Google Cloud Platform TechnologiesIntroduction to Google Cloud Platform Technologies
Introduction to Google Cloud Platform Technologies
Chris Schalk
 
App Engine Presentation @ SFJUG Sep 2010
App Engine Presentation @ SFJUG Sep 2010App Engine Presentation @ SFJUG Sep 2010
App Engine Presentation @ SFJUG Sep 2010
Chris Schalk
 
App Engine Overview Cloud Futures Publish
App Engine Overview Cloud Futures PublishApp Engine Overview Cloud Futures Publish
App Engine Overview Cloud Futures Publish
Chris Schalk
 
App Engine Overview @ Google Hackathon SXSW 2010
App Engine Overview @ Google Hackathon SXSW 2010App Engine Overview @ Google Hackathon SXSW 2010
App Engine Overview @ Google Hackathon SXSW 2010
Chris Schalk
 
Cloud Computing from an Entrpreneur's Viewpoint
Cloud Computing from an Entrpreneur's ViewpointCloud Computing from an Entrpreneur's Viewpoint
Cloud Computing from an Entrpreneur's Viewpoint
J Singh
 
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
Csaba Toth
 
MyEclipse G IDE, Google Cloud
MyEclipse G IDE, Google CloudMyEclipse G IDE, Google Cloud
MyEclipse G IDE, Google Cloud
Genuitec, LLC
 
Ad

More from IMC Institute (20)

นิตยสาร Digital Trends ฉบับที่ 14
นิตยสาร Digital Trends ฉบับที่ 14นิตยสาร Digital Trends ฉบับที่ 14
นิตยสาร Digital Trends ฉบับที่ 14
IMC Institute
 
Digital trends Vol 4 No. 13 Sep-Dec 2019
Digital trends Vol 4 No. 13  Sep-Dec 2019Digital trends Vol 4 No. 13  Sep-Dec 2019
Digital trends Vol 4 No. 13 Sep-Dec 2019
IMC Institute
 
บทความ The evolution of AI
บทความ The evolution of AIบทความ The evolution of AI
บทความ The evolution of AI
IMC Institute
 
IT Trends eMagazine Vol 4. No.12
IT Trends eMagazine  Vol 4. No.12IT Trends eMagazine  Vol 4. No.12
IT Trends eMagazine Vol 4. No.12
IMC Institute
 
เพราะเหตุใด Digitization ไม่ตอบโจทย์ Digital Transformation
เพราะเหตุใด Digitization ไม่ตอบโจทย์ Digital Transformationเพราะเหตุใด Digitization ไม่ตอบโจทย์ Digital Transformation
เพราะเหตุใด Digitization ไม่ตอบโจทย์ Digital Transformation
IMC Institute
 
IT Trends 2019: Putting Digital Transformation to Work
IT Trends 2019: Putting Digital Transformation to WorkIT Trends 2019: Putting Digital Transformation to Work
IT Trends 2019: Putting Digital Transformation to Work
IMC Institute
 
มูลค่าตลาดดิจิทัลไทย 3 อุตสาหกรรม
มูลค่าตลาดดิจิทัลไทย 3 อุตสาหกรรมมูลค่าตลาดดิจิทัลไทย 3 อุตสาหกรรม
มูลค่าตลาดดิจิทัลไทย 3 อุตสาหกรรม
IMC Institute
 
IT Trends eMagazine Vol 4. No.11
IT Trends eMagazine  Vol 4. No.11IT Trends eMagazine  Vol 4. No.11
IT Trends eMagazine Vol 4. No.11
IMC Institute
 
แนวทางการทำ Digital transformation
แนวทางการทำ Digital transformationแนวทางการทำ Digital transformation
แนวทางการทำ Digital transformation
IMC Institute
 
บทความ The New Silicon Valley
บทความ The New Silicon Valleyบทความ The New Silicon Valley
บทความ The New Silicon Valley
IMC Institute
 
นิตยสาร IT Trends ของ IMC Institute ฉบับที่ 10
นิตยสาร IT Trends ของ  IMC Institute  ฉบับที่ 10นิตยสาร IT Trends ของ  IMC Institute  ฉบับที่ 10
นิตยสาร IT Trends ของ IMC Institute ฉบับที่ 10
IMC Institute
 
แนวทางการทำ Digital transformation
แนวทางการทำ Digital transformationแนวทางการทำ Digital transformation
แนวทางการทำ Digital transformation
IMC Institute
 
The Power of Big Data for a new economy (Sample)
The Power of Big Data for a new economy (Sample)The Power of Big Data for a new economy (Sample)
The Power of Big Data for a new economy (Sample)
IMC Institute
 
บทความ Robotics แนวโน้มใหม่สู่บริการเฉพาะทาง
บทความ Robotics แนวโน้มใหม่สู่บริการเฉพาะทาง บทความ Robotics แนวโน้มใหม่สู่บริการเฉพาะทาง
บทความ Robotics แนวโน้มใหม่สู่บริการเฉพาะทาง
IMC Institute
 
IT Trends eMagazine Vol 3. No.9
IT Trends eMagazine  Vol 3. No.9 IT Trends eMagazine  Vol 3. No.9
IT Trends eMagazine Vol 3. No.9
IMC Institute
 
Thailand software & software market survey 2016
Thailand software & software market survey 2016Thailand software & software market survey 2016
Thailand software & software market survey 2016
IMC Institute
 
Developing Business Blockchain Applications on Hyperledger
Developing Business  Blockchain Applications on Hyperledger Developing Business  Blockchain Applications on Hyperledger
Developing Business Blockchain Applications on Hyperledger
IMC Institute
 
Digital transformation @thanachart.org
Digital transformation @thanachart.orgDigital transformation @thanachart.org
Digital transformation @thanachart.org
IMC Institute
 
บทความ Big Data จากบล็อก thanachart.org
บทความ Big Data จากบล็อก thanachart.orgบทความ Big Data จากบล็อก thanachart.org
บทความ Big Data จากบล็อก thanachart.org
IMC Institute
 
กลยุทธ์ 5 ด้านกับการทำ Digital Transformation
กลยุทธ์ 5 ด้านกับการทำ Digital Transformationกลยุทธ์ 5 ด้านกับการทำ Digital Transformation
กลยุทธ์ 5 ด้านกับการทำ Digital Transformation
IMC Institute
 
นิตยสาร Digital Trends ฉบับที่ 14
นิตยสาร Digital Trends ฉบับที่ 14นิตยสาร Digital Trends ฉบับที่ 14
นิตยสาร Digital Trends ฉบับที่ 14
IMC Institute
 
Digital trends Vol 4 No. 13 Sep-Dec 2019
Digital trends Vol 4 No. 13  Sep-Dec 2019Digital trends Vol 4 No. 13  Sep-Dec 2019
Digital trends Vol 4 No. 13 Sep-Dec 2019
IMC Institute
 
บทความ The evolution of AI
บทความ The evolution of AIบทความ The evolution of AI
บทความ The evolution of AI
IMC Institute
 
IT Trends eMagazine Vol 4. No.12
IT Trends eMagazine  Vol 4. No.12IT Trends eMagazine  Vol 4. No.12
IT Trends eMagazine Vol 4. No.12
IMC Institute
 
เพราะเหตุใด Digitization ไม่ตอบโจทย์ Digital Transformation
เพราะเหตุใด Digitization ไม่ตอบโจทย์ Digital Transformationเพราะเหตุใด Digitization ไม่ตอบโจทย์ Digital Transformation
เพราะเหตุใด Digitization ไม่ตอบโจทย์ Digital Transformation
IMC Institute
 
IT Trends 2019: Putting Digital Transformation to Work
IT Trends 2019: Putting Digital Transformation to WorkIT Trends 2019: Putting Digital Transformation to Work
IT Trends 2019: Putting Digital Transformation to Work
IMC Institute
 
มูลค่าตลาดดิจิทัลไทย 3 อุตสาหกรรม
มูลค่าตลาดดิจิทัลไทย 3 อุตสาหกรรมมูลค่าตลาดดิจิทัลไทย 3 อุตสาหกรรม
มูลค่าตลาดดิจิทัลไทย 3 อุตสาหกรรม
IMC Institute
 
IT Trends eMagazine Vol 4. No.11
IT Trends eMagazine  Vol 4. No.11IT Trends eMagazine  Vol 4. No.11
IT Trends eMagazine Vol 4. No.11
IMC Institute
 
แนวทางการทำ Digital transformation
แนวทางการทำ Digital transformationแนวทางการทำ Digital transformation
แนวทางการทำ Digital transformation
IMC Institute
 
บทความ The New Silicon Valley
บทความ The New Silicon Valleyบทความ The New Silicon Valley
บทความ The New Silicon Valley
IMC Institute
 
นิตยสาร IT Trends ของ IMC Institute ฉบับที่ 10
นิตยสาร IT Trends ของ  IMC Institute  ฉบับที่ 10นิตยสาร IT Trends ของ  IMC Institute  ฉบับที่ 10
นิตยสาร IT Trends ของ IMC Institute ฉบับที่ 10
IMC Institute
 
แนวทางการทำ Digital transformation
แนวทางการทำ Digital transformationแนวทางการทำ Digital transformation
แนวทางการทำ Digital transformation
IMC Institute
 
The Power of Big Data for a new economy (Sample)
The Power of Big Data for a new economy (Sample)The Power of Big Data for a new economy (Sample)
The Power of Big Data for a new economy (Sample)
IMC Institute
 
บทความ Robotics แนวโน้มใหม่สู่บริการเฉพาะทาง
บทความ Robotics แนวโน้มใหม่สู่บริการเฉพาะทาง บทความ Robotics แนวโน้มใหม่สู่บริการเฉพาะทาง
บทความ Robotics แนวโน้มใหม่สู่บริการเฉพาะทาง
IMC Institute
 
IT Trends eMagazine Vol 3. No.9
IT Trends eMagazine  Vol 3. No.9 IT Trends eMagazine  Vol 3. No.9
IT Trends eMagazine Vol 3. No.9
IMC Institute
 
Thailand software & software market survey 2016
Thailand software & software market survey 2016Thailand software & software market survey 2016
Thailand software & software market survey 2016
IMC Institute
 
Developing Business Blockchain Applications on Hyperledger
Developing Business  Blockchain Applications on Hyperledger Developing Business  Blockchain Applications on Hyperledger
Developing Business Blockchain Applications on Hyperledger
IMC Institute
 
Digital transformation @thanachart.org
Digital transformation @thanachart.orgDigital transformation @thanachart.org
Digital transformation @thanachart.org
IMC Institute
 
บทความ Big Data จากบล็อก thanachart.org
บทความ Big Data จากบล็อก thanachart.orgบทความ Big Data จากบล็อก thanachart.org
บทความ Big Data จากบล็อก thanachart.org
IMC Institute
 
กลยุทธ์ 5 ด้านกับการทำ Digital Transformation
กลยุทธ์ 5 ด้านกับการทำ Digital Transformationกลยุทธ์ 5 ด้านกับการทำ Digital Transformation
กลยุทธ์ 5 ด้านกับการทำ Digital Transformation
IMC Institute
 
Ad

Recently uploaded (20)

Analysis of the changes in the attitude of the news comments caused by knowin...
Analysis of the changes in the attitude of the news comments caused by knowin...Analysis of the changes in the attitude of the news comments caused by knowin...
Analysis of the changes in the attitude of the news comments caused by knowin...
Matsushita Laboratory
 
MuleSoft for AgentForce : Topic Center and API Catalog
MuleSoft for AgentForce : Topic Center and API CatalogMuleSoft for AgentForce : Topic Center and API Catalog
MuleSoft for AgentForce : Topic Center and API Catalog
shyamraj55
 
Introduction to Typescript - GDG On Campus EUE
Introduction to Typescript - GDG On Campus EUEIntroduction to Typescript - GDG On Campus EUE
Introduction to Typescript - GDG On Campus EUE
Google Developer Group On Campus European Universities in Egypt
 
“Why It’s Critical to Have an Integrated Development Methodology for Edge AI,...
“Why It’s Critical to Have an Integrated Development Methodology for Edge AI,...“Why It’s Critical to Have an Integrated Development Methodology for Edge AI,...
“Why It’s Critical to Have an Integrated Development Methodology for Edge AI,...
Edge AI and Vision Alliance
 
Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...
Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...
Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...
Safe Software
 
Crypto Super 500 - 14th Report - June2025.pdf
Crypto Super 500 - 14th Report - June2025.pdfCrypto Super 500 - 14th Report - June2025.pdf
Crypto Super 500 - 14th Report - June2025.pdf
Stephen Perrenod
 
FIDO Seminar: Targeting Trust: The Future of Identity in the Workforce.pptx
FIDO Seminar: Targeting Trust: The Future of Identity in the Workforce.pptxFIDO Seminar: Targeting Trust: The Future of Identity in the Workforce.pptx
FIDO Seminar: Targeting Trust: The Future of Identity in the Workforce.pptx
FIDO Alliance
 
War_And_Cyber_3_Years_Of_Struggle_And_Lessons_For_Global_Security.pdf
War_And_Cyber_3_Years_Of_Struggle_And_Lessons_For_Global_Security.pdfWar_And_Cyber_3_Years_Of_Struggle_And_Lessons_For_Global_Security.pdf
War_And_Cyber_3_Years_Of_Struggle_And_Lessons_For_Global_Security.pdf
biswajitbanerjee38
 
Down the Rabbit Hole – Solving 5 Training Roadblocks
Down the Rabbit Hole – Solving 5 Training RoadblocksDown the Rabbit Hole – Solving 5 Training Roadblocks
Down the Rabbit Hole – Solving 5 Training Roadblocks
Rustici Software
 
ENERGY CONSUMPTION CALCULATION IN ENERGY-EFFICIENT AIR CONDITIONER.pdf
ENERGY CONSUMPTION CALCULATION IN ENERGY-EFFICIENT AIR CONDITIONER.pdfENERGY CONSUMPTION CALCULATION IN ENERGY-EFFICIENT AIR CONDITIONER.pdf
ENERGY CONSUMPTION CALCULATION IN ENERGY-EFFICIENT AIR CONDITIONER.pdf
Muhammad Rizwan Akram
 
Floods in Valencia: Two FME-Powered Stories of Data Resilience
Floods in Valencia: Two FME-Powered Stories of Data ResilienceFloods in Valencia: Two FME-Powered Stories of Data Resilience
Floods in Valencia: Two FME-Powered Stories of Data Resilience
Safe Software
 
PyData - Graph Theory for Multi-Agent Integration
PyData - Graph Theory for Multi-Agent IntegrationPyData - Graph Theory for Multi-Agent Integration
PyData - Graph Theory for Multi-Agent Integration
barqawicloud
 
Viral>Wondershare Filmora 14.5.18.12900 Crack Free Download
Viral>Wondershare Filmora 14.5.18.12900 Crack Free DownloadViral>Wondershare Filmora 14.5.18.12900 Crack Free Download
Viral>Wondershare Filmora 14.5.18.12900 Crack Free Download
Puppy jhon
 
Murdledescargadarkweb.pdfvolumen1 100 elementary
Murdledescargadarkweb.pdfvolumen1 100 elementaryMurdledescargadarkweb.pdfvolumen1 100 elementary
Murdledescargadarkweb.pdfvolumen1 100 elementary
JorgeSemperteguiMont
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
Edge-banding-machines-edgeteq-s-200-en-.pdf
Edge-banding-machines-edgeteq-s-200-en-.pdfEdge-banding-machines-edgeteq-s-200-en-.pdf
Edge-banding-machines-edgeteq-s-200-en-.pdf
AmirStern2
 
vertical-cnc-processing-centers-drillteq-v-200-en.pdf
vertical-cnc-processing-centers-drillteq-v-200-en.pdfvertical-cnc-processing-centers-drillteq-v-200-en.pdf
vertical-cnc-processing-centers-drillteq-v-200-en.pdf
AmirStern2
 
FIDO Alliance Seminar State of Passkeys.pptx
FIDO Alliance Seminar State of Passkeys.pptxFIDO Alliance Seminar State of Passkeys.pptx
FIDO Alliance Seminar State of Passkeys.pptx
FIDO Alliance
 
Oracle Cloud Infrastructure Generative AI Professional
Oracle Cloud Infrastructure Generative AI ProfessionalOracle Cloud Infrastructure Generative AI Professional
Oracle Cloud Infrastructure Generative AI Professional
VICTOR MAESTRE RAMIREZ
 
“From Enterprise to Makers: Driving Vision AI Innovation at the Extreme Edge,...
“From Enterprise to Makers: Driving Vision AI Innovation at the Extreme Edge,...“From Enterprise to Makers: Driving Vision AI Innovation at the Extreme Edge,...
“From Enterprise to Makers: Driving Vision AI Innovation at the Extreme Edge,...
Edge AI and Vision Alliance
 
Analysis of the changes in the attitude of the news comments caused by knowin...
Analysis of the changes in the attitude of the news comments caused by knowin...Analysis of the changes in the attitude of the news comments caused by knowin...
Analysis of the changes in the attitude of the news comments caused by knowin...
Matsushita Laboratory
 
MuleSoft for AgentForce : Topic Center and API Catalog
MuleSoft for AgentForce : Topic Center and API CatalogMuleSoft for AgentForce : Topic Center and API Catalog
MuleSoft for AgentForce : Topic Center and API Catalog
shyamraj55
 
“Why It’s Critical to Have an Integrated Development Methodology for Edge AI,...
“Why It’s Critical to Have an Integrated Development Methodology for Edge AI,...“Why It’s Critical to Have an Integrated Development Methodology for Edge AI,...
“Why It’s Critical to Have an Integrated Development Methodology for Edge AI,...
Edge AI and Vision Alliance
 
Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...
Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...
Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...
Safe Software
 
Crypto Super 500 - 14th Report - June2025.pdf
Crypto Super 500 - 14th Report - June2025.pdfCrypto Super 500 - 14th Report - June2025.pdf
Crypto Super 500 - 14th Report - June2025.pdf
Stephen Perrenod
 
FIDO Seminar: Targeting Trust: The Future of Identity in the Workforce.pptx
FIDO Seminar: Targeting Trust: The Future of Identity in the Workforce.pptxFIDO Seminar: Targeting Trust: The Future of Identity in the Workforce.pptx
FIDO Seminar: Targeting Trust: The Future of Identity in the Workforce.pptx
FIDO Alliance
 
War_And_Cyber_3_Years_Of_Struggle_And_Lessons_For_Global_Security.pdf
War_And_Cyber_3_Years_Of_Struggle_And_Lessons_For_Global_Security.pdfWar_And_Cyber_3_Years_Of_Struggle_And_Lessons_For_Global_Security.pdf
War_And_Cyber_3_Years_Of_Struggle_And_Lessons_For_Global_Security.pdf
biswajitbanerjee38
 
Down the Rabbit Hole – Solving 5 Training Roadblocks
Down the Rabbit Hole – Solving 5 Training RoadblocksDown the Rabbit Hole – Solving 5 Training Roadblocks
Down the Rabbit Hole – Solving 5 Training Roadblocks
Rustici Software
 
ENERGY CONSUMPTION CALCULATION IN ENERGY-EFFICIENT AIR CONDITIONER.pdf
ENERGY CONSUMPTION CALCULATION IN ENERGY-EFFICIENT AIR CONDITIONER.pdfENERGY CONSUMPTION CALCULATION IN ENERGY-EFFICIENT AIR CONDITIONER.pdf
ENERGY CONSUMPTION CALCULATION IN ENERGY-EFFICIENT AIR CONDITIONER.pdf
Muhammad Rizwan Akram
 
Floods in Valencia: Two FME-Powered Stories of Data Resilience
Floods in Valencia: Two FME-Powered Stories of Data ResilienceFloods in Valencia: Two FME-Powered Stories of Data Resilience
Floods in Valencia: Two FME-Powered Stories of Data Resilience
Safe Software
 
PyData - Graph Theory for Multi-Agent Integration
PyData - Graph Theory for Multi-Agent IntegrationPyData - Graph Theory for Multi-Agent Integration
PyData - Graph Theory for Multi-Agent Integration
barqawicloud
 
Viral>Wondershare Filmora 14.5.18.12900 Crack Free Download
Viral>Wondershare Filmora 14.5.18.12900 Crack Free DownloadViral>Wondershare Filmora 14.5.18.12900 Crack Free Download
Viral>Wondershare Filmora 14.5.18.12900 Crack Free Download
Puppy jhon
 
Murdledescargadarkweb.pdfvolumen1 100 elementary
Murdledescargadarkweb.pdfvolumen1 100 elementaryMurdledescargadarkweb.pdfvolumen1 100 elementary
Murdledescargadarkweb.pdfvolumen1 100 elementary
JorgeSemperteguiMont
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
Edge-banding-machines-edgeteq-s-200-en-.pdf
Edge-banding-machines-edgeteq-s-200-en-.pdfEdge-banding-machines-edgeteq-s-200-en-.pdf
Edge-banding-machines-edgeteq-s-200-en-.pdf
AmirStern2
 
vertical-cnc-processing-centers-drillteq-v-200-en.pdf
vertical-cnc-processing-centers-drillteq-v-200-en.pdfvertical-cnc-processing-centers-drillteq-v-200-en.pdf
vertical-cnc-processing-centers-drillteq-v-200-en.pdf
AmirStern2
 
FIDO Alliance Seminar State of Passkeys.pptx
FIDO Alliance Seminar State of Passkeys.pptxFIDO Alliance Seminar State of Passkeys.pptx
FIDO Alliance Seminar State of Passkeys.pptx
FIDO Alliance
 
Oracle Cloud Infrastructure Generative AI Professional
Oracle Cloud Infrastructure Generative AI ProfessionalOracle Cloud Infrastructure Generative AI Professional
Oracle Cloud Infrastructure Generative AI Professional
VICTOR MAESTRE RAMIREZ
 
“From Enterprise to Makers: Driving Vision AI Innovation at the Extreme Edge,...
“From Enterprise to Makers: Driving Vision AI Innovation at the Extreme Edge,...“From Enterprise to Makers: Driving Vision AI Innovation at the Extreme Edge,...
“From Enterprise to Makers: Driving Vision AI Innovation at the Extreme Edge,...
Edge AI and Vision Alliance
 

Java Web Programming Using Cloud Platform: Module 10

  • 1. Module 10: Java Cloud Platform Dr.Thanachart Numnonda Dr.Thanisa Kruawaisayawan www.imcinstitute.com 18-22 February 2013
  • 2. Objectives  What is Cloud Computing?  What is Google App Engine?  Google App Engine for Java  Google App Engine Development cycle  Heroku Introduction 2
  • 3. What is Cloud Computing? 3
  • 4. Cloud Computing : Definition (Wikipedia) Cloud Computing is Internet-based computing, whereby shared resources, software, and information are provided to computers and other devices on demand, like the electricity grid. 4
  • 5. Cloud Computing Characteristics  Massive, abstracted infrastructure  Dynamic allocation, scaling, movement of applications  Pay per use  No long-term commitments  OS, application architecture independent  No hardware or software to install 5
  • 6. Grid to Cloud Evolution 6
  • 7. Web 2.0 & Cloud Computing  Web 2.0 concentrates on the private user and clouds are decscendents of data centers which services the enterprise.  Web 2.0 promotes SaaS.  Web 2.0 needs massive scaling technologies.  User centric Web 2.0 companies (Twitter, Slideshare) are relying on Cloud Services. 7
  • 8. ISP to Cloud Evolution 8
  • 9. Software as a Service (SaaS)  SaaS is at the highest layer and features a complete application offered as a service, on- demand,  via multitenancy — meaning a single instance of the software runs on the provider’s infrastructure and serves multiple client organizations. 9
  • 10. Platform as a Service (PaaS)  The middle layer, or PaaS, is the encapsulation of a development environment abstraction and the packaging of a payload of services  PaaS offerings can provide for every phase of software development and testing, or they can be specialized around a particular area, such as content management 10
  • 11. Infrastructure as a Service (IaaS)  IaaS is at the lowest layer and is a means of delivering basic storage and compute capabilities as standardized services over the network.  Servers, storage systems, switches,routers, and other systems are pooled (through virtualization technology, for example) to handle specific types of workloads — from batch processing to server/storage augmentation during peak loads. 11
  • 12. 12
  • 13. Deployment Model  Public Cloud: provider refers to the cloud platform that targets any types of customers.  Private Cloud: infrastructure that’s hosted internally, targeting specific customers or sometimes exclusively within an organization.  Hybrid Cloud: the combination of public and private clouds, or sometimes on-premise services. 13
  • 14. IaaS & PaaS: Developer's Perspectives  IaaS normally provides up to O/S level as your choice; for example Amazon Web Services (AWS) offers several types of Operating Systems such as Windows Server, Linux SUSE, and Linux Red Hat. Developer need to install own middleware, database, etc.  PaaS, given that the database server, VM, and web server VM are readily provisioned, 14
  • 15. Setting Up App in IaaS Source:http://acloudyplace.com/2012/01/comparing-iaas-and-paas-a-developers-perspective/ 15
  • 16. Setting Up App in PaaS Source:http://acloudyplace.com/2012/01/comparing-iaas-and-paas-a-developers-perspective/ 16
  • 17. PaaS for Java  Amazon Elastic Beanstalk  CloudBees  Cloud Foundry  Google App Engine  Heroku for Java  Red Hat OpenShift 17
  • 18. PaaS for Java: Comparison 18
  • 19. PaaS for Java: Comparison 19
  • 20. What is Google App Engine? 20
  • 21. Google App Engine : Definition (Wikipedia) It is a platform for hosting web applications in Google- managed data centers. It is cloud computing technology which virtualizes applications across multiple servers and data centers. 21
  • 22. Google App Engine  Running your web application in Google infrastructure  Support different runtime environments  Java (JRE 6 with limitation, Servlet 2.5, JDO, JPA)  Python (2.5.2)  Apps run in sandbox.  Automatic scaling and load balancing  No server restart, no network issues 22
  • 23. Hosting Java web apps traditionally  Not so popular except enterprise  High rates as compared to PHP hosting  Shared Tomcat instance among users  Restrictions on any time deployments due to shared server  Dedicated hosts works fine but they are costly 23
  • 24. You end up with all this 24
  • 25. 25
  • 26. Google Datacenters at Dallas, Oregon 26
  • 30. Distributed web hosting platform 30
  • 34. Google Apps + your apps 34
  • 35. Google App Engine for Java 35
  • 36. GAE/J  Was released on April 08 with Python support. Java included on August 09 36
  • 37. App Engine for Java : One Year Source: What’s Hot in Java for App Engine Google Con 2010 37
  • 38. GAE Java Runtime Environment  Java 6 VM  Servlet 2.5 Container  HTTP Session support (need to enable explicitly)  JDO/JPA for Datastore API  JSR 107 for Memcache API  javax.mail for Mail API  javax.net.URLConnection for URLFetch API 38
  • 40. Services by App Engine  Memcache API – high performance in-memory key-value cache  Datastore – database storage and operations  URLFetch – invoking external URLs  Mail – sending mail from your application  Task Queues – for invoking background processes  Images – for image manipulation  Cron Jobs – scheduled tasks on defined time  User Accounts – using Google accounts for authentication 40
  • 41. Limitations  Programming Model : Application runs in sandbox and can not – Write to file system – Make arbitrary network connections – Use multiple threads/processes – Perform long-lasting processing – Permissions – Know about other instances/applications  Quotas (Requests, In/Out bandwidth, CPU time, API calls) 41
  • 43. GAE Datastore  Storing data and manipulation  Based on Bigtable  Bigtable is proprietary and hidden from the app developers  Not a relational database (No SQL)  GQL (Google Query Language) to query  Stores data as entities  Distribution, replication, load balancing behind the scene  Need to use JDO/JPA 43
  • 44. User Service : Google Accounts  Google Accounts are encouraged as the preferred authentication mechanism for App Engine – It assumes that all users have a Google Account – Google authentication for private domains isn’t available yet  Access to Google account data -> email, id  The Development Server simulates Google Accounts  Access constraints based on roles 44
  • 45. User API : Example import com.google.appengine.api.users.*; import com.google.appengine.api.users.*; UserService userService == UserServiceFactory.getUserService(); UserService userService UserServiceFactory.getUserService(); User user == userService.getCurrentUser(); User user userService.getCurrentUser(); String navBar; String navBar; if (user == null) {{ if (user == null) navBar == "<p>Welcome! <a href="" ++ userService.createLoginURL("/") navBar "<p>Welcome! <a href="" userService.createLoginURL("/") +"">Sign in or register</a> to customize.</p>"; +"">Sign in or register</a> to customize.</p>"; }} else {{ else navBar == "<p>Welcome, "" ++ user.getEmail() ++ "! You can <a href="" navBar "<p>Welcome, user.getEmail() "! You can <a href="" +userService.createLogoutURL("/") +"">sign out</a>.</p>"; +userService.createLogoutURL("/") +"">sign out</a>.</p>"; }} 45
  • 46. URLFetch API  Invoking external URLs from your application over HTTP and HTTPs import java.net.*; import java.net.*; import java.io.*; import java.io.*; URL url == new URL("htp://..."); URL url new URL("htp://..."); InputStream inp == new InputStreamReader(url.openStream()); InputStream inp new InputStreamReader(url.openStream()); BufferedReader reader == new BufferedReader(inp); BufferedReader reader new BufferedReader(inp); String line; String line; while ((line == reader.readLine()) != null) {{ while ((line reader.readLine()) != null) //do something //do something }} reader.close(); reader.close(); 46
  • 47. Mail API  Send emails on the behalf of app administrator to the Google account use.  You can not receive emails import javax.mail.*; import javax.mail.*; Session session == Session.getDefaultInstance(new Properties(), null); Session session Session.getDefaultInstance(new Properties(), null); InternetAddress admins == new InternetAddress("admins"); InternetAddress admins new InternetAddress("admins"); Message msg == new MimeMessage(session); Message msg new MimeMessage(session); msg.setFrom(admins); msg.setFrom(admins); msg.addRecipient(Message.RecipientType.TO, admins); msg.addRecipient(Message.RecipientType.TO, admins); msg.setSubject("subject"); msg.setSubject("subject"); msg.setText("text"); msg.setText("text"); Transport.send(msg); Transport.send(msg); 47
  • 48. Memcache Service  Distributed in memory cache, better than DataStore  Key-value pair mapping  Configurable expiration time but  Unreliable might be vanished at any time  Supported Interfaces : – JACHE (JSR 107: JCACHE – Java Temporary Caching API) – The Low-Level Memcache API 48
  • 49. Memcache API : Example import static java.util.Collections.emptyMap; import static java.util.Collections.emptyMap; import javax.cache.*; import javax.cache.*; CacheFactory cacheFactory == CacheManager.getInstance().getCacheFactory(); CacheFactory cacheFactory CacheManager.getInstance().getCacheFactory(); Cache cache == cacheFactory.createCache(emptyMap()); Cache cache cacheFactory.createCache(emptyMap()); cache.put(key, value); cache.put(key, value); cache.get(key); cache.get(key); 49
  • 50. Task Queues API  Perform background processes by inserting tasks into queues.  Instructions need to be mention in file queue.xml, in the WEB-INF/ dir import com.google.appengine.api.labs.taskqueue.Queue; import com.google.appengine.api.labs.taskqueue.Queue; import com.google.appengine.api.labs.taskqueue.QueueFactory; import com.google.appengine.api.labs.taskqueue.QueueFactory; import com.google.appengine.api.labs.taskqueue.TaskOptions; import com.google.appengine.api.labs.taskqueue.TaskOptions; // ... // ... TaskOptions taskOptions == TaskOptions taskOptions TaskOptions.Builder.url("/send_invitation_task") TaskOptions.Builder.url("/send_invitation_task") .param("address", "[email protected]") .param("address", "[email protected]") .param("firstname", "Juliet"); .param("firstname", "Juliet"); Queue queue == QueueFactory.getDefaultQueue(); Queue queue QueueFactory.getDefaultQueue(); queue.add(taskOptions); queue.add(taskOptions); 50
  • 51. Cron Jobs  Up to 20 scheduled tasks per app  Cron jobs (scheduled tasks) supported in cron.xml in WEB-INF dir  Schedule instructions contain Englis-like format <?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?> <cronentries> <cronentries> <cron> <cron> <url>/listbooks</url> <url>/listbooks</url> <description>Repopulate the cache every day at <description>Repopulate the cache every day at 5am</description> 5am</description> <schedule>every day 05:00</schedule> <schedule>every day 05:00</schedule> </cron> </cron> </cronentries> </cronentries> 51
  • 52. Images API  Manipulation of images  Transformation of images  Changing image formats 52
  • 55. Getting Started  The application owner must have a Google Account to get the tools regardless of language.  Use Java 6 for development.  Eclipse and Netbeans have official plugins.  Both SDKs ship with a Development Web Server that runs locally and provides a sandbox almost identical to the real run-time. 55
  • 56. Software Development Kit  App Engine SDK – Includes web server (Jetty) – Emulates all the GAE services  SDK includes an upload tool to deploy app to GAE  Command line tools included. 56
  • 57. Google Plugin for Eclipse 57
  • 58. Development Environment  Development Server  Application lifecycle management  Eclipse/NetBeans plugins / Firefox plugin (GWT) 58
  • 59. Google Plugin for Eclipse 59
  • 60. Development Server http://localhost:8888 60
  • 61. Development Server Admin Console http://localhost:8888/_ah/admin 61
  • 62. Deployment Environment  Application is deployed as .war which contains.  Deployment is integrated in IDE  Deploy multiple version of the application at the same time  Your app lives at – <app_id>.appspot.com or – Custom domain with Google Apps 62
  • 63. Running your app on Google http://<version>.<appid>.appspot.com/some/path 63
  • 64. Managing Applications  Administration Console http://appengine.google.com/a/yourdomain.com  Application Dashboard  Multiple application versions  Analyzing log files (including admin)  Analyzing resource usage 64
  • 66. 66
  • 67. Heroku  Platform as a Service for professional apps developers  Forget servers  Run anything  See everything  Trust & Managed 67
  • 68. Forget Servers  Agile deployment for Ruby, Node.js, Clojure, Java, Python, and Scala. 68
  • 69. 69
  • 70. 70
  • 71. Resources  Google App Engine at a glance, Stefan Christoph  Developing Java Based Web Applications in  Google App Engine, Tahir Akram, Dec. 2009  Google App Engine, Patrick Chanezon, Mar 2010 71