Cloud Computing Technologies Morteza Sargolzaei Javan بسمه تعالِِي 1
2 روند حرکت سیستم های محاسباتی P2P … Cluster 1990 … Volunteer computingGrid ComputingUtility computingCloud computing Pervasive computing
موضوعات امنیتی نرم افزار ها شبکه های ارتباطی سخت افزارها س ی س ت م ه ا ی م ح ا س ب ا ت ی 3 نقش محاسبات ابری در محاسبات فراگیر محاسبات فراگیر افزایش ظرفیت محاسباتی افزایش بهره وری در استفاده از منابع رفع / ایجاد مسائل امنیتی جدید بهبود بکارگیری از شبکه های ارتباطی توسعه سریعتر نرم افزارها
4 شمایی از توده ابری ! The Cloud Microsoft Amazon Yahoo Zoho Google Salesforce Rackspace
5 مثالی از لایه های محاسبات ابری Cloud Application (Google Docs) Cloud Platform (Apps Engine) BigTable Cloud Storage (Infrastructure ) (BigTable DB) Cloud Service (Apps Service) Cloud Client (Firefox)
6 موضوعات مطرح در محاسبات ابری Cloud Computing Storage Web 2.0 IaaS PaaS SaaS Web Services Public Cloud Private Cloud Enterprise Cloud Amazon EC2 Amazon S3 Google AppEngine SalesForce.com Mosso VMWare Hypervisors Manjrasoft Aneka ESX Migration Resource Metering Billing QoS Virtualization Service Level Agreement Provisioning on Demand Pricing Utility Management Security Privacy Scalability Reliability Software Eng. Complexity Energy Efficiency Data Locality Trust Interoperability
Pricing Pay as you Go Model 7
مدل قیمت گذاری مبتنی بر استفاده Traditional Model 100 servers * $1, years * $13,140 electricity/year + 3 years * 2 staff * $100,000 salary/year = $789,420 Pay as you go Model 100 servers * $0.40 instance-hour * 3 years * 8,760 hours/year = $1,051,200 8 $1,051,200 * 0.75% = $788,400
Pay as you Go 9
مقایسه هزینه ها در زیرساخت های مختلف زیرساخت داخلیبرونسپاریزیرساخت ابری سرمایه گذاری اولیه دلار 0 دلار هزینه های راه اندازی دلار 5000 دلار 1000 دلار هزینه ماهیانه سرویس 0 دلار 4000 دلار 2400 دلار هزینه ماهینه پرسنل 3200 دلار 0 دلار 1000 دلار هزینه خالص بعد از سه سال دلار دلار دلار 10
Application Architecture 11
لایه های مختلف ماشین مجازی 12
مثالی از استقرار یک برنامه وب سرور در ابر 13
استفاده از الگوی استقرار 14
Database sharding 15
موازی سازی و تعدیل بار 16
امنیت ماشین های مجازی 17
Amazon Cloud Provider 18
Amazon Cloud Services Amazon Elastic Cloud Compute (Amazon EC2) Amazon Simple Storage Service (Amazon S3) Amazon Simple Queue Service (Amazon SQS) Amazon CloudFront Amazon SimpleDB 19
Amazon Elastic Cloud Compute (EC2) 20
Amazon Simple Storage Service (S3) 21
Amazon Simple Queue Service (SQS) 22
Amazon CloudFront 23
Amazon SimpleDB 24
کنسول سرویس های وب آمازون 25
Aneka A Platform for Enterprise Grid/Cloud Computing
27 ویژگی ها Middleware for Enterprise Grids/Clouds Service oriented architecture.NET/Mono based environment Languages: C#, C++, VB, Delphi, Java/IKVM… … and 20 more languages Platforms: Windows XP/2000/2003 Linux & Mac OS X
28 Why Aneka? Multiple programming/deployment models Multiple scheduling strategies Multiple authentication models Multiple persistence backends Multiple platform and OSs
29 Aneka & Clouds Infrastructure as a Service Platform as a Service Software as a Service Aneka fits into the cloud architecture at the platform layer. This means that it provides a programming based interface for developing distributed application and a virtual execution environment in which the applications developed according to the published APIs can run. Public Cloud Private Cloud Aneka
30 Current Applications Scientific Distributed evolutionary computation Proteine structure prediction Commercial Engineering: Go Front (China): Train models rendering Media and games: platform for on-line gaming Financial: risk analysis Office automation: Excel integration Educational Image filtering Image rendering Distributed systems teaching
31 معماری سیستم Executor Scheduler Executor Manager work units internet Aneka enterprise Cloud Manager work units Manager(s) Client Applications Workers Aneka Container
32 مدل های برنامه نویسی Development Aneka is Platform as a Service cloud middleware This means: It exposes an API for development It provides access to the cloud at programming level More precisely… It provides different programming models
33 Aneka Scenario ExecutorSchedulerExecutor work units internet Aneka enterprise Cloud Manager Programming / Deployment Model public DumbTask: ITask { … public void Execute() { …… } for(int i=0; i<n; i++) { … DumbTask task = new DumbTask(); app.SubmitExecution(task); }
34 مدل های برنامه نویسی Overview infrastructure end users scheduling execution coordination client component abstractions units of execution Task Model TaskScheduler TaskExecutor TaskManager Task MapReduce Model MapReduceScheduler MapReduceExecutor MapReduceManager Mapper Reducer
35 مدل های برنامه نویسی Currently supported: Task Programming Model Thread Programming Model Map Reduce Programming Model Parameter Sweeping Model.. Implement your own..
36 Task Programming Model Used to model Independent Bag of Tasks (BoT) applications The application is a collection of execution unit Each execution unit is not related to the others There is no order in the execution of the units
37 Thread Programming Model Based on the concept of distributed thread Like a local thread but executed remotely Implements a subset of the common operations on thread Start Stop State Query Join Provides a quick way for porting on a distributed middleware, multi-threaded applications
38 MapReduce Programming Model Based on the MapReduce framework from Google Functional-style like primitives: A distributed application becomes a collection of map and reduce operations.
39 MapReduce Programming Model Developing MapReduce based Applications Define map and reduce operations Provide the data Run the MapReduce engine Input data map & reduce MapReduce engine Map & Reduce network Execution: -File staging -Task scheduling -Failed task resubmission -Replication and Fault tolerance -Collection of result
40 Parameter Sweeping Model Based on the Task Programming Model Provides a set of facilities to run applications where..all the tasks are homogeneous (same task)..the specific instance of tasks is specialized by parameters..all the possible combination of parameters are explored by generating a task instance for each of the combinations [A,1,#] [A,2,#] [B,2,#]
SaaS Software as a Service 41
ابر از دیدگاه SaaS 42
انواع خدمات در لایه SaaS مشارکت در تقویم، زمان بندی و مدیریت وظایف مشارکت در مدیریت رویدادها مشارکت در مدیریت تماس ها مشارکت در مدیریت پروژه مشارکت در واژه پردازی مشارکت در صفحات گسترده مشارکت در پایگاه داده مشارکت در ارائه ذخیره سازی و به اشتراک گذاری فایل ها و دیگر محتواهای آنلاین به اشتراک گذاری تصاویر دیجیتال کنترل همه چیز با دسک تاپ های تحت وب دیگر راه های مشارکت آنلاین مشارکت از طریق شبکه های اجتماعی و گروه افزارها مشارکت از طریق بلاگ ها و ویکی 43
Calendar 44
Contact 45
مدیریت پروژه 46
واژه پردازی 47
صفحه گسترده 48
پایگاه داده 49
ارائه 50
به اشتراک گذاری 51
CRM 52
برنامه های تجاری SaledForce 53
میزکار 54
ویرایش تصویر 55
تعامل بین سرویس ها 56
با تشکر از توجه شما 57