Commit 5b8de6e585d60b08d89af5644861d27cd217ecf7

  • avatar
  • Jarkko Laitinen <jlaitinen @gm…l.com> (Committer)
  • Mon Oct 22 19:16:05 EEST 2012
  • avatar
  • Jarkko Laitinen <jlaitinen @gm…l.com> (Author)
  • Mon Oct 22 19:16:05 EEST 2012
  • Tree SHA1: 676e2a3
  • Parent SHA1: 8dc21ec (Finally continued with the writing. Finishing the earlier parts before starting with the API parts.)
  • raw diff | raw patch
Some progress again, tomorrow finish the example. Write the requests and strings to sign.
gradu.bib
(14 / 1)
  
418418@misc{azureinfra,
419419title={Securing the {C}loud {I}nfrastructure},
420420howpublished={\url{http://cdn.globalfoundationservices.com/documents/Strategy_Brief_Securing_Cloud_Infrastructure.pdf}},
421note={Accessed 29.5.2012}}
421note={Accessed 29.5.2012}
422}
423
424@misc{azureblobtype,
425title={Understanding {P}age {B}lobs and {B}lock {B}lobs},
426howpublished={\url{http://msdn.microsoft.com/en-us/library/windowsazure/ee691964.aspx}},
427note={Accessed 22.10.2012}
428}
429
430@misc{amazonmultipart,
431title={Multipart {U}pload {O}verview},
432howpublished={\url{http://docs.amazonwebservices.com/AmazonS3/latest/dev/mpuoverview.html}},
433note={Accessed 22.10.2012}
434}
gradu.pdf
(1457 / 1345)
Binary files differ
gradu.tex
(33 / 0)
  
12091209certain container the following operation specifier is added to the URL: comp=list and the url is http://exampleaccount.blob.core.windows.net/example?comp=list.
12101210In Amazon this would be done with an GET operation on the bucket, and it would need no further specification.
12111211
1212PUT-requests differ from the GET- and HEAD-operations in both services. In Amazon PUT-operation adds Content-Type-header that is the MIME-type of the sent file and
1213Content-Length which is the length of the message without the headers, as specified in RFC 2616 (lähde). Azure on the other hand needs the same Content-Length, but
1214it is needed also in the signature string. Also Azure needs x-ms-blob-type-header which specifies if the file is page blob or block blob. The differences
1215of these two blob types are as follows\cite{azureblobtype}:
1216
1217\begin{itemize}
1218 \item \emph{Page blob}:
1219 \subitem Page blobs are a collection of 512-byte pages optimized for random read and write operations. When creating page blob one needs to specify the maximum
1220 size of the page and also initialize it. When writing to a page blob the user can write over the old page or add to the page by continuing from the end.
1221 The maximum size of as page blob is 1TB.
1222 \item \emph{Block blob}:
1223 \subitem Block blobs are comprised of blocks, each of which is identified by a block-ID. Blocks can be different sizes but the maximum size is 4MB. The maximum
1224 total size for a block blob is 200GB and it cannot contain no more than 50000 blocks. Files larger than 64MB cannot be uploaded in a single PUT-operation.
1225 For larger files the developer needs to chop the file in to pieces and send them one by one. If the file is sent in a one go, the file is uploaded
1226 and the change is committed to Azure. If the file is uploaded in many parts, the developer needs to first upload all of the part using the same operation,
1227 and after that call the Put Block List-request. In the request the developer specifies the changed blobs and thus making the commit to the service. If
1228 the developer does not commit the blobs, the service discards the uncommitted ones in one week.
1229\end{itemize}
1230
1231Amazons service differs from Azure as it does not have two different types of blobs, but it has only one type: object. The size of object can range from
12321 byte to 5TB. The user can upload a object in a one go or in many different parts. When dividing the upload Amazon requires user to take the following
1233steps\cite{amazonmultipart}:
1234
1235\begin{itemize}
1236 \item \emph{Initiation}: The developer initiates the upload, and Amazon returns a unique multipart upload id which is required in each of the requests.
1237 \item \emph{Part upload}: The developer specifies the upload id of the part and also specifies a part number. Part number can be any number between 1 and
1238 10000 and it specifies the position of part in the whole object. If the part number is already used the new upload overrides
1239 the old part.
1240 \item \emph{Completion}: Complete multipart upload request contains the upload id, object metadata if it was not provided in the initiation, the part numbers
1241 uploaded and the corresponding E-Tags of the objects. After the request is sent Amazon constructs the final object from the
1242 parts and the parts "seize" to exist.
1243\end{itemize}
1244
12121245Tommi: voiko tässä jo mainita eroja jotka löytyivät qt-näkökulmasta?
12131246
12141247\chapter{QtCloud-Api}