-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcloud_computing.html
More file actions
2119 lines (1060 loc) · 94 KB
/
Copy pathcloud_computing.html
File metadata and controls
2119 lines (1060 loc) · 94 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<!DOCTYPE html><html><body><title>Cloud Computing Tutorial</title>
<h1>Cloud Computing Tutorial</h1>
<p>Cloud Computing provides us means by which we can access the applications as utilities over the internet. It allows us to create, configure, and customize the business applications online.</p>
<p>This tutorial will take you through a step-by-step approach while learning Cloud Computing concepts.</p>
<h1>Audience</h1>
<p>This reference has been prepared for the beginners to help them to understand basic-to-advanced concepts related to Cloud Computing. This tutorial will give you enough understanding on Cloud Computing concepts from where you can take yourself to a higher level of expertise.</p>
<h1>Prerequisites</h1>
<p>Before proceeding with this tutorial, you should have basic knowledge of Computers, Internet, Database and Networking concepts. Such basic knowledge will help you in understanding the Cloud Computing concepts and move fast on the learning track.</p>
<p>© Copyright 2017. All Rights Reserved.</p>
<title>Cloud Computing Overview</title>
<h1>Cloud Computing Overview</h1>
<p>Cloud Computing provides us means of accessing the applications as utilities over the Internet. It allows us to create, configure, and customize the applications online.</p>
<h2>What is Cloud?</h2>
<p>The term <b>Cloud</b> refers to a <b>Network</b> or <b>Internet.</b> In other words, we can say that Cloud is something, which is present at remote location. Cloud can provide services over public and private networks, i.e., WAN, LAN or VPN.</p>
<p>Applications such as e-mail, web conferencing, customer relationship management (CRM) execute on cloud.</p>
<h2>What is Cloud Computing?</h2>
<p>Cloud Computing refers to <b>manipulating, configuring,</b> and <b>accessing</b> the hardware and software resources remotely. It offers online data storage, infrastructure, and application.</p>
<p>Cloud computing offers <b>platform independency,</b> as the software is not required to be installed locally on the PC. Hence, the Cloud Computing is making our business applications <b>mobile</b> and <b>collaborative.</b></p>
<h2>Basic Concepts</h2>
<p>There are certain services and models working behind the scene making the cloud computing feasible and accessible to end users. Following are the working models for cloud computing:</p>
<h3>Deployment Models</h3>
<p>Deployment models define the type of access to the cloud, i.e., how the cloud is located? Cloud can have any of the four types of access: Public, Private, Hybrid, and Community.</p>
<h4>Public Cloud</h4>
<p>The <b>public cloud</b> allows systems and services to be easily accessible to the general public. Public cloud may be less secure because of its openness.</p>
<h4>Private Cloud</h4>
<p>The <b>private cloud</b> allows systems and services to be accessible within an organization. It is more secured because of its private nature.</p>
<h4>Community Cloud</h4>
<p>The <b>community cloud</b> allows systems and services to be accessible by a group of organizations.</p>
<h4>Hybrid Cloud</h4>
<p>The <b>hybrid cloud</b> is a mixture of public and private cloud, in which the critical activities are performed using private cloud while the non-critical activities are performed using public cloud.</p>
<h3>Service Models</h3>
<p>Cloud computing is based on service models. These are categorized into three basic service models which are -</p>
<p><b>Anything-as-a-Service (XaaS)</b> is yet another service model, which includes Network-as-a-Service, Business-as-a-Service, Identity-as-a-Service, Database-as-a-Service or Strategy-as-a-Service.</p>
<p>The <b>Infrastructure-as-a-Service (IaaS)</b> is the most basic level of service. Each of the service models inherit the security and management mechanism from the underlying model, as shown in the following diagram:</p>
<h4>Infrastructure-as-a-Service (IaaS)</h4>
<p><b>IaaS</b> provides access to fundamental resources such as physical machines, virtual machines, virtual storage, etc.</p>
<h4>Platform-as-a-Service (PaaS)</h4>
<p><b>PaaS</b> provides the runtime environment for applications, development and deployment tools, etc.</p>
<h4>Software-as-a-Service (SaaS)</h4>
<p><b>SaaS</b> model allows to use software applications as a service to end-users.</p>
<h2>History of Cloud Computing</h2>
<p>The concept of <b>Cloud Computing</b> came into existence in the year 1950 with implementation of mainframe computers, accessible via <b>thin/static clients.</b> Since then, cloud computing has been evolved from static clients to dynamic ones and from software to services. The following diagram explains the evolution of cloud computing:</p>
<h2>Benefits</h2>
<p>Cloud Computing has numerous advantages. Some of them are listed below -</p>
<p>One can access applications as utilities, over the Internet.</p>
<p>One can manipulate and configure the applications online at any time.</p>
<p>It does not require to install a software to access or manipulate cloud application.</p>
<p>Cloud Computing offers online development and deployment tools, programming runtime environment through <b>PaaS model.</b></p>
<p>Cloud resources are available over the network in a manner that provide platform independent access to any type of clients.</p>
<p>Cloud Computing offers <b>on-demand self-service.</b> The resources can be used without interaction with cloud service provider.</p>
<p>Cloud Computing is highly cost effective because it operates at high efficiency with optimum utilization. It just requires an Internet connection</p>
<p>Cloud Computing offers load balancing that makes it more reliable.</p>
<h2>Risks related to Cloud Computing</h2>
<p>Although cloud Computing is a promising innovation with various benefits in the world of computing, it comes with risks. Some of them are discussed below:</p>
<h3>Security and Privacy</h3>
<p>It is the biggest concern about cloud computing. Since data management and infrastructure management in cloud is provided by third-party, it is always a risk to handover the sensitive information to cloud service providers.</p>
<p>Although the cloud computing vendors ensure highly secured password protected accounts, any sign of security breach may result in loss of customers and businesses.</p>
<h3>Lock In</h3>
<p>It is very difficult for the customers to switch from one <b>Cloud Service Provider (CSP)</b> to another. It results in dependency on a particular CSP for service.</p>
<h3>Isolation Failure</h3>
<p>This risk involves the failure of isolation mechanism that separates storage, memory, and routing between the different tenants.</p>
<h3>Management Interface Compromise</h3>
<p>In case of public cloud provider, the customer management interfaces are accessible through the Internet.</p>
<h3>Insecure or Incomplete Data Deletion</h3>
<p>It is possible that the data requested for deletion may not get deleted. It happens because either of the following reasons</p>
<p>Extra copies of data are stored but are not available at the time of deletion</p>
<p>Disk that stores data of multiple tenants is destroyed.</p>
<h2>Characteristics of Cloud Computing</h2>
<p>There are four key characteristics of cloud computing. They are shown in the following diagram:</p>
<h3>On Demand Self Service</h3>
<p>Cloud Computing allows the users to use web services and resources on demand. One can logon to a website at any time and use them.</p>
<h3>Broad Network Access</h3>
<p>Since cloud computing is completely web based, it can be accessed from anywhere and at any time.</p>
<h3>Resource Pooling</h3>
<p>Cloud computing allows multiple tenants to share a pool of resources. One can share single physical instance of hardware, database and basic infrastructure.</p>
<h3>Rapid Elasticity</h3>
<p>It is very easy to scale the resources vertically or horizontally at any time. Scaling of resources means the ability of resources to deal with increasing or decreasing demand.</p>
<p>The resources being used by customers at any given point of time are automatically monitored.</p>
<h3>Measured Service</h3>
<p>In this service cloud provider controls and monitors all the aspects of cloud service. Resource optimization, billing, and capacity planning etc. depend on it.</p>
<p>© Copyright 2017. All Rights Reserved.</p>
<title>Cloud Computing Planning</title>
<h1>Cloud Computing Planning</h1>
<p>Before deploying applications to cloud, it is necessary to consider your business requirements. Following are the issues one must consider:</p>
<p>To meet all of these requirements, it is necessary to have well-compiled planning. In this tutorial, we will discuss the various planning phases that must be practised by an enterprise before migrating the entire business to cloud. Each of these planning phases are described in the following diagram:</p>
<h2>Strategy Phase</h2>
<p>In this phase, we analyze the strategy problems that customer might face. There are two steps to perform this analysis:</p>
<h3>Cloud Computing Value Proposition</h3>
<p>In this, we analyze the factors influencing the customers when applying cloud computing mode and target the key problems they wish to solve. These key factors are:</p>
<p>All of the above analysis helps in decision making for future development.</p>
<h3>Cloud Computing Strategy Planning</h3>
<p>The strategy establishment is based on the analysis result of the above step. In this step, a strategy document is prepared according to the conditions a customer might face when applying cloud computing mode.</p>
<h2>Planning Phase</h2>
<p>This step performs analysis of problems and risks in the cloud application to ensure the customers that the cloud computing is successfully meeting their business goals. This phase involves the following planning steps:</p>
<h3>Business Architecture Development</h3>
<p>In this step, we recognize the risks that might be caused by cloud computing application from a business perspective.</p>
<h3>IT Architecture Development</h3>
<p>In this step, we identify the applications that support the business processes and the technologies required to support enterprise applications and data systems.</p>
<h3>Requirements on Quality of Service Development</h3>
<p>Quality of service refers to the non-functional requirements such as reliability, security, disaster recovery, etc. The success of applying cloud computing mode depends on these non-functional factors.</p>
<h3>Transformation Plan Development</h3>
<p>In this step, we formulate all kinds of plans that are required to transform current business to cloud computing modes.</p>
<h2>Deployment Phase</h2>
<p>This phase focuses on both of the above two phases. It involves the following two steps:</p>
<h3>Selecting Cloud Computing Provider</h3>
<p>This step includes selecting a cloud provider on basis of Service Level Agreement (SLA), which defines the level of service the provider will meet.</p>
<h3>Maintenance and Technical Service</h3>
<p>Maintenance and Technical services are provided by the cloud provider. They need to ensure the quality of services.</p>
<p>© Copyright 2017. All Rights Reserved.</p>
<title>Cloud Computing Technologies</title>
<h1>Cloud Computing Technologies</h1>
<p>There are certain technologies working behind the cloud computing platforms making cloud computing flexible, reliable, and usable. These technologies are listed below:</p>
<h2>Virtualization</h2>
<p><b>Virtualization</b> is a technique, which allows to share single physical instance of an application or resource among multiple organizations or tenants (customers). It does this by assigning a logical name to a physical resource and providing a pointer to that physical resource when demanded.</p>
<p>The <b>Multitenant</b> architecture offers <b>virtual isolation</b> among the multiple tenants. Hence, the organizations can use and customize their application as though they each have their instances running.</p>
<h2>Service-Oriented Architecture (SOA)</h2>
<p>Service-Oriented Architecture helps to use applications as a service for other applications regardless the type of vendor, product or technology. Therefore, it is possible to exchange the data between applications of different vendors without additional programming or making changes to services.</p>
<p>The cloud computing service oriented architecture is shown in the diagram below.</p>
<h2>Grid Computing</h2>
<p><b>Grid Computing</b> refers to distributed computing, in which a group of computers from multiple locations are connected with each other to achieve a common objective. These computer resources are heterogeneous and geographically dispersed.</p>
<p>Grid Computing breaks complex task into smaller pieces, which are distributed to CPUs that reside within the grid.</p>
<h2>Utility Computing</h2>
<p>Utility computing is based on <b>Pay-per-Use model.</b> It offers computational resources on demand as a metered service. Cloud computing, grid computing, and managed IT services are based on the concept of utility computing.</p>
<p>© Copyright 2017. All Rights Reserved.</p>
<title>Cloud Computing Architecture</title>
<h1>Cloud Computing Architecture</h1>
<p>Cloud Computing architecture comprises of many cloud components, which are loosely coupled. We can broadly divide the cloud architecture into two parts:</p>
<p>Each of the ends is connected through a network, usually Internet. The following diagram shows the graphical view of cloud computing architecture:</p>
<h2>Front End</h2>
<p>The <b>front end</b> refers to the client part of cloud computing system. It consists of interfaces and applications that are required to access the cloud computing platforms, Example - Web Browser.</p>
<h2>Back End</h2>
<p>The <b>back End</b> refers to the cloud itself. It consists of all the resources required to provide cloud computing services. It comprises of huge data storage, virtual machines, security mechanism, services, deployment models, servers, etc.</p>
<h2>Note</h2>
<p>It is the responsibility of the back end to provide built-in security mechanism, traffic control and protocols.</p>
<p>The server employs certain protocols known as middleware, which help the connected devices to communicate with each other.</p>
<p>© Copyright 2017. All Rights Reserved.</p>
<title>Cloud Computing Infrastructure</title>
<h1>Cloud Computing Infrastructure</h1>
<p><b>Cloud infrastructure</b> consists of servers, storage devices, network, cloud management software, deployment software, and platform virtualization.</p>
<h3>Hypervisor</h3>
<p><b>Hypervisor</b> is a <b>firmware</b> or <b>low-level program</b> that acts as a Virtual Machine Manager. It allows to share the single physical instance of cloud resources between several tenants.</p>
<h3>Management Software</h3>
<p>It helps to maintain and configure the infrastructure.</p>
<h3>Deployment Software</h3>
<p>It helps to deploy and integrate the application on the cloud.</p>
<h3>Network</h3>
<p>It is the key component of cloud infrastructure. It allows to connect cloud services over the Internet. It is also possible to deliver network as a utility over the Internet, which means, the customer can customize the network route and protocol.</p>
<h3>Server</h3>
<p>The <b>server</b> helps to compute the resource sharing and offers other services such as resource allocation and de-allocation, monitoring the resources, providing security etc.</p>
<h3>Storage</h3>
<p>Cloud keeps multiple replicas of storage. If one of the storage resources fails, then it can be extracted from another one, which makes cloud computing more reliable.</p>
<h2>Infrastructural Constraints</h2>
<p>Fundamental constraints that cloud infrastructure should implement are shown in the following diagram:</p>
<h3>Transparency</h3>
<p>Virtualization is the key to share resources in cloud environment. But it is not possible to satisfy the demand with single resource or server. Therefore, there must be transparency in resources, load balancing and application, so that we can scale them on demand.</p>
<h3>Scalability</h3>
<p>Scaling up an application delivery solution is not that easy as scaling up an application because it involves configuration overhead or even re-architecting the network. So, application delivery solution is need to be scalable which will require the virtual infrastructure such that resource can be provisioned and de-provisioned easily.</p>
<h3>Intelligent Monitoring</h3>
<p>To achieve transparency and scalability, application solution delivery will need to be capable of intelligent monitoring.</p>
<h3>Security</h3>
<p>The mega data center in the cloud should be securely architected. Also the control node, an entry point in mega data center, also needs to be secure.</p>
<p>© Copyright 2017. All Rights Reserved.</p>
<title>Cloud Computing Public Cloud Model</title>
<h1>Public Cloud Model</h1>
<p><b>Public Cloud</b> allows systems and services to be easily accessible to general public. The IT giants such as <b>Google, Amazon</b> and <b>Microsoft</b> offer cloud services via Internet. The Public Cloud Model is shown in the diagram below.</p>
<h2>Benefits</h2>
<p>There are many benefits of deploying cloud as public cloud model. The following diagram shows some of those benefits:</p>
<h3>Cost Effective</h3>
<p>Since <b>public cloud</b> shares same resources with large number of customers it turns out inexpensive.</p>
<h3>Reliability</h3>
<p>The <b>public cloud</b> employs large number of resources from different locations. If any of the resources fails, public cloud can employ another one.</p>
<h3>Flexibility</h3>
<p>The public cloud can smoothly integrate with private cloud, which gives customers a flexible approach.</p>
<h3>Location Independence</h3>
<p><b>Public cloud</b> services are delivered through Internet, ensuring location independence.</p>
<h3>Utility Style Costing</h3>
<p>Public cloud is also based on <b>pay-per-use</b> model and resources are accessible whenever customer needs them.</p>
<h3>High Scalability</h3>
<p>Cloud resources are made available on demand from a pool of resources, i.e., they can be scaled up or down according the requirement.</p>
<h2>Disadvantages</h2>
<p>Here are some disadvantages of public cloud model:</p>
<h3>Low Security</h3>
<p>In <b>public cloud model,</b> data is hosted off-site and resources are shared publicly, therefore does not ensure higher level of security.</p>
<h3>Less Customizable</h3>
<p>It is comparatively less customizable than private cloud.</p>
<p>© Copyright 2017. All Rights Reserved.</p>
<title>Cloud Computing Private Cloud Model</title>
<h1>Private Cloud Model</h1>
<p><b>Private Cloud</b> allows systems and services to be accessible within an organization. The Private Cloud is operated only within a single organization. However, it may be managed internally by the organization itself or by third-party. The private cloud model is shown in the diagram below.</p>
<h2>Benefits</h2>
<p>There are many benefits of deploying cloud as private cloud model. The following diagram shows some of those benefits:</p>
<h3>High Security and Privacy</h3>
<p><b>Private cloud</b> operations are not available to general public and resources are shared from distinct pool of resources. Therefore, it ensures high <b>security</b> and <b>privacy.</b></p>
<h3>More Control</h3>
<p>The <b>private cloud</b> has more control on its resources and hardware than public cloud because it is accessed only within an organization.</p>
<h3>Cost and Energy Efficiency</h3>
<p>The <b>private cloud</b> resources are not as cost effective as resources in public clouds but they offer more efficiency than public cloud resources.</p>
<h2>Disadvantages</h2>
<p>Here are the disadvantages of using private cloud model:</p>
<h3>Restricted Area of Operation</h3>
<p>The private cloud is only accessible locally and is very difficult to deploy globally.</p>
<h3>High Priced</h3>
<p>Purchasing new hardware in order to fulfill the demand is a costly transaction.</p>
<h3>Limited Scalability</h3>
<p>The private cloud can be scaled only within capacity of internal hosted resources.</p>
<h3>Additional Skills</h3>
<p>In order to maintain cloud deployment, organization requires skilled expertise.</p>
<p>© Copyright 2017. All Rights Reserved.</p>
<title>Cloud Computing Hybrid Cloud Model</title>
<h1>Hybrid Cloud Model</h1>
<p><b>Hybrid Cloud</b> is a mixture of <b>public</b> and <b>private</b> cloud. Non-critical activities are performed using public cloud while the critical activities are performed using private cloud. The Hybrid Cloud Model is shown in the diagram below.</p>
<h2>Benefits</h2>
<p>There are many benefits of deploying cloud as hybrid cloud model. The following diagram shows some of those benefits:</p>
<h3>Scalability</h3>
<p>It offers features of both, the public cloud scalability and the private cloud scalability.</p>
<h3>Flexibility</h3>
<p>It offers secure resources and scalable public resources.</p>
<h3>Cost Efficiency</h3>
<p>Public clouds are more cost effective than private ones. Therefore, hybrid clouds can be cost saving.</p>
<h3>Security</h3>
<p>The private cloud in hybrid cloud ensures higher degree of security.</p>
<h2>Disadvantages</h2>
<h3>Networking Issues</h3>
<p>Networking becomes complex due to presence of private and public cloud.</p>
<h3>Security Compliance</h3>
<p>It is necessary to ensure that cloud services are compliant with security policies of the organization.</p>
<h3>Infrastructure Dependency</h3>
<p>The <b>hybrid cloud model</b> is dependent on internal IT infrastructure, therefore it is necessary to ensure redundancy across data centers.</p>
<p>© Copyright 2017. All Rights Reserved.</p>
<title>Cloud Computing Community Cloud Model</title>
<h1>Community Cloud Model</h1>
<p><b>Community Cloud</b> allows system and services to be accessible by group of organizations. It shares the infrastructure between several organizations from a specific community. It may be managed internally by organizations or by the third-party. The Community Cloud Model is shown in the diagram below.</p>
<h2>Benefits</h2>
<p>There are many benefits of deploying cloud as <b>community cloud model.</b></p>
<h3>Cost Effective</h3>
<p><b>Community cloud</b> offers same advantages as that of private cloud at low cost.</p>
<h3>Sharing Among Organizations</h3>
<p>Community cloud provides an infrastructure to share cloud resources and capabilities among several organizations.</p>
<h3>Security</h3>
<p>The community cloud is comparatively more secure than the public cloud but less secured than the private cloud.</p>
<h2>Issues</h2>
<p>Since all data is located at one place, one must be careful in storing data in community cloud because it might be accessible to others.</p>
<p>It is also challenging to allocate responsibilities of governance, security and cost among organizations.</p>
<p>© Copyright 2017. All Rights Reserved.</p>
<title>Cloud Computing Infrastructure as a Service (IaaS)</title>
<h1>Cloud Computing Infrastructure as a Service (IaaS)</h1>
<p><b>Infrastructure-as-a-Service</b> provides access to fundamental resources such as physical machines, virtual machines, virtual storage, etc. Apart from these resources, the IaaS also offers:</p>
<p>All of the above resources are made available to end user via <b>server virtualization.</b> Moreover, these resources are accessed by the customers as if they own them.</p>
<h2>Benefits</h2>
<p><b>IaaS</b> allows the cloud provider to freely locate the infrastructure over the Internet in a cost-effective manner. Some of the key benefits of IaaS are listed below:</p>
<p>Full control of the computing resources through administrative access to VMs.</p>
<p>Flexible and efficient renting of computer hardware.</p>
<p>Portability, interoperability with legacy applications.</p>
<h3>Full control over computing resources through administrative access to VMs</h3>
<p><b>IaaS</b> allows the customer to access computing resources through administrative access to virtual machines in the following manner:</p>
<p>Customer issues administrative command to cloud provider to run the virtual machine or to save data on cloud server.</p>
<p>Customer issues administrative command to virtual machines they owned to start web server or to install new applications.</p>
<h3>Flexible and efficient renting of computer hardware</h3>
<p>IaaS resources such as virtual machines, storage devices, bandwidth, IP addresses, monitoring services, firewalls, etc. are made available to the customers on rent. The payment is based upon the amount of time the customer retains a resource. Also with administrative access to virtual machines, the customer can run any software, even a custom operating system.</p>
<h3>Portability, interoperability with legacy applications</h3>
<p>It is possible to maintain legacy between applications and workloads between IaaS clouds. For example, network applications such as web server or e-mail server that normally runs on customer-owned server hardware can also run from VMs in IaaS cloud.</p>
<h2>Issues</h2>
<p>IaaS shares issues with PaaS and SaaS, such as Network dependence and browser based risks. It also has some specific issues, which are mentioned in the following diagram:</p>
<h3>Compatibility with legacy security vulnerabilities</h3>
<p>Because IaaS offers the customer to run legacy software in provider's infrastructure, it exposes customers to all of the security vulnerabilities of such legacy software.</p>
<h3>Virtual Machine sprawl</h3>
<p>The VM can become out-of-date with respect to security updates because IaaS allows the customer to operate the virtual machines in running, suspended and off state. However, the provider can automatically update such VMs, but this mechanism is hard and complex.</p>
<h3>Robustness of VM-level isolation</h3>
<p>IaaS offers an isolated environment to individual customers through hypervisor. Hypervisor is a software layer that includes hardware support for virtualization to split a physical computer into multiple virtual machines.</p>
<h3>Data erase practices</h3>
<p>The customer uses virtual machines that in turn use the common disk resources provided by the cloud provider. When the customer releases the resource, the cloud provider must ensure that next customer to rent the resource does not observe data residue from previous customer.</p>
<h2>Characteristics</h2>
<p>Here are the characteristics of IaaS service model:</p>
<p>Virtual machines with pre-installed software.</p>
<p>Virtual machines with pre-installed operating systems such as Windows, Linux, and Solaris.</p>
<p>On-demand availability of resources.</p>
<p>Allows to store copies of particular data at different locations.</p>
<p>The computing resources can be easily scaled up and down.</p>
<p>© Copyright 2017. All Rights Reserved.</p>
<title>Cloud Computing Platform as a Service (PaaS)</title>
<h1>Cloud Computing Platform as a Service (PaaS)</h1>
<p><b>Platform-as-a-Service</b> offers the runtime environment for applications. It also offers development and deployment tools required to develop applications. PaaS has a feature of <b>point-and-click</b> tools that enables non-developers to create web applications.</p>
<p><b>App Engine of Google</b> and <b>Force.com</b> are examples of PaaS offering vendors. Developer may log on to these websites and use the <b>built-in API</b> to create web-based applications.</p>
<p>But the disadvantage of using PaaS is that, the developer <b>locks-in</b> with a particular vendor. For example, an application written in Python against API of Google, and using App Engine of Google is likely to work only in that environment.</p>
<p>The following diagram shows how PaaS offers an API and development tools to the developers and how it helps the end user to access business applications.</p>
<h2>Benefits</h2>
<p>Following are the benefits of PaaS model:</p>
<h3>Lower administrative overhead</h3>
<p>Customer need not bother about the administration because it is the responsibility of cloud provider.</p>
<h3>Lower total cost of ownership</h3>
<p>Customer need not purchase expensive hardware, servers, power, and data storage.</p>
<h3>Scalable solutions</h3>
<p>It is very easy to scale the resources up or down automatically, based on their demand.</p>
<h3>More current system software</h3>
<p>It is the responsibility of the cloud provider to maintain software versions and patch installations.</p>
<h2>Issues</h2>
<p>Like <b>SaaS, PaaS</b> also places significant burdens on customer's browsers to maintain reliable and secure connections to the provider’s systems. Therefore, PaaS shares many of the issues of SaaS. However, there are some specific issues associated with PaaS as shown in the following diagram:</p>
<h3>Lack of portability between PaaS clouds</h3>
<p>Although standard languages are used, yet the implementations of platform services may vary. For example, file, queue, or hash table interfaces of one platform may differ from another, making it difficult to transfer the workloads from one platform to another.</p>
<h3>Event based processor scheduling</h3>
<p>The PaaS applications are event-oriented which poses resource constraints on applications, i.e., they have to answer a request in a given interval of time.</p>
<h3>Security engineering of PaaS applications</h3>
<p>Since PaaS applications are dependent on network, they must explicitly use cryptography and manage security exposures.</p>
<h2>Characteristics</h2>
<p>Here are the characteristics of PaaS service model:</p>
<p>PaaS offers <b>browser based development environment.</b> It allows the developer to create database and edit the application code either via Application Programming Interface or point-and-click tools.</p>
<p>PaaS provides <b>built-in security, scalability,</b> and <b>web service interfaces.</b></p>
<p>PaaS provides built-in tools for defining <b>workflow, approval processes,</b> and business rules.</p>
<p>It is easy to integrate PaaS with other applications on the same platform.</p>
<p>PaaS also provides web services interfaces that allow us to connect the applications outside the platform.</p>
<h2>PaaS Types</h2>
<p>Based on the functions, PaaS can be classified into four types as shown in the following diagram:</p>
<h3>Stand-alone development environments</h3>
<p>The <b>stand-alone PaaS</b> works as an independent entity for a specific function. It does not include licensing or technical dependencies on specific SaaS applications.</p>
<h3>Application delivery-only environments</h3>
<p>The <b>application delivery PaaS</b> includes <b>on-demand scaling</b> and <b>application security.</b></p>
<h3>Open platform as a service</h3>
<p><b>Open PaaS</b> offers an <b>open source software</b> that helps a PaaS provider to run applications.</p>
<h3>Add-on development facilities</h3>
<p>The <b>add-on PaaS</b> allows to customize the existing SaaS platform.</p>
<p>© Copyright 2017. All Rights Reserved.</p>
<title>Cloud Computing Software as a Service (SaaS)</title>
<h1>Cloud Computing Software as a Service (SaaS)</h1>
<p><b>Software-as–a-Service (SaaS)</b> model allows to provide software application as a service to the end users. It refers to a software that is deployed on a host service and is accessible via Internet. There are several SaaS applications listed below:</p>
<p>Some of the SaaS applications are not customizable such as <b>Microsoft Office Suite.</b> But SaaS provides us <b>Application Programming Interface (API),</b> which allows the developer to develop a customized application.</p>
<h2>Characteristics</h2>
<p>Here are the characteristics of SaaS service model:</p>
<p>SaaS makes the software available over the Internet.</p>
<p>The software applications are maintained by the vendor.</p>
<p>The license to the software may be subscription based or usage based. And it is billed on recurring basis.</p>
<p>SaaS applications are cost-effective since they do not require any maintenance at end user side.</p>
<p>They are available on demand.</p>
<p>They can be scaled up or down on demand.</p>
<p>They are automatically upgraded and updated.</p>
<p>SaaS offers shared data model. Therefore, multiple users can share single instance of infrastructure. It is not required to hard code the functionality for individual users.</p>
<p>All users run the same version of the software.</p>
<h2>Benefits</h2>
<p>Using SaaS has proved to be beneficial in terms of scalability, efficiency and performance. Some of the benefits are listed below:</p>
<h3>Modest software tools</h3>
<p>The SaaS application deployment requires a little or no client side software installation, which results in the following benefits:</p>
<h3>Efficient use of software licenses</h3>
<p>The customer can have single license for multiple computers running at different locations which reduces the licensing cost. Also, there is no requirement for license servers because the software runs in the provider's infrastructure.</p>
<h3>Centralized management and data</h3>
<p>The cloud provider stores data centrally. However, the cloud providers may store data in a decentralized manner for the sake of redundancy and reliability.</p>
<h3>Platform responsibilities managed by providers</h3>
<p>All platform responsibilities such as backups, system maintenance, security, hardware refresh, power management, etc. are performed by the cloud provider. The customer does not need to bother about them.</p>
<h3>Multitenant solutions</h3>
<p>Multitenant solutions allow multiple users to share single instance of different resources in virtual isolation. Customers can customize their application without affecting the core functionality.</p>
<h2>Issues</h2>
<p>There are several issues associated with SaaS, some of them are listed below:</p>
<h3>Browser based risks</h3>
<p>If the customer visits malicious website and browser becomes infected, the subsequent access to SaaS application might compromise the customer's data.</p>
<p>To avoid such risks, the customer can use multiple browsers and dedicate a specific browser to access SaaS applications or can use virtual desktop while accessing the SaaS applications.</p>
<h3>Network dependence</h3>
<p>The SaaS application can be delivered only when network is continuously available. Also network should be reliable but the network reliability cannot be guaranteed either by cloud provider or by the customer.</p>
<h3>Lack of portability between SaaS clouds</h3>
<p>Transferring workloads from one SaaS cloud to another is not so easy because work flow, business logics, user interfaces, support scripts can be provider specific.</p>
<h2>Open SaaS and SOA</h2>
<p><b>Open SaaS</b> uses those SaaS applications, which are developed using open source programming language. These SaaS applications can run on any open source operating system and database. Open SaaS has several benefits listed below:</p>
<p>The following diagram shows the SaaS implementation based on SOA:</p>
<p>© Copyright 2017. All Rights Reserved.</p>
<title>Cloud Computing Identity as a Service (IDaaS)</title>
<h1>Cloud Computing Identity as a Service (IDaaS)</h1>
<p>Employees in a company require to login to system to perform various tasks. These systems may be based on local server or cloud based. Following are the problems that an employee might face:</p>
<p>Remembering different username and password combinations for accessing multiple servers.</p>
<p>If an employee leaves the company, it is required to ensure that each account of that user is disabled. This increases workload on IT staff.</p>
<p>To solve above problems, a new technique emerged which is known as <b>Identity-as–a-Service (IDaaS).</b></p>
<p>IDaaS offers management of identity information as a digital entity. This identity can be used during electronic transactions.</p>
<h2>Identity</h2>
<p><b>Identity</b> refers to set of attributes associated with something to make it recognizable. All objects may have same attributes, but their identities cannot be the same. A unique identity is assigned through unique identification attribute.</p>
<p>There are several <b>identity services</b> that are deployed to validate services such as validating web sites, transactions, transaction participants, client, etc. Identity-as-a-Service may include the following:</p>
<h2>Single Sign-On (SSO)</h2>
<p>To solve the problem of using different username and password combinations for different servers, companies now employ Single Sign-On software, which allows the user to login only one time and manage the access to other systems.</p>
<p><b>SSO</b> has single authentication server, managing multiple accesses to other systems, as shown in the following diagram:</p>
<h3>SSO Working</h3>
<p>There are several implementations of SSO. Here, we discuss the common ones:</p>
<p>Following steps explain the working of Single Sign-On software:</p>
<p>User logs into the authentication server using a username and password.</p>
<p>The authentication server returns the user's ticket.</p>
<p>User sends the ticket to intranet server.</p>
<p>Intranet server sends the ticket to the authentication server.</p>
<p>Authentication server sends the user's security credentials for that server back to the intranet server.</p>
<p>If an employee leaves the company, then disabling the user account at the authentication server prohibits the user's access to all the systems.</p>
<h2>Federated Identity Management (FIDM)</h2>
<p><b>FIDM</b> describes the technologies and protocols that enable a user to package security credentials across security domains. It uses <b>Security Markup Language (SAML)</b> to package a user's security credentials as shown in the following diagram:</p>
<h2>OpenID</h2>
<p>It offers users to login into multiple websites with single account. Google, Yahoo!, Flickr, MySpace, WordPress.com are some of the companies that support OpenID.</p>
<h2>Benefits</h2>
<p>© Copyright 2017. All Rights Reserved.</p>
<title>Cloud Computing Network as a Service (NaaS)</title>
<h1>Cloud Computing Network as a Service (NaaS)</h1>
<p><b>Network-as-a-Service</b> allows us to access to network infrastructure directly and securely. NaaS makes it possible to deploy <b>custom routing protocols.</b></p>
<p>NaaS uses <b>virtualized network infrastructure</b> to provide network services to the customer. It is the responsibility of NaaS provider to maintain and manage the network resources. Having a provider working for a customer decreases the workload of the customer. Moreover, NaaS offers <b>network as a utility.</b> NaaS is also based on <b>pay-per-use model.</b></p>
<h2>How NaaS is delivered?</h2>
<p>To use NaaS model, the customer is required to logon to the web portal, where he can get online API. Here, the customer can customize the route.</p>
<p>In turn, customer has to pay for the capacity used. It is also possible to turn off the capacity at any time.</p>
<h2>Mobile NaaS</h2>
<p>Mobile NaaS offers more efficient and flexible control over mobile devices. It uses virtualization to simplify the architecture thereby creating more efficient processes.</p>
<p>Following diagram shows the Mobile NaaS service elements:</p>
<h2>NaaS Benefits</h2>
<p>NaaS offers a number of benefits as discussed below:</p>
<h3>Independence</h3>
<p>Each customer is independent and can segregate the network.</p>
<h3>Bursting</h3>
<p>The customer pays for high-capacity network only on requirement.</p>
<h3>Resilience</h3>
<p>The reliability treatments are available, which can be applied for critical applications.</p>
<h3>Analytics</h3>
<p>The data protection solutions are available, which can be applied for highly sensitive applications.</p>
<h3>Ease of Adding New Service Elements</h3>
<p>It is very easy to integrate new service elements to the network.</p>
<h3>Support Models</h3>
<p>A number of support models are available to reduce operation cost.</p>
<h3>Isolation of Customer Traffic</h3>
<p>The customer traffic is logically isolated.</p>
<p>© Copyright 2017. All Rights Reserved.</p>
<title>Cloud Computing Management</title>
<h1>Cloud Computing Management</h1>
<p>It is the responsibility of cloud provider to manage resources and their performance. Management of resources includes several aspects of cloud computing such as load balancing, performance, storage, backups, capacity, deployment, etc. The management is essential to access full functionality of resources in the cloud.</p>
<h2>Cloud Management Tasks</h2>
<p>The cloud provider performs a number of tasks to ensure efficient use of cloud resources. Here, we will discuss some of them:</p>
<h3>Audit System Backups</h3>
<p>It is required to audit the backups timely to ensure restoring of randomly selected files of different users. Backups can be performed in following ways:</p>
<p>Backing up files by the company, from on-site computers to the disks that reside within the cloud.</p>
<p>Backing up files by the cloud provider.</p>
<p>It is necessary to know if cloud provider has encrypted the data, who has access to that data and if the backup is taken at different locations then the user must know the details of those locations.</p>
<h3>Data Flow of the System</h3>
<p>The managers are responsible to develop a diagram describing a detailed process flow. This process flow describes the movement of data belonging to an organization throughout the cloud solution.</p>
<h3>Vendor Lock-In Awareness and Solutions</h3>
<p>The managers must know the procedure to exit from services of a particular cloud provider. The procedures must be defined to enable the cloud managers to export data of an organization from their system to another cloud provider.</p>
<h3>Knowing Provider’s Security Procedures</h3>
<p>The managers should know the security plans of the provider for the following services:</p>
<h3>Monitoring Capacity Planning and Scaling Capabilities</h3>
<p>The managers must know the capacity planning in order to ensure whether the cloud provider is meeting the future capacity requirement for his business or not.</p>
<p>The managers must manage the scaling capabilities in order to ensure services can be scaled up or down as per the user need.</p>
<h3>Monitor Audit Log Use</h3>
<p>In order to identify errors in the system, managers must audit the logs on a regular basis.</p>
<h3>Solution Testing and Validation</h3>
<p>When the cloud provider offers a solution, it is essential to test it in order to ensure that it gives the correct result and it is error-free. This is necessary for a system to be robust and reliable.</p>
<p>© Copyright 2017. All Rights Reserved.</p>
<title>Cloud Computing Data Storage</title>
<h1>Cloud Computing Data Storage</h1>
<p>Cloud Storage is a service that allows to save data on offsite storage system managed by third-party and is made accessible by a <b>web services API.</b></p>
<h2>Storage Devices</h2>
<p>Storage devices can be broadly classified into two categories:</p>
<h3>Block Storage Devices</h3>
<p>The <b>block storage devices</b> offer raw storage to the clients. These raw storage are partitioned to create volumes.</p>
<h3>File Storage Devices</h3>
<p>The <b>file Storage Devices</b> offer storage to clients in the form of files, maintaining its own file system. This storage is in the form of Network Attached Storage (NAS).</p>
<h2>Cloud Storage Classes</h2>
<p>Cloud storage can be broadly classified into two categories:</p>
<h3>Unmanaged Cloud Storage</h3>
<p>Unmanaged cloud storage means the storage is preconfigured for the customer. The customer can neither format, nor install his own file system or change drive properties.</p>
<h3>Managed Cloud Storage</h3>
<p>Managed cloud storage offers online storage space on-demand. The managed cloud storage system appears to the user to be a raw disk that the user can partition and format.</p>
<h2>Creating Cloud Storage System</h2>
<p>The cloud storage system stores multiple copies of data on multiple servers, at multiple locations. If one system fails, then it is required only to change the pointer to the location, where the object is stored.</p>
<p>To aggregate the storage assets into cloud storage systems, the cloud provider can use storage virtualization software known as <b>StorageGRID.</b> It creates a virtualization layer that fetches storage from different storage devices into a single management system. It can also manage data from <b>CIFS</b> and <b>NFS</b> file systems over the Internet. The following diagram shows how StorageGRID virtualizes the storage into storage clouds:</p>
<h2>Virtual Storage Containers</h2>
<p>The <b>virtual storage containers</b> offer high performance cloud storage systems. <b>Logical Unit Number (LUN)</b> of device, files and other objects are created in virtual storage containers. Following diagram shows a virtual storage container, defining a cloud storage domain:</p>
<h2>Challenges</h2>
<p>Storing the data in cloud is not that simple task. Apart from its flexibility and convenience, it also has several challenges faced by the customers. The customers must be able to:</p>
<p>Get provision for additional storage on-demand.</p>
<p>Know and restrict the physical location of the stored data.</p>
<p>Verify how data was erased.</p>
<p>Have access to a documented process for disposing of data storage hardware.</p>
<p>Have administrator access control over data.</p>
<p>© Copyright 2017. All Rights Reserved.</p>
<title>Cloud Computing Virtualization</title>
<h1>Cloud Computing Virtualization</h1>
<p><b>Virtualization</b> is a technique, which allows to share single physical instance of an application or resource among multiple organizations or tenants (customers). It does so by <b>assigning a logical name</b> to a physical resource and providing a <b>pointer to that physical resource</b> on demand.</p>
<h2>Virtualization Concept</h2>
<p>Creating a virtual machine over existing operating system and hardware is referred as Hardware Virtualization. Virtual Machines provide an environment that is logically separated from the underlying hardware.</p>
<p>The machine on which the virtual machine is created is known as <b>host machine</b> and <b>virtual machine</b> is referred as a <b>guest machine.</b> This virtual machine is managed by a software or firmware, which is known as <b>hypervisor.</b></p>
<h2>Hypervisor</h2>
<p>The <b>hypervisor</b> is a firmware or low-level program that acts as a Virtual Machine Manager. There are two types of hypervisor:</p>
<p><b>Type 1 hypervisor</b> executes on bare system. LynxSecure, RTS Hypervisor, Oracle VM, Sun xVM Server, VirtualLogic VLX are examples of Type 1 hypervisor. The following diagram shows the Type 1 hypervisor.</p>
<p>The <b>type1 hypervisor</b> does not have any host operating system because they are installed on a bare system.</p>
<p><b>Type 2 hypervisor</b> is a software interface that emulates the devices with which a system normally interacts. Containers, KVM, Microsoft Hyper V, VMWare Fusion, Virtual Server 2005 R2, Windows Virtual PC and <b>VMWare workstation 6.0</b> are examples of Type 2 hypervisor. The following diagram shows the Type 2 hypervisor.</p>
<h2>Types of Hardware Virtualization</h2>
<p>Here are the three types of hardware virtualization:</p>
<h3>Full Virtualization</h3>
<p>In <b>full virtualization,</b> the underlying hardware is completely simulated. Guest software does not require any modification to run.</p>
<h3>Emulation Virtualization</h3>
<p>In <b>Emulation,</b> the virtual machine simulates the hardware and hence becomes independent of it. In this, the guest operating system does not require modification.</p>
<h3>Paravirtualization</h3>
<p>In <b>Paravirtualization,</b> the hardware is not simulated. The guest software run their own isolated domains.</p>
<p>VMware vSphere is highly developed infrastructure that offers a management infrastructure framework for virtualization. It virtualizes the system, storage and networking hardware.</p>
<p>© Copyright 2017. All Rights Reserved.</p>
<title>Cloud Computing Security</title>
<h1>Cloud Computing Security</h1>
<p><b>Security</b> in cloud computing is a major concern. Data in cloud should be stored in encrypted form. To restrict client from accessing the shared data directly, proxy and brokerage services should be employed.</p>
<h2>Security Planning</h2>
<p>Before deploying a particular resource to cloud, one should need to analyze several aspects of the resource such as:</p>
<p>Select resource that needs to move to the cloud and analyze its sensitivity to risk.</p>
<p>Consider cloud service models such as <b>IaaS, PaaS,</b> and <b>SaaS.</b> These models require customer to be responsible for security at different levels of service.</p>
<p>Consider the cloud type to be used such as <b>public, private, community</b> or <b>hybrid.</b></p>
<p>Understand the cloud service provider's system about data storage and its transfer into and out of the cloud.</p>
<p>The risk in cloud deployment mainly depends upon the service models and cloud types.</p>
<h2>Understanding Security of Cloud</h2>