SlideShare une entreprise Scribd logo
1  sur  71
Télécharger pour lire hors ligne
Programming Languages for the Cloud



                              S304101




Ted Leung
Principal Engineer, Sun Microsystems
I have questions...

 More questions than answers

 A kind of “Cambrian Explosion” of languages

 Is there any intersection?




                              2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone   2
Agenda
 Cloud Taxonomy
 Where languages intersect the cloud
 Security
 Concurrency
 Performance
 Distribution
 Operational Considerations
 Domain Specific Languages




                        2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone   3
Cloud Taxonomy




                 2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone   4
Cloud Taxonomy
Utility/Efficiency




                     2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone   4
Cloud Taxonomy
                                              Next Gen Web
Utility/Efficiency




                     2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone   4
Cloud Taxonomy
                                              Next Gen Web
Utility/Efficiency




                     Infrastructure aaS
                     2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone   4
Cloud Taxonomy
                                              Next Gen Web
Utility/Efficiency




                              Stack aaS

                     Infrastructure aaS
                     2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone   4
Cloud Taxonomy
                                              Next Gen Web
Utility/Efficiency




                          Platform aaS

                              Stack aaS

                     Infrastructure aaS
                     2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone   4
Cloud Taxonomy
                                              Next Gen Web




                          Software aaS
Utility/Efficiency




                          Platform aaS

                              Stack aaS

                     Infrastructure aaS
                     2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone   4
Cloud Taxonomy
                                                     Next Gen Web




                                 Software aaS
Utility/Efficiency




                                 Platform aaS

                                     Stack aaS

                     StorageInfrastructure aaS
                            2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone   4
Cloud Taxonomy
                                                    Next Gen Web




                                Software aaS
Utility/Efficiency




                                Platform aaS

                                    Stack aaS

                     Storage Compute aaS
                            Infrastructure
                           2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone   4
Cloud Taxonomy
                                                     Next Gen Web




                                 Software aaS
Utility/Efficiency




                                 Platform aaS

                     Virtual Machine Images
                                Stack aaS

                     Storage Compute aaS
                            Infrastructure
                            2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone   4
Cloud Taxonomy
                                                     Next Gen Web




                                 Software aaS
Utility/Efficiency




                     AppEngine
                             Platform aaS

                     Virtual Machine Images
                                Stack aaS

                     Storage Compute aaS
                            Infrastructure
                            2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone   4
Cloud Taxonomy
                                                     Next Gen Web




                                 Software aaS
Utility/Efficiency




                     AppEngine Heroku
                             Platform aaS

                     Virtual Machine Images
                                Stack aaS

                     Storage Compute aaS
                            Infrastructure
                            2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone   4
Cloud Taxonomy
                                                     Next Gen Web




                                 Software aaS
Utility/Efficiency




                     AppEngine Heroku Zembly
                             Platform aaS

                     Virtual Machine Images
                                Stack aaS

                     Storage Compute aaS
                            Infrastructure
                            2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone   4
Cloud Taxonomy
                                                     Next Gen Web




                     Salesforce
                              Software aaS
Utility/Efficiency




                     AppEngine Heroku Zembly
                             Platform aaS

                     Virtual Machine Images
                                Stack aaS

                     Storage Compute aaS
                            Infrastructure
                            2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone   4
IaaS Issues

 No predefined software stack

 You have to do everything

 Languages cannot help much




                             2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone   5
Stack aaS Issues

 You get whatever language is in the stack

 Depends on the quality of the stack integration

 Languages can help; part of the stack integration

 Services are not explicitly part of the stack




                             2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone   6
PaaS in Depth




                2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone   7
PaaS in Depth




Non Relational DB




                    2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone   7
PaaS in Depth




   Non Relational DB


BigTable


                       2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone   7
PaaS in Depth




   Non Relational DB


BigTable   Key/Value Stores


                              2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone   7
PaaS in Depth




   Non Relational DB


BigTable   Key/Value Stores

       CouchDB
                              2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone   7
PaaS in Depth



                         Identity




   Non Relational DB


BigTable   Key/Value Stores

       CouchDB
                              2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone   7
PaaS in Depth


   MapReduce
                         Identity




   Non Relational DB


BigTable   Key/Value Stores

       CouchDB
                              2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone   7
PaaS in Depth
                                                              Asynchronous
                                                              Messaging
   MapReduce
                         Identity




   Non Relational DB


BigTable   Key/Value Stores

       CouchDB
                              2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone   7
PaaS in Depth
                                                              Asynchronous
                                                              Messaging
   MapReduce
                         Identity                             XMPP




   Non Relational DB


BigTable   Key/Value Stores

       CouchDB
                              2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone   7
PaaS in Depth
                                                              Asynchronous
                                                              Messaging
   MapReduce
                         Identity                             XMPP                      Queuing




   Non Relational DB


BigTable   Key/Value Stores

       CouchDB
                              2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone   7
PaaS in Depth
                                                              Asynchronous
                                                              Messaging
   MapReduce
                         Identity                             XMPP                      Queuing




   Non Relational DB
                                                                        Payments
BigTable   Key/Value Stores

       CouchDB
                              2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone   7
PaaS Issues

 You get whatever language is in the platform

 Platform includes network services beyond language
 runtime

 Leads to a service oriented system

 Part of the difference is the quality of the integration




                              2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone   8
SaaS Issues

 SaaS applications may or may not be programmable

 The SaaS may have its own language

 Learning curve ahead

 Very good integration




                         2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone   9
Characteristics of Cloud Environments

 Multitenant

 Heterogeneous

 Scalability is a goal

 Elastic / Provisioned by machine

 Monitored/Audited

 Service Oriented

                           2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone   10
Agenda
 Cloud Taxonomy
 Where langauges intersect the cloud
 Security
 Performance
 Concurrency
 Distribution
 Operational Considerations
 Domain Specific Languages




                      2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone   11
Areas where languages intersect the Cloud

 Security / Resource Control

 Performance

 Concurrency

 Distribution

 Operational Considerations

 Domain Specific Languages

                           2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone   12
Agenda
 Cloud Taxonomy
 Where languages intersect the cloud
 Security
 Performance
 Concurrency
 Distribution
 Operational Considerations
 Domain Specific Languages




                        2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone   13
Requirements

 Multitenancy

 Auditability

 Resource Control

 Service security




                    2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone   14
Language Models

 Sandboxing
  • Java
  • PyPy
  • Google AppEngine

 Capabilities
  • Caja
  • Joe-E
  • E




                       2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone   15
Agenda
 Cloud Taxonomy
 Where languages intersect the cloud
 Security
 Performance
 Concurrency
 Distribution
 Operational Considerations
 Domain Specific Languages




                        2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone   16
Data center sizes
 • Google in 100,000’s
 • Facebook Hadoop in the 100’s (600 last count)

Performance = reduction in the number of servers
 • Unladen Swallow

Web site response times
 • interactive / rich applications
 • real time quotas
 • pushed back into the server tiers

Yeah, and multicore
                               2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone   17
Agenda
 Cloud Taxonomy
 Where languages intersect the cloud
 Security
 Performance
 Concurrency
 Distribution
 Operational Considerations
 Domain Specific Languages




                        2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone   18
Transactional Memory

 Treat main memory as a database

 An MVCC database




                       2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone   19
Transactional Memory Pros

 People understand transactions

 Transactions compose




                          2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone   20
Transactional Memory Cons

 Inefficient

 Non abortable operations
  • I/O
  • Launch missile

 Still have to find critical sections / txn boundaries




                              2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone   21
!quot;#$%&'(%)*quot;+quot;,-./*




                      2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone   22
Actors




         2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone   23
2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone   24
2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone   25
Futures

 A=Future(function, arg1, arg2 ...)




                            2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone   26
MapReduce




            2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone   27
2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone   28
Persistent Data Structures




                        2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone   29
Tuple Spaces




               2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone   30
2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone   31
Projects

 Transactional Memory
  • Haskell
  • Clojure
 Actors
  •   Erlang
  •   Scala
  •   Axum/F#
  •   Libraries galore
 Futures
  • Libraries (Java, Python, Ruby, etc)
 MapReduce
  • Libraries (Hadoop, Disco)
 Persistent Data Structures
  • Clojure
                                2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone   32
Projects

 Tuple spaces
  •   Jini / Javaspaces
  •   Gigaspaces
  •   Blitz
  •   Tspaces
  •   Libraries galore




                          2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone   33
Agenda
 Cloud Taxonomy
 Where languages intersect the cloud
 Security
 Performance
 Concurrency
 Distribution
 Operational Considerations
 Domain Specific Languages




                        2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone   34
Runtime dynamic scalability
 • Lots of configuration needed = bad

Erlang
 • distribution via message sending built in
 • error handling by crash and restart
 • OTP = rich framework for distributed applications




                               2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone   35
Agenda
 Cloud Taxonomy
 Where languages intersect the cloud
 Security
 Performance
 Concurrency
 Distribution
 Operational Consideration
 Domain Specific Languages




                        2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone   36
Monitoring

 Mainly a job for the language runtimes

 DTrace or other tracing




                           2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone   37
libc.so.1`_write+0x15
libc.so.1`_fflush_u+0x36
libc.so.1`fflush+0x43
libpython2.4.so.1.0`file_flush+0x2a
libpython2.4.so.1.0`call_function+0x32a
libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf
  [ build/proto/lib/python/mercurial/transaction.py:49 (add) ]
libpython2.4.so.1.0`PyEval_EvalCodeEx+0x732
libpython2.4.so.1.0`fast_function+0x112
libpython2.4.so.1.0`call_function+0xda
libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf
  [ build/proto/lib/python/mercurial/revlog.py:1137 (addgroup) ]
libpython2.4.so.1.0`PyEval_EvalCodeEx+0x732
libpython2.4.so.1.0`fast_function+0x112
libpython2.4.so.1.0`call_function+0xda
libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf
  [ build/proto/lib/python/mercurial/localrepo.py:1849 (addchangegroup) ]
libpython2.4.so.1.0`PyEval_EvalCodeEx+0x732
libpython2.4.so.1.0`fast_function+0x112
libpython2.4.so.1.0`call_function+0xda
libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf
  [ build/proto/lib/python/mercurial/localrepo.py:1345 (pull) ]
libpython2.4.so.1.0`PyEval_EvalCodeEx+0x732
libpython2.4.so.1.0`fast_function+0x112

                                  2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone   38
Agenda
 Cloud Taxonomy
 Where languages intersect the cloud
 Security
 Performance
 Concurrency
 Distribution
 Operational Considerations
 Domain Specific Languages




                        2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone   39
Salesforce.com Apex

 Multi-tenant code and data

 Higher level
  • the business logic level

 Statically typed

 Java like control structures




                                2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone   40
Apex

 Persistent object type (SObject)

 Embedded Salesforce query languages (2 of them)
  • comprehension like

 Transaction Control / Locking

 Triggers as a construct
  • before/after insert/update/delete/undelete




                                2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone   41
Apex

 Testing built in and coverage required by the platform

 SOA WSDL Generation




                            2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone   42
Apex Security

 Classes declared as with sharing or without sharing to
 enforce (or not) the current user’s sharing rules

 Sharing rules specified by organizations cloud admin

 Resource limiting (governing)
  • resources are limited in the runtime
  • can call a method to find out the values
  • different for different contexts




                                2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone   43
Apex: Concurrency


 No threads

 Futures




                    2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone   44
APEX: Tools

 Eclipse Plugin

 TextBox in Salesforce UI




                            2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone   45
Summary
Many different cloud models

Depending on the model, languages can help the cloud

Primary contribution areas
  •   Security
  •   Performance
  •   Concurrency
  •   Distribution
  •   Operational Considerations
  •   Domain specific languages


                              2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone   46
For More Information
 Sun Cloud Home
  • http://sun.com/cloud
 My blog
  • http://www.sauria.com/blog
 My Twitter
  • @twleung




                            2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone   47
Programming Languages for the Cloud

                   S304101




Ted Leung
ted.leung@sun.com @twleung

Contenu connexe

Tendances

How to Get Cloud Architecture and Design Right the First Time
How to Get Cloud Architecture and Design Right the First TimeHow to Get Cloud Architecture and Design Right the First Time
How to Get Cloud Architecture and Design Right the First TimeDavid Linthicum
 
High Performance Web Applications
High Performance Web ApplicationsHigh Performance Web Applications
High Performance Web ApplicationsAmazon Web Services
 
re:Invent 2019 CMP320 - How Dropbox leverages hybrid cloud for scale and inno...
re:Invent 2019 CMP320 - How Dropbox leverages hybrid cloud for scale and inno...re:Invent 2019 CMP320 - How Dropbox leverages hybrid cloud for scale and inno...
re:Invent 2019 CMP320 - How Dropbox leverages hybrid cloud for scale and inno...Anuj Dewangan
 
AWS re:Invent 2016: Enterprise Fundamentals: Design Your Account and VPC Arch...
AWS re:Invent 2016: Enterprise Fundamentals: Design Your Account and VPC Arch...AWS re:Invent 2016: Enterprise Fundamentals: Design Your Account and VPC Arch...
AWS re:Invent 2016: Enterprise Fundamentals: Design Your Account and VPC Arch...Amazon Web Services
 
Cloud Migration, Application Modernization, and Security
Cloud Migration, Application Modernization, and Security Cloud Migration, Application Modernization, and Security
Cloud Migration, Application Modernization, and Security Tom Laszewski
 
AWS 101 and the benefits of Migrating to the Cloud
AWS 101 and the benefits of Migrating to the CloudAWS 101 and the benefits of Migrating to the Cloud
AWS 101 and the benefits of Migrating to the CloudCloudHesive
 
Simplify Your Database Migration to AWS | AWS Public Sector Summit 2016
Simplify Your Database Migration to AWS | AWS Public Sector Summit 2016Simplify Your Database Migration to AWS | AWS Public Sector Summit 2016
Simplify Your Database Migration to AWS | AWS Public Sector Summit 2016Amazon Web Services
 
Ibm bluemix
Ibm bluemix Ibm bluemix
Ibm bluemix Narendra
 
Pragmatic Approach to Workload Migrations - London Summit Enteprise Track RePlay
Pragmatic Approach to Workload Migrations - London Summit Enteprise Track RePlayPragmatic Approach to Workload Migrations - London Summit Enteprise Track RePlay
Pragmatic Approach to Workload Migrations - London Summit Enteprise Track RePlayAmazon Web Services
 
Getting Started with Amazon CloudSearch
Getting Started with Amazon CloudSearchGetting Started with Amazon CloudSearch
Getting Started with Amazon CloudSearchAmazon Web Services
 
Cloud Native Application Development-build fast, low TCO, scalable & agile so...
Cloud Native Application Development-build fast, low TCO, scalable & agile so...Cloud Native Application Development-build fast, low TCO, scalable & agile so...
Cloud Native Application Development-build fast, low TCO, scalable & agile so...Lucas Jellema
 
Migrating enterprise workloads to AWS
Migrating enterprise workloads to AWS Migrating enterprise workloads to AWS
Migrating enterprise workloads to AWS Tom Laszewski
 
Enterprise Cloud Architecture Best Practices
Enterprise Cloud Architecture Best PracticesEnterprise Cloud Architecture Best Practices
Enterprise Cloud Architecture Best PracticesDavid Veksler
 
AWS Summit Sydney 2014 | Opening Keynote - Dr Werner Vogels, VP & CTO, Amazon...
AWS Summit Sydney 2014 | Opening Keynote - Dr Werner Vogels, VP & CTO, Amazon...AWS Summit Sydney 2014 | Opening Keynote - Dr Werner Vogels, VP & CTO, Amazon...
AWS Summit Sydney 2014 | Opening Keynote - Dr Werner Vogels, VP & CTO, Amazon...Amazon Web Services
 
Portal vs. ArcGIS Online
Portal vs. ArcGIS OnlinePortal vs. ArcGIS Online
Portal vs. ArcGIS OnlineSSP Innovations
 
Migration Recipes for Success - AWS Summit Cape Town 2017
Migration Recipes for Success - AWS Summit Cape Town 2017 Migration Recipes for Success - AWS Summit Cape Town 2017
Migration Recipes for Success - AWS Summit Cape Town 2017 Amazon Web Services
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud ComputingNAILBITER
 

Tendances (20)

How to Get Cloud Architecture and Design Right the First Time
How to Get Cloud Architecture and Design Right the First TimeHow to Get Cloud Architecture and Design Right the First Time
How to Get Cloud Architecture and Design Right the First Time
 
High Performance Web Applications
High Performance Web ApplicationsHigh Performance Web Applications
High Performance Web Applications
 
re:Invent 2019 CMP320 - How Dropbox leverages hybrid cloud for scale and inno...
re:Invent 2019 CMP320 - How Dropbox leverages hybrid cloud for scale and inno...re:Invent 2019 CMP320 - How Dropbox leverages hybrid cloud for scale and inno...
re:Invent 2019 CMP320 - How Dropbox leverages hybrid cloud for scale and inno...
 
AWS re:Invent 2016: Enterprise Fundamentals: Design Your Account and VPC Arch...
AWS re:Invent 2016: Enterprise Fundamentals: Design Your Account and VPC Arch...AWS re:Invent 2016: Enterprise Fundamentals: Design Your Account and VPC Arch...
AWS re:Invent 2016: Enterprise Fundamentals: Design Your Account and VPC Arch...
 
Cloud Migration, Application Modernization, and Security
Cloud Migration, Application Modernization, and Security Cloud Migration, Application Modernization, and Security
Cloud Migration, Application Modernization, and Security
 
AWS 101 and the benefits of Migrating to the Cloud
AWS 101 and the benefits of Migrating to the CloudAWS 101 and the benefits of Migrating to the Cloud
AWS 101 and the benefits of Migrating to the Cloud
 
Simplify Your Database Migration to AWS | AWS Public Sector Summit 2016
Simplify Your Database Migration to AWS | AWS Public Sector Summit 2016Simplify Your Database Migration to AWS | AWS Public Sector Summit 2016
Simplify Your Database Migration to AWS | AWS Public Sector Summit 2016
 
Ibm bluemix
Ibm bluemix Ibm bluemix
Ibm bluemix
 
Cloud Architecture
Cloud ArchitectureCloud Architecture
Cloud Architecture
 
Pragmatic Approach to Workload Migrations - London Summit Enteprise Track RePlay
Pragmatic Approach to Workload Migrations - London Summit Enteprise Track RePlayPragmatic Approach to Workload Migrations - London Summit Enteprise Track RePlay
Pragmatic Approach to Workload Migrations - London Summit Enteprise Track RePlay
 
Windows on AWS
Windows on AWSWindows on AWS
Windows on AWS
 
Getting Started with Amazon CloudSearch
Getting Started with Amazon CloudSearchGetting Started with Amazon CloudSearch
Getting Started with Amazon CloudSearch
 
Cloud Native Application Development-build fast, low TCO, scalable & agile so...
Cloud Native Application Development-build fast, low TCO, scalable & agile so...Cloud Native Application Development-build fast, low TCO, scalable & agile so...
Cloud Native Application Development-build fast, low TCO, scalable & agile so...
 
Migrating enterprise workloads to AWS
Migrating enterprise workloads to AWS Migrating enterprise workloads to AWS
Migrating enterprise workloads to AWS
 
Enterprise Cloud Architecture Best Practices
Enterprise Cloud Architecture Best PracticesEnterprise Cloud Architecture Best Practices
Enterprise Cloud Architecture Best Practices
 
AWS Summit Sydney 2014 | Opening Keynote - Dr Werner Vogels, VP & CTO, Amazon...
AWS Summit Sydney 2014 | Opening Keynote - Dr Werner Vogels, VP & CTO, Amazon...AWS Summit Sydney 2014 | Opening Keynote - Dr Werner Vogels, VP & CTO, Amazon...
AWS Summit Sydney 2014 | Opening Keynote - Dr Werner Vogels, VP & CTO, Amazon...
 
Portal vs. ArcGIS Online
Portal vs. ArcGIS OnlinePortal vs. ArcGIS Online
Portal vs. ArcGIS Online
 
Migration Recipes for Success - AWS Summit Cape Town 2017
Migration Recipes for Success - AWS Summit Cape Town 2017 Migration Recipes for Success - AWS Summit Cape Town 2017
Migration Recipes for Success - AWS Summit Cape Town 2017
 
Google Cloud Platform
Google Cloud Platform Google Cloud Platform
Google Cloud Platform
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 

En vedette

Sînică Alboaie - Programming for cloud computing Flows of asynchronous messages
Sînică Alboaie - Programming for cloud computing Flows of asynchronous messagesSînică Alboaie - Programming for cloud computing Flows of asynchronous messages
Sînică Alboaie - Programming for cloud computing Flows of asynchronous messagesCodecamp Romania
 
Spurious correlation (updated)
Spurious correlation (updated)Spurious correlation (updated)
Spurious correlation (updated)jemille6
 
HDFS for Geographically Distributed File System
HDFS for Geographically Distributed File SystemHDFS for Geographically Distributed File System
HDFS for Geographically Distributed File SystemKonstantin V. Shvachko
 
Surrogate Science: How Fisher, Neyman-Pearson, and Bayes Were Transformed int...
Surrogate Science: How Fisher, Neyman-Pearson, and Bayes Were Transformed int...Surrogate Science: How Fisher, Neyman-Pearson, and Bayes Were Transformed int...
Surrogate Science: How Fisher, Neyman-Pearson, and Bayes Were Transformed int...jemille6
 
A secure cloud computing based framework for big data information management ...
A secure cloud computing based framework for big data information management ...A secure cloud computing based framework for big data information management ...
A secure cloud computing based framework for big data information management ...Nexgen Technology
 
T8 hypothesis testing
T8 hypothesis testingT8 hypothesis testing
T8 hypothesis testingkompellark
 
Severe Testing: The Key to Error Correction
Severe Testing: The Key to Error CorrectionSevere Testing: The Key to Error Correction
Severe Testing: The Key to Error Correctionjemille6
 
A secure cloud computing based framework for big information management syste...
A secure cloud computing based framework for big information management syste...A secure cloud computing based framework for big information management syste...
A secure cloud computing based framework for big information management syste...Pawan Arya
 
SmartGrid System Report
SmartGrid System ReportSmartGrid System Report
SmartGrid System ReportGruene-it.org
 
Smart Grid - An Outline
Smart Grid - An OutlineSmart Grid - An Outline
Smart Grid - An OutlineShyam Penubolu
 
Selective Data Replication with Geographically Distributed Hadoop
Selective Data Replication with Geographically Distributed HadoopSelective Data Replication with Geographically Distributed Hadoop
Selective Data Replication with Geographically Distributed HadoopDataWorks Summit
 
Test of hypothesis
Test of hypothesisTest of hypothesis
Test of hypothesisvikramlawand
 
Hypothesis testing ppt final
Hypothesis testing ppt finalHypothesis testing ppt final
Hypothesis testing ppt finalpiyushdhaker
 
Smart Grid Introduction
Smart Grid Introduction Smart Grid Introduction
Smart Grid Introduction Nilesh Dhage
 

En vedette (16)

Sînică Alboaie - Programming for cloud computing Flows of asynchronous messages
Sînică Alboaie - Programming for cloud computing Flows of asynchronous messagesSînică Alboaie - Programming for cloud computing Flows of asynchronous messages
Sînică Alboaie - Programming for cloud computing Flows of asynchronous messages
 
Spurious correlation (updated)
Spurious correlation (updated)Spurious correlation (updated)
Spurious correlation (updated)
 
HDFS for Geographically Distributed File System
HDFS for Geographically Distributed File SystemHDFS for Geographically Distributed File System
HDFS for Geographically Distributed File System
 
Surrogate Science: How Fisher, Neyman-Pearson, and Bayes Were Transformed int...
Surrogate Science: How Fisher, Neyman-Pearson, and Bayes Were Transformed int...Surrogate Science: How Fisher, Neyman-Pearson, and Bayes Were Transformed int...
Surrogate Science: How Fisher, Neyman-Pearson, and Bayes Were Transformed int...
 
A secure cloud computing based framework for big data information management ...
A secure cloud computing based framework for big data information management ...A secure cloud computing based framework for big data information management ...
A secure cloud computing based framework for big data information management ...
 
T8 hypothesis testing
T8 hypothesis testingT8 hypothesis testing
T8 hypothesis testing
 
Severe Testing: The Key to Error Correction
Severe Testing: The Key to Error CorrectionSevere Testing: The Key to Error Correction
Severe Testing: The Key to Error Correction
 
A secure cloud computing based framework for big information management syste...
A secure cloud computing based framework for big information management syste...A secure cloud computing based framework for big information management syste...
A secure cloud computing based framework for big information management syste...
 
SmartGrid System Report
SmartGrid System ReportSmartGrid System Report
SmartGrid System Report
 
Smart Grid - An Outline
Smart Grid - An OutlineSmart Grid - An Outline
Smart Grid - An Outline
 
Selective Data Replication with Geographically Distributed Hadoop
Selective Data Replication with Geographically Distributed HadoopSelective Data Replication with Geographically Distributed Hadoop
Selective Data Replication with Geographically Distributed Hadoop
 
Smart Grid Technology
Smart Grid TechnologySmart Grid Technology
Smart Grid Technology
 
Test of hypothesis
Test of hypothesisTest of hypothesis
Test of hypothesis
 
Hypothesis testing ppt final
Hypothesis testing ppt finalHypothesis testing ppt final
Hypothesis testing ppt final
 
Smart Grid Introduction
Smart Grid Introduction Smart Grid Introduction
Smart Grid Introduction
 
Smart grid ppt
Smart grid pptSmart grid ppt
Smart grid ppt
 

Similaire à Programming Languages For The Cloud

Community Clouds - Shared Infrastructure as a Service
Community Clouds - Shared Infrastructure as a ServiceCommunity Clouds - Shared Infrastructure as a Service
Community Clouds - Shared Infrastructure as a ServiceHarold Teunissen
 
Cloud Computing: Changing the software business
Cloud Computing: Changing the software businessCloud Computing: Changing the software business
Cloud Computing: Changing the software businessSoftware Park Thailand
 
Inaugural address manjusha - Indicthreads cloud computing conference 2011
Inaugural address manjusha -  Indicthreads cloud computing conference 2011Inaugural address manjusha -  Indicthreads cloud computing conference 2011
Inaugural address manjusha - Indicthreads cloud computing conference 2011IndicThreads
 
Cloud Computing: Making the right choice
Cloud Computing: Making the right choiceCloud Computing: Making the right choice
Cloud Computing: Making the right choiceIndicThreads
 
JAVA를 활용한 클라우딩 환경 기반 PaaS
JAVA를 활용한 클라우딩 환경 기반 PaaSJAVA를 활용한 클라우딩 환경 기반 PaaS
JAVA를 활용한 클라우딩 환경 기반 PaaSmosaicnet
 
자바(Java)를 위한 클라우드 환경 기반 Paas
자바(Java)를 위한 클라우드 환경 기반 Paas자바(Java)를 위한 클라우드 환경 기반 Paas
자바(Java)를 위한 클라우드 환경 기반 Paasmosaicnet
 
Cloud Computing Technology Trend Watch
Cloud Computing Technology Trend WatchCloud Computing Technology Trend Watch
Cloud Computing Technology Trend WatchJeff Yang
 
Joe baguley cloudcamp london intro 24.10.12
Joe baguley   cloudcamp london intro 24.10.12Joe baguley   cloudcamp london intro 24.10.12
Joe baguley cloudcamp london intro 24.10.12Chris Purrington
 
CloudCamp London #17 Intro
CloudCamp London #17 IntroCloudCamp London #17 Intro
CloudCamp London #17 IntroJoe Baguley
 
Partly Cloudy... with a chance of hype
Partly Cloudy... with a chance of hypePartly Cloudy... with a chance of hype
Partly Cloudy... with a chance of hypeMike Brevoort
 
Cloud Computing and Eclipse technology - how does it fit together?
Cloud Computing and Eclipse technology - how does it fit together?Cloud Computing and Eclipse technology - how does it fit together?
Cloud Computing and Eclipse technology - how does it fit together?Markus Knauer
 
Cloud computing 101
Cloud computing 101Cloud computing 101
Cloud computing 101kriggins
 
Cloud Computing : Situation in Thailand
Cloud Computing : Situation in ThailandCloud Computing : Situation in Thailand
Cloud Computing : Situation in ThailandSoftware Park Thailand
 
Development Model for The Cloud
Development Model for The CloudDevelopment Model for The Cloud
Development Model for The Cloudumityalcinalp
 
Cloud computing
Cloud computingCloud computing
Cloud computingAjit Yadav
 
Mach Technology
Mach Technology Mach Technology
Mach Technology Open Stack
 
Niko Nelissen - Sun Microsystems - Keynote 'What's next in the Cloud?' CloudC...
Niko Nelissen - Sun Microsystems - Keynote 'What's next in the Cloud?' CloudC...Niko Nelissen - Sun Microsystems - Keynote 'What's next in the Cloud?' CloudC...
Niko Nelissen - Sun Microsystems - Keynote 'What's next in the Cloud?' CloudC...CloudAngels
 

Similaire à Programming Languages For The Cloud (20)

Community Clouds - Shared Infrastructure as a Service
Community Clouds - Shared Infrastructure as a ServiceCommunity Clouds - Shared Infrastructure as a Service
Community Clouds - Shared Infrastructure as a Service
 
Cloud Computing: Changing the software business
Cloud Computing: Changing the software businessCloud Computing: Changing the software business
Cloud Computing: Changing the software business
 
Inaugural address manjusha - Indicthreads cloud computing conference 2011
Inaugural address manjusha -  Indicthreads cloud computing conference 2011Inaugural address manjusha -  Indicthreads cloud computing conference 2011
Inaugural address manjusha - Indicthreads cloud computing conference 2011
 
Behind The Clouds
Behind The CloudsBehind The Clouds
Behind The Clouds
 
Cloud Computing: Making the right choice
Cloud Computing: Making the right choiceCloud Computing: Making the right choice
Cloud Computing: Making the right choice
 
JAVA를 활용한 클라우딩 환경 기반 PaaS
JAVA를 활용한 클라우딩 환경 기반 PaaSJAVA를 활용한 클라우딩 환경 기반 PaaS
JAVA를 활용한 클라우딩 환경 기반 PaaS
 
자바(Java)를 위한 클라우드 환경 기반 Paas
자바(Java)를 위한 클라우드 환경 기반 Paas자바(Java)를 위한 클라우드 환경 기반 Paas
자바(Java)를 위한 클라우드 환경 기반 Paas
 
Cloud Computing Technology Trend Watch
Cloud Computing Technology Trend WatchCloud Computing Technology Trend Watch
Cloud Computing Technology Trend Watch
 
Joe baguley cloudcamp london intro 24.10.12
Joe baguley   cloudcamp london intro 24.10.12Joe baguley   cloudcamp london intro 24.10.12
Joe baguley cloudcamp london intro 24.10.12
 
CloudCamp London #17 Intro
CloudCamp London #17 IntroCloudCamp London #17 Intro
CloudCamp London #17 Intro
 
Partly Cloudy... with a chance of hype
Partly Cloudy... with a chance of hypePartly Cloudy... with a chance of hype
Partly Cloudy... with a chance of hype
 
Cloud Computing and Eclipse technology - how does it fit together?
Cloud Computing and Eclipse technology - how does it fit together?Cloud Computing and Eclipse technology - how does it fit together?
Cloud Computing and Eclipse technology - how does it fit together?
 
Cloud computing 101
Cloud computing 101Cloud computing 101
Cloud computing 101
 
Cloud Computing : Situation in Thailand
Cloud Computing : Situation in ThailandCloud Computing : Situation in Thailand
Cloud Computing : Situation in Thailand
 
Development Model for The Cloud
Development Model for The CloudDevelopment Model for The Cloud
Development Model for The Cloud
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Mach Technology
Mach Technology Mach Technology
Mach Technology
 
Niko Nelissen - Sun Microsystems - Keynote 'What's next in the Cloud?' CloudC...
Niko Nelissen - Sun Microsystems - Keynote 'What's next in the Cloud?' CloudC...Niko Nelissen - Sun Microsystems - Keynote 'What's next in the Cloud?' CloudC...
Niko Nelissen - Sun Microsystems - Keynote 'What's next in the Cloud?' CloudC...
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 

Plus de Ted Leung

DjangoCon 2009 Keynote
DjangoCon 2009 KeynoteDjangoCon 2009 Keynote
DjangoCon 2009 KeynoteTed Leung
 
A Survey of Concurrency Constructs
A Survey of Concurrency ConstructsA Survey of Concurrency Constructs
A Survey of Concurrency ConstructsTed Leung
 
MySQL User Conference 2009: Python and MySQL
MySQL User Conference 2009: Python and MySQLMySQL User Conference 2009: Python and MySQL
MySQL User Conference 2009: Python and MySQLTed Leung
 
PyCon US 2009: Challenges and Opportunities for Python
PyCon US 2009: Challenges and Opportunities for PythonPyCon US 2009: Challenges and Opportunities for Python
PyCon US 2009: Challenges and Opportunities for PythonTed Leung
 
Northwest Python Day 2009
Northwest Python Day 2009Northwest Python Day 2009
Northwest Python Day 2009Ted Leung
 
PyCon UK 2008: Challenges for Dynamic Languages
PyCon UK 2008: Challenges for Dynamic LanguagesPyCon UK 2008: Challenges for Dynamic Languages
PyCon UK 2008: Challenges for Dynamic LanguagesTed Leung
 
OSCON 2008: Open Source Community Antipatterns
OSCON 2008: Open Source Community AntipatternsOSCON 2008: Open Source Community Antipatterns
OSCON 2008: Open Source Community AntipatternsTed Leung
 
OSCON 2007: Open Design, Not By Committee
OSCON 2007: Open Design, Not By CommitteeOSCON 2007: Open Design, Not By Committee
OSCON 2007: Open Design, Not By CommitteeTed Leung
 
Ignite The Web 2007
Ignite The Web 2007Ignite The Web 2007
Ignite The Web 2007Ted Leung
 
ApacheCon US 2007: Open Source Community Antipatterns
ApacheCon US 2007:  Open Source Community AntipatternsApacheCon US 2007:  Open Source Community Antipatterns
ApacheCon US 2007: Open Source Community AntipatternsTed Leung
 
OSCON 2005: Build Your Own Chandler Parcel
OSCON 2005: Build Your Own Chandler ParcelOSCON 2005: Build Your Own Chandler Parcel
OSCON 2005: Build Your Own Chandler ParcelTed Leung
 
PyCon 2005 PyBlosxom
PyCon 2005 PyBlosxomPyCon 2005 PyBlosxom
PyCon 2005 PyBlosxomTed Leung
 
SeaJUG March 2004 - Groovy
SeaJUG March 2004 - GroovySeaJUG March 2004 - Groovy
SeaJUG March 2004 - GroovyTed Leung
 
OSCON 2004: XML and Apache
OSCON 2004: XML and ApacheOSCON 2004: XML and Apache
OSCON 2004: XML and ApacheTed Leung
 
OSCON 2004: A Developer's Tour of Chandler
OSCON 2004: A Developer's Tour of ChandlerOSCON 2004: A Developer's Tour of Chandler
OSCON 2004: A Developer's Tour of ChandlerTed Leung
 
SeaJUG Dec 2001: Aspect-Oriented Programming with AspectJ
SeaJUG Dec 2001: Aspect-Oriented Programming with AspectJSeaJUG Dec 2001: Aspect-Oriented Programming with AspectJ
SeaJUG Dec 2001: Aspect-Oriented Programming with AspectJTed Leung
 
IQPC Canada XML 2001: How to develop Syntax and XML Schema
IQPC Canada XML 2001: How to develop Syntax and XML SchemaIQPC Canada XML 2001: How to develop Syntax and XML Schema
IQPC Canada XML 2001: How to develop Syntax and XML SchemaTed Leung
 
IQPC Canada XML 2001: How to Use XML Parsing to Enhance Electronic Communication
IQPC Canada XML 2001: How to Use XML Parsing to Enhance Electronic CommunicationIQPC Canada XML 2001: How to Use XML Parsing to Enhance Electronic Communication
IQPC Canada XML 2001: How to Use XML Parsing to Enhance Electronic CommunicationTed Leung
 
ApacheCon 2000 Everything you ever wanted to know about XML Parsing
ApacheCon 2000 Everything you ever wanted to know about XML ParsingApacheCon 2000 Everything you ever wanted to know about XML Parsing
ApacheCon 2000 Everything you ever wanted to know about XML ParsingTed Leung
 
SD Forum 1999 XML Lessons Learned
SD Forum 1999 XML Lessons LearnedSD Forum 1999 XML Lessons Learned
SD Forum 1999 XML Lessons LearnedTed Leung
 

Plus de Ted Leung (20)

DjangoCon 2009 Keynote
DjangoCon 2009 KeynoteDjangoCon 2009 Keynote
DjangoCon 2009 Keynote
 
A Survey of Concurrency Constructs
A Survey of Concurrency ConstructsA Survey of Concurrency Constructs
A Survey of Concurrency Constructs
 
MySQL User Conference 2009: Python and MySQL
MySQL User Conference 2009: Python and MySQLMySQL User Conference 2009: Python and MySQL
MySQL User Conference 2009: Python and MySQL
 
PyCon US 2009: Challenges and Opportunities for Python
PyCon US 2009: Challenges and Opportunities for PythonPyCon US 2009: Challenges and Opportunities for Python
PyCon US 2009: Challenges and Opportunities for Python
 
Northwest Python Day 2009
Northwest Python Day 2009Northwest Python Day 2009
Northwest Python Day 2009
 
PyCon UK 2008: Challenges for Dynamic Languages
PyCon UK 2008: Challenges for Dynamic LanguagesPyCon UK 2008: Challenges for Dynamic Languages
PyCon UK 2008: Challenges for Dynamic Languages
 
OSCON 2008: Open Source Community Antipatterns
OSCON 2008: Open Source Community AntipatternsOSCON 2008: Open Source Community Antipatterns
OSCON 2008: Open Source Community Antipatterns
 
OSCON 2007: Open Design, Not By Committee
OSCON 2007: Open Design, Not By CommitteeOSCON 2007: Open Design, Not By Committee
OSCON 2007: Open Design, Not By Committee
 
Ignite The Web 2007
Ignite The Web 2007Ignite The Web 2007
Ignite The Web 2007
 
ApacheCon US 2007: Open Source Community Antipatterns
ApacheCon US 2007:  Open Source Community AntipatternsApacheCon US 2007:  Open Source Community Antipatterns
ApacheCon US 2007: Open Source Community Antipatterns
 
OSCON 2005: Build Your Own Chandler Parcel
OSCON 2005: Build Your Own Chandler ParcelOSCON 2005: Build Your Own Chandler Parcel
OSCON 2005: Build Your Own Chandler Parcel
 
PyCon 2005 PyBlosxom
PyCon 2005 PyBlosxomPyCon 2005 PyBlosxom
PyCon 2005 PyBlosxom
 
SeaJUG March 2004 - Groovy
SeaJUG March 2004 - GroovySeaJUG March 2004 - Groovy
SeaJUG March 2004 - Groovy
 
OSCON 2004: XML and Apache
OSCON 2004: XML and ApacheOSCON 2004: XML and Apache
OSCON 2004: XML and Apache
 
OSCON 2004: A Developer's Tour of Chandler
OSCON 2004: A Developer's Tour of ChandlerOSCON 2004: A Developer's Tour of Chandler
OSCON 2004: A Developer's Tour of Chandler
 
SeaJUG Dec 2001: Aspect-Oriented Programming with AspectJ
SeaJUG Dec 2001: Aspect-Oriented Programming with AspectJSeaJUG Dec 2001: Aspect-Oriented Programming with AspectJ
SeaJUG Dec 2001: Aspect-Oriented Programming with AspectJ
 
IQPC Canada XML 2001: How to develop Syntax and XML Schema
IQPC Canada XML 2001: How to develop Syntax and XML SchemaIQPC Canada XML 2001: How to develop Syntax and XML Schema
IQPC Canada XML 2001: How to develop Syntax and XML Schema
 
IQPC Canada XML 2001: How to Use XML Parsing to Enhance Electronic Communication
IQPC Canada XML 2001: How to Use XML Parsing to Enhance Electronic CommunicationIQPC Canada XML 2001: How to Use XML Parsing to Enhance Electronic Communication
IQPC Canada XML 2001: How to Use XML Parsing to Enhance Electronic Communication
 
ApacheCon 2000 Everything you ever wanted to know about XML Parsing
ApacheCon 2000 Everything you ever wanted to know about XML ParsingApacheCon 2000 Everything you ever wanted to know about XML Parsing
ApacheCon 2000 Everything you ever wanted to know about XML Parsing
 
SD Forum 1999 XML Lessons Learned
SD Forum 1999 XML Lessons LearnedSD Forum 1999 XML Lessons Learned
SD Forum 1999 XML Lessons Learned
 

Dernier

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
 
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
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
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
 
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
 
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 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
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
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
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
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
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
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
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
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
 

Dernier (20)

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
 
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...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
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
 
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...
 
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 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
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
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...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
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
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
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
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 

Programming Languages For The Cloud

  • 1. Programming Languages for the Cloud S304101 Ted Leung Principal Engineer, Sun Microsystems
  • 2. I have questions... More questions than answers A kind of “Cambrian Explosion” of languages Is there any intersection? 2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone 2
  • 3. Agenda Cloud Taxonomy Where languages intersect the cloud Security Concurrency Performance Distribution Operational Considerations Domain Specific Languages 2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone 3
  • 4. Cloud Taxonomy 2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone 4
  • 5. Cloud Taxonomy Utility/Efficiency 2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone 4
  • 6. Cloud Taxonomy Next Gen Web Utility/Efficiency 2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone 4
  • 7. Cloud Taxonomy Next Gen Web Utility/Efficiency Infrastructure aaS 2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone 4
  • 8. Cloud Taxonomy Next Gen Web Utility/Efficiency Stack aaS Infrastructure aaS 2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone 4
  • 9. Cloud Taxonomy Next Gen Web Utility/Efficiency Platform aaS Stack aaS Infrastructure aaS 2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone 4
  • 10. Cloud Taxonomy Next Gen Web Software aaS Utility/Efficiency Platform aaS Stack aaS Infrastructure aaS 2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone 4
  • 11. Cloud Taxonomy Next Gen Web Software aaS Utility/Efficiency Platform aaS Stack aaS StorageInfrastructure aaS 2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone 4
  • 12. Cloud Taxonomy Next Gen Web Software aaS Utility/Efficiency Platform aaS Stack aaS Storage Compute aaS Infrastructure 2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone 4
  • 13. Cloud Taxonomy Next Gen Web Software aaS Utility/Efficiency Platform aaS Virtual Machine Images Stack aaS Storage Compute aaS Infrastructure 2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone 4
  • 14. Cloud Taxonomy Next Gen Web Software aaS Utility/Efficiency AppEngine Platform aaS Virtual Machine Images Stack aaS Storage Compute aaS Infrastructure 2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone 4
  • 15. Cloud Taxonomy Next Gen Web Software aaS Utility/Efficiency AppEngine Heroku Platform aaS Virtual Machine Images Stack aaS Storage Compute aaS Infrastructure 2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone 4
  • 16. Cloud Taxonomy Next Gen Web Software aaS Utility/Efficiency AppEngine Heroku Zembly Platform aaS Virtual Machine Images Stack aaS Storage Compute aaS Infrastructure 2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone 4
  • 17. Cloud Taxonomy Next Gen Web Salesforce Software aaS Utility/Efficiency AppEngine Heroku Zembly Platform aaS Virtual Machine Images Stack aaS Storage Compute aaS Infrastructure 2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone 4
  • 18. IaaS Issues No predefined software stack You have to do everything Languages cannot help much 2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone 5
  • 19. Stack aaS Issues You get whatever language is in the stack Depends on the quality of the stack integration Languages can help; part of the stack integration Services are not explicitly part of the stack 2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone 6
  • 20. PaaS in Depth 2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone 7
  • 21. PaaS in Depth Non Relational DB 2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone 7
  • 22. PaaS in Depth Non Relational DB BigTable 2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone 7
  • 23. PaaS in Depth Non Relational DB BigTable Key/Value Stores 2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone 7
  • 24. PaaS in Depth Non Relational DB BigTable Key/Value Stores CouchDB 2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone 7
  • 25. PaaS in Depth Identity Non Relational DB BigTable Key/Value Stores CouchDB 2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone 7
  • 26. PaaS in Depth MapReduce Identity Non Relational DB BigTable Key/Value Stores CouchDB 2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone 7
  • 27. PaaS in Depth Asynchronous Messaging MapReduce Identity Non Relational DB BigTable Key/Value Stores CouchDB 2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone 7
  • 28. PaaS in Depth Asynchronous Messaging MapReduce Identity XMPP Non Relational DB BigTable Key/Value Stores CouchDB 2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone 7
  • 29. PaaS in Depth Asynchronous Messaging MapReduce Identity XMPP Queuing Non Relational DB BigTable Key/Value Stores CouchDB 2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone 7
  • 30. PaaS in Depth Asynchronous Messaging MapReduce Identity XMPP Queuing Non Relational DB Payments BigTable Key/Value Stores CouchDB 2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone 7
  • 31. PaaS Issues You get whatever language is in the platform Platform includes network services beyond language runtime Leads to a service oriented system Part of the difference is the quality of the integration 2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone 8
  • 32. SaaS Issues SaaS applications may or may not be programmable The SaaS may have its own language Learning curve ahead Very good integration 2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone 9
  • 33. Characteristics of Cloud Environments Multitenant Heterogeneous Scalability is a goal Elastic / Provisioned by machine Monitored/Audited Service Oriented 2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone 10
  • 34. Agenda Cloud Taxonomy Where langauges intersect the cloud Security Performance Concurrency Distribution Operational Considerations Domain Specific Languages 2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone 11
  • 35. Areas where languages intersect the Cloud Security / Resource Control Performance Concurrency Distribution Operational Considerations Domain Specific Languages 2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone 12
  • 36. Agenda Cloud Taxonomy Where languages intersect the cloud Security Performance Concurrency Distribution Operational Considerations Domain Specific Languages 2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone 13
  • 37. Requirements Multitenancy Auditability Resource Control Service security 2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone 14
  • 38. Language Models Sandboxing • Java • PyPy • Google AppEngine Capabilities • Caja • Joe-E • E 2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone 15
  • 39. Agenda Cloud Taxonomy Where languages intersect the cloud Security Performance Concurrency Distribution Operational Considerations Domain Specific Languages 2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone 16
  • 40. Data center sizes • Google in 100,000’s • Facebook Hadoop in the 100’s (600 last count) Performance = reduction in the number of servers • Unladen Swallow Web site response times • interactive / rich applications • real time quotas • pushed back into the server tiers Yeah, and multicore 2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone 17
  • 41. Agenda Cloud Taxonomy Where languages intersect the cloud Security Performance Concurrency Distribution Operational Considerations Domain Specific Languages 2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone 18
  • 42. Transactional Memory Treat main memory as a database An MVCC database 2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone 19
  • 43. Transactional Memory Pros People understand transactions Transactions compose 2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone 20
  • 44. Transactional Memory Cons Inefficient Non abortable operations • I/O • Launch missile Still have to find critical sections / txn boundaries 2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone 21
  • 45. !quot;#$%&'(%)*quot;+quot;,-./* 2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone 22
  • 46. Actors 2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone 23
  • 47. 2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone 24
  • 48. 2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone 25
  • 49. Futures A=Future(function, arg1, arg2 ...) 2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone 26
  • 50. MapReduce 2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone 27
  • 51. 2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone 28
  • 52. Persistent Data Structures 2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone 29
  • 53. Tuple Spaces 2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone 30
  • 54. 2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone 31
  • 55. Projects Transactional Memory • Haskell • Clojure Actors • Erlang • Scala • Axum/F# • Libraries galore Futures • Libraries (Java, Python, Ruby, etc) MapReduce • Libraries (Hadoop, Disco) Persistent Data Structures • Clojure 2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone 32
  • 56. Projects Tuple spaces • Jini / Javaspaces • Gigaspaces • Blitz • Tspaces • Libraries galore 2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone 33
  • 57. Agenda Cloud Taxonomy Where languages intersect the cloud Security Performance Concurrency Distribution Operational Considerations Domain Specific Languages 2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone 34
  • 58. Runtime dynamic scalability • Lots of configuration needed = bad Erlang • distribution via message sending built in • error handling by crash and restart • OTP = rich framework for distributed applications 2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone 35
  • 59. Agenda Cloud Taxonomy Where languages intersect the cloud Security Performance Concurrency Distribution Operational Consideration Domain Specific Languages 2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone 36
  • 60. Monitoring Mainly a job for the language runtimes DTrace or other tracing 2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone 37
  • 61. libc.so.1`_write+0x15 libc.so.1`_fflush_u+0x36 libc.so.1`fflush+0x43 libpython2.4.so.1.0`file_flush+0x2a libpython2.4.so.1.0`call_function+0x32a libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf [ build/proto/lib/python/mercurial/transaction.py:49 (add) ] libpython2.4.so.1.0`PyEval_EvalCodeEx+0x732 libpython2.4.so.1.0`fast_function+0x112 libpython2.4.so.1.0`call_function+0xda libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf [ build/proto/lib/python/mercurial/revlog.py:1137 (addgroup) ] libpython2.4.so.1.0`PyEval_EvalCodeEx+0x732 libpython2.4.so.1.0`fast_function+0x112 libpython2.4.so.1.0`call_function+0xda libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf [ build/proto/lib/python/mercurial/localrepo.py:1849 (addchangegroup) ] libpython2.4.so.1.0`PyEval_EvalCodeEx+0x732 libpython2.4.so.1.0`fast_function+0x112 libpython2.4.so.1.0`call_function+0xda libpython2.4.so.1.0`PyEval_EvalFrame+0xbdf [ build/proto/lib/python/mercurial/localrepo.py:1345 (pull) ] libpython2.4.so.1.0`PyEval_EvalCodeEx+0x732 libpython2.4.so.1.0`fast_function+0x112 2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone 38
  • 62. Agenda Cloud Taxonomy Where languages intersect the cloud Security Performance Concurrency Distribution Operational Considerations Domain Specific Languages 2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone 39
  • 63. Salesforce.com Apex Multi-tenant code and data Higher level • the business logic level Statically typed Java like control structures 2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone 40
  • 64. Apex Persistent object type (SObject) Embedded Salesforce query languages (2 of them) • comprehension like Transaction Control / Locking Triggers as a construct • before/after insert/update/delete/undelete 2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone 41
  • 65. Apex Testing built in and coverage required by the platform SOA WSDL Generation 2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone 42
  • 66. Apex Security Classes declared as with sharing or without sharing to enforce (or not) the current user’s sharing rules Sharing rules specified by organizations cloud admin Resource limiting (governing) • resources are limited in the runtime • can call a method to find out the values • different for different contexts 2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone 43
  • 67. Apex: Concurrency No threads Futures 2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone 44
  • 68. APEX: Tools Eclipse Plugin TextBox in Salesforce UI 2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone 45
  • 69. Summary Many different cloud models Depending on the model, languages can help the cloud Primary contribution areas • Security • Performance • Concurrency • Distribution • Operational Considerations • Domain specific languages 2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone 46
  • 70. For More Information Sun Cloud Home • http://sun.com/cloud My blog • http://www.sauria.com/blog My Twitter • @twleung 2009 CommunityOne Conference: WEST | developers.sun.com/events/communityone 47
  • 71. Programming Languages for the Cloud S304101 Ted Leung ted.leung@sun.com @twleung