Download presentation
Presentation is loading. Please wait.
Published byLeo Cook Modified over 8 years ago
1
CLOUD COMPUTING ARCHITECTURES & APPLICATIONS LECTURERS LAZAR KIRCHEV, PhD ILIYAN NENOV KRUM BAKALSKY 18 April, 2011 LECTURE #8 DEVELOPMENT TOOLS AND TECHNOLOGIES USED FOR CREATING APPLICATIONS, WORKING IN A CLOUD.
2
2011 Sofia University “Sv. Kliment Ohridski” > Faculty of Mathematics and Informatics > Cloud Computing Architecture and Applications2 OUTLINE Development tools for cloud computing General categorization Common advices Cloud specifics Technologies for developing a cloud application Web tier Middleware Data tier
3
Development tools for cloud computing
4
2011 Sofia University “Sv. Kliment Ohridski” > Faculty of Mathematics and Informatics > Cloud Computing Architecture and Applications4 Common characteristics Application requirements Design the architecture Evaluate cloud providers, choose one Choosing the right tools Often provided by the cloud vendors A complete end-2-end development infrastructure could be provided as an on-demand service (by means of extensions/plug-ins to already existing popular tools and/or entirely new products) Could be 3 rd party and/or open source as well
5
2011 Sofia University “Sv. Kliment Ohridski” > Faculty of Mathematics and Informatics > Cloud Computing Architecture and Applications5 General purpose categorization Compiler tools Debugging tools Performance analysis tools – memory, thread consumption, I/O and network traffic, etc. Build automation tools - Maven, Ant, Buildr (Rake, Ruby) Bug tracking systems – Bugzilla, JIRA (agile extensions), etc. Continuous integration systems – Hudson (Jenkins) Version control & team work – Git/Gerrit (github) Software logistics – deploy, update Integrated development environment (IDE) – Eclipse, NetBeans, Visual Studio You have to code against the PaaS SDK locally
6
2011 Sofia University “Sv. Kliment Ohridski” > Faculty of Mathematics and Informatics > Cloud Computing Architecture and Applications6 Other types of categorization Command line tools In some cases are better (git bash vs. EGit) Easier to automate commands into scripts (AWS) Visual tools Dynamic Ajax-powered applications – AWS management console Browser extensions – ElasticFox, S3Fox Standalone desktop applications – Bucket Explorer, SimpleDB Explorer Device-specific applications – for iOS, Android, etc. Others ?
7
2011 Sofia University “Sv. Kliment Ohridski” > Faculty of Mathematics and Informatics > Cloud Computing Architecture and Applications7 How to choose my tools ? What is the license/SLA (pricing) ? How smooth is the dev experience ? TCO Which languages are supported ? Documentation Popularity and reputation Community support (update, maintenance) Security (e.g. how are the AWS web services called ?)
8
2011 Sofia University “Sv. Kliment Ohridski” > Faculty of Mathematics and Informatics > Cloud Computing Architecture and Applications8 Cloud specifics Bring the dev experience to the web web-focused development workflow – development is now a web experience zero install on the client lower TCO scalable computing power simple connectivity – links trivial update mechanism (i.e. refresh the page) reduce network traffic Examples: Eclipse RAP Eclipse Orion (e4)
9
Technologies for developing a cloud application
10
2011 Sofia University “Sv. Kliment Ohridski” > Faculty of Mathematics and Informatics > Cloud Computing Architecture and Applications10 Programming the web tier Check out what the cloud vendor provides … Mind for browser support and vendor specific libraries (minimize vendor lock-in) Security concerns
11
2011 Sofia University “Sv. Kliment Ohridski” > Faculty of Mathematics and Informatics > Cloud Computing Architecture and Applications11 Middleware services Message handling (MOM) ? Task Queue/XMPP on Google App Engine SQS/SNS on Amazon Web Services Support for particular platforms GAE: JSF, JSP, JAXB, JavaMail, Grails, JRuby, Struts, Wicket, etc. Scheduling Security Others…
12
2011 Sofia University “Sv. Kliment Ohridski” > Faculty of Mathematics and Informatics > Cloud Computing Architecture and Applications12 Data tier services Data storage AWS: SimpleDB, S3, Amazon RDS Google App Engine: Datastore (JPA/JDO for Java; Python), low level caching (Memcache), GQL, indexes Windows Azure: Storage service, SQL Azure Data processing Amazon Elastic MapReduce Google MapReduce/Sawzall Moral aspects
13
END OF LECTURE #8
14
2011 Sofia University “Sv. Kliment Ohridski” > Faculty of Mathematics and Informatics > Cloud Computing Architecture and Applications14 The information in this document is compiled using varous public sources, freely available in internet. These sources include: http://www.scribd.com/doc/17929394/Cloud-Computing-Use-Cases-Whitepaperhttp://www.scribd.com/doc/17929394/Cloud-Computing-Use-Cases-Whitepaper http://www.enisa.europa.eu/act/rm/files/deliverables/cloud-computing-risk-assessmenthttp://www.enisa.europa.eu/act/rm/files/deliverables/cloud-computing-risk-assessment http://code.google.com/edu/parallel/index.html http://code.google.com/edu/parallel/index.html Google: Cluster Computing and MapReduce: http://code.google.com/edu/submissions/mapreduce-minilecture/listing.htmlhttp://code.google.com/edu/submissions/mapreduce-minilecture/listing.html Google Course: MapReduce in a Week http://code.google.com/edu/submissions/mapreduce/listing.htmlhttp://code.google.com/edu/submissions/mapreduce/listing.html Intensive MapReduce course at MIT http://mr.iap.2008.googlepages.comhttp://mr.iap.2008.googlepages.com Hadoop Virtual Image Documentation http://code.google.com/edu/parallel/tools/hadoopvm/index.htmlhttp://code.google.com/edu/parallel/tools/hadoopvm/index.html http://www.umiacs.umd.edu/~jimmylin/cloud-computinghttp://www.umiacs.umd.edu/~jimmylin/cloud-computing Colby Ranger, Ramanan Raghuraman, Arun Penmetsa, Gary Bradski, Christos Kozyrakis, Evaluating MapReduce for Multi-core and Multiprocessor Systems, http://csl.stanford.edu/~christos/publications/2007.cmp_mapreduce.hpca.pdfhttp://csl.stanford.edu/~christos/publications/2007.cmp_mapreduce.hpca.pdf http://www.dbms2.com/2008/08/26/why-mapreduce-matters-to-sql-data-warehousinghttp://www.dbms2.com/2008/08/26/why-mapreduce-matters-to-sql-data-warehousing Bingsheng He, Wenbin Fang, Qiong Luo, Mars: A MapReduce Framework on Graphics Processors http://www.cse.ust.hk/catalac/users/saven/GPGPU/MapReduce/PACT08/171.pdfhttp://www.cse.ust.hk/catalac/users/saven/GPGPU/MapReduce/PACT08/171.pdf Hung-chih Yang, Ali Dasdan, Map-reduce-merge: simplified relational data processing on large clusters http://portal.acm.org/citation.cfm?doid=1247480.1247602http://portal.acm.org/citation.cfm?doid=1247480.1247602 Foto N. Afrati, Jeffrey D. Ullman, A New Computation Model for Rack-Based Computing http://infolab.stanford.edu/~ullman/pub/mapred.pdfhttp://infolab.stanford.edu/~ullman/pub/mapred.pdf Ralf Lammel, Google’s MapReduce Programming Model Revisite http://www.cs.vu.nl/~ralf/MapReduce/paper.pdfhttp://www.cs.vu.nl/~ralf/MapReduce/paper.pdf http://www.baselinemag.com/c/a/Infrastructure/How-Google-Works-1http://www.baselinemag.com/c/a/Infrastructure/How-Google-Works-1 Joe Hellerstein, Parallel Programming in the Age of Big Data http://gigaom.com/2008/11/09/mapreduce-leads-the-way-for-parallel-programminghttp://gigaom.com/2008/11/09/mapreduce-leads-the-way-for-parallel-programming Jeffrey Dean and Sanjay Ghemawat, MapReduce: Simplified Data Processing on Large Clusters https://sites.google.com/a/colgate.edu/cloudintro/Homehttps://sites.google.com/a/colgate.edu/cloudintro/Home © 2011 COPYRIGHTS DISCLAIMER The information in this document is proprietary to Sofia University “Sv. Kliment Ohridski” (called THE UNIVERSITY bellow) http://uni-sofia.bg THE UNIVERSITY assumes no responsibility for errors or omissions in this document. THE UNIVERSITY does not warrant the accuracy or completeness of the information, text, graphics, links, or other items contained within this material. This document is provided without a warranty of any kind, either express or implied, including but not limited to the implied warranties of merchantability, fitness for a particular purpose, or non-infringement. This document is used only for educational purposes related to the masters programs of THE UNIVERSITY, Faculty of Mathematics and Informatics. This document is compiled using various public sources freely available in internet or offered by SAP AG. This document is not used directly or indirectly for any type of commercial use. http://fmi.uni-sofia.bg THE UNIVERSITY shall have no liability for damages of any kind including without limitation direct, special, indirect, or consequential damages that may result from the use of these materials. This limitation shall not apply in cases of intent or gross negligence. The statutory liability for personal injury and defective products is not affected. THE UNIVERSITY has no control over the information that you may access through the use of hot links contained in these materials and does not endorse your use of third-party Web pages nor provide any warranty whatsoever relating to third-party Web pages.
15
2011 Sofia University “Sv. Kliment Ohridski” > Faculty of Mathematics and Informatics > Cloud Computing Architecture and Applications15 Headline area Drawing area White space The Grid
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.