-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathintro.html
154 lines (114 loc) · 4.04 KB
/
intro.html
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
<!DOCTYPE html>
<html>
<head>
<title>Intro til Azure Blob Storage for Java-utviklere</title>
<meta charset="utf-8">
<style>
@import url(https://fonts.googleapis.com/css?family=Yanone+Kaffeesatz);
@import url(https://fonts.googleapis.com/css?family=Droid+Serif:400,700,400italic);
@import url(https://fonts.googleapis.com/css?family=Ubuntu+Mono:400,700,400italic);
body { font-family: 'Droid Serif'; }
h1, h2, h3 {
font-family: 'Yanone Kaffeesatz';
font-weight: normal;
}
.remark-code, .remark-inline-code { font-family: 'Ubuntu Mono'; }
</style>
</head>
<body>
<textarea id="source">
class: center, middle
# Intro til Azure Blob Storage for Java-utviklere
.footnote[Sven-Jørgen Karlsen]
---
# Agenda
1. Introduksjon
2. Begreper
3. Bruk
3. Autorisering
4. Avanserte egenskaper (preview)
3. Referanser
3. Demo: plain Java-app som snakker med Azure Blob Storage
---
# Introduksjon
* Motivasjon:
* Bruk i Digipost
* Storage...
---
# Hva er Azure Blob Storage?
* Microsofts løsning på "objektlager i skyen"
* Optimalisert for massive mengder ustrukturerte data
* Designet for store objekter/filer
* REST-API med klientbiblioteker i de fleste språk, f.eks:
* Java
* Node.js
* Python
---
# Blob Storage-begreper 1
<img src="http://www.plantuml.com/plantuml/proxy?cache=no&src=https://raw.githubusercontent.com/post-svejk/azure-blob-storage-intro/master/ressurser.puml" alt="Oversikt over Blob Storage-begreper" align="left" height="100%" width="100%" >
---
# Blob Storage-begreper 2
* Storage Account: Blob Stores må tilhøre en konto.
Kontoen fungerer som ett navnerom for data (kontonavnet blir del av API-endepunktet).
* Container: Organiserer blobs, som en filsystemkatalog.
Ubegrenset mengde innefor en konto.
* Blob:
* Block blob: konstruert av blokker, som det er mulig å
håndtere individuelt. Maks. str: 4.75TB (190.7 i preview)
* Append blob: Som block blobs, men optimaliser for append-operasjoner.
Brukes til logging/streaming av data.
* Page blob: Random access files opptil 8 TB.
Ubegrenset antall innenfor en kontainer.
---
# Bruk
* Azure-portalen
* Rest API
* Klientbiblioteker i mange språk, som Java, JS o.s.v.
* CLI: `az`
* `$ az storage account ...`
* `$ az storage container ...`
* `$ as storage blob ...`
* Storage Explorer
* Blobfuse: virtuell fs-driver for Linux, kan montere blob storage i filsystemet.
* `azcopy` og andre batchverktøy
---
# Autorisering
## Alternativer
* Account key (risky, gir root access til kontoen)
* Connection String (endpunkt konkatenert med nøkkel)
* Shared Access Signature (SAS): begrenset tilgang
* User delegation SAS (signert med Azure AD): foretrukket
* Account SAS (singert med account key)
* Azure AD: best praksis, anbefalt av MS
## RBAC-autorisering
Autentisering med en principal (alle bortsett fra account key) krever
RBAC-roller for å få lov til å gjøre noe i Blob Storage.
Roller: Storage Blob Data Contributor|Reader|Delegator
---
# Avanserte egenskaper
* Kryptering: Client-side, client-managed keys, infrastructure
* WORM og "legal hold" policies
* Blob versioning
* Soft delete, for blobs og containere (preview for containere)
* Snapshots
* Change feed
* Point-in-time restore (preview)
* Concurrency: optmistisk (via eTags) og pessimistisk (leases) låsing
* Blob Index (preview)
---
# Referanser
* https://docs.microsoft.com/en-us/azure/storage/blobs/storage-blobs-introduction
* [Quickstart for Java](https://docs.microsoft.com/en-us/azure/storage/blobs/storage-quickstart-blobs-java)
* [Samples for Java](https://docs.microsoft.com/en-us/azure/storage/common/storage-samples-java?toc=/azure/storage/blobs/toc.json)
* https://github.com/Azure/azure-sdk-for-java/tree/master/sdk/storage/azure-storage-blob
---
# Demo
Hopp til `README.md` i samme katalog som denne fila.
</textarea>
<script src="https://remarkjs.com/downloads/remark-latest.min.js">
</script>
<script>
var slideshow = remark.create();
</script>
</body>
</html>