1. MY WORK THUS FARMY WORK THUS FAR
A SUMMER INTERNSHIP STORYA SUMMER INTERNSHIP STORY
Alex Campbell
2. AGENDAAGENDA
THE PATH I'VE TAKENTHE PATH I'VE TAKEN
SWIF T ON FILESWIF T ON FILE
LIBGFAPI VS FUSELIBGFAPI VS FUSE
LESSONS LEARNEDLESSONS LEARNED
WRAPPING UPWRAPPING UP
3. THE PATH I'VE TAKEN..THE PATH I'VE TAKEN..
Automation and Dev Ops
4. SWIFT ON FILESWIFT ON FILE
LIBGFAPILIBGFAPI
THE PATH I'VE TAKEN..THE PATH I'VE TAKEN..
5. THE PATH I'VE TAKEN..THE PATH I'VE TAKEN..
Automation and Dev Ops
REVISITED!
6. THE PATH I'VE TAKEN..THE PATH I'VE TAKEN..
Blogging to learn
7. THE PATH I'VE TAKEN..THE PATH I'VE TAKEN..
++
"Making your node.js app robust using nginx"
8. SWIFT ON FILESWIFT ON FILE
LIBGFAPILIBGFAPI
A L R I G H T, L E T ' S G E T I N TO T H EA L R I G H T, L E T ' S G E T I N TO T H E
ENGIN EERING..ENGIN EERING..
9. SWIFT-ON-FILESWIFT-ON-FILE
Object-server implementation that allows data to
be accessed as both an object (REST) and a file.
SWIFT-ON-FILESWIFT-ON-FILE
H D F S P L U G I NH D F S P L U G I N S W I F TS W I F T
DATADATAPROCESSINGPROCESSING
Implemented as storage policy!
10. SWIFT-ON-FILESWIFT-ON-FILE
H D F S P L U G I NH D F S P L U G I N S W I F TS W I F T
DATADATAPROCESSINGPROCESSING
Decreased run time
MapReduce directly on Files
No waiting for data
Less copying of data
SOF BENEFITSSOF BENEFITS
15. LIBGFAPI VS FUSE:LIBGFAPI VS FUSE:
THE DRAWBACKSTHE DRAWBACKS
---------------------------------------------------------------------
User-space
Kernel-space
APP 2
LIBGFAPI
Network
APP 3
LIBGFAPI
APP 1
LIBGFAPI
Network Network
Memory for inodes needed for every app (duplicate
information).
May make bulk writes perform worse?
|
|
|
|
|
|
|
|
|
|
|
|
|
|
APPS DO NOT SHARE CONTEXT
Cannot share cache or inodes..
16. Could create security holes
Encryption as a remedy?
Networking magic?
LIBGFAPI VS FUSE:LIBGFAPI VS FUSE:
THE DRAWBACKS CONTTHE DRAWBACKS CONT
$ gluster volume set <VOL_NAME> allow-insecure on
volume management
type mgmt/glusterd
option working-directory /var/lib/glusterd
option transport-type socket,rdma
option transport.socket.keepalive-time 10
option transport.socket.keepalive-interval 2
option transport.socket.read-fail-log off
option rpc-auth-allow-insecure on
end-volume
Allow client connections from
unprivileged ports (below 1024)
Set gluster volume to allow insecure ports
17. I S I T W O R T H I T ?I S I T W O R T H I T ?
I think so, but I don't know yet...
Performance testing
How much faster?
18. Probably...
To gluster, swift is just
another app
We'll just have to try it and
find out.
W I L L L I B G FA P I P L AY N I C E LYW I L L L I B G FA P I P L AY N I C E LY
W I T H S W I F T/ S O F ?W I T H S W I F T/ S O F ?
19. L E S S O N S L E A R N E D :L E S S O N S L E A R N E D :
CONTRIBUTIONCONTRIBUTION
$ JOURNALCTL -R$ JOURNALCTL -R
A N D I ' V E L E A R N E D . . .A N D I ' V E L E A R N E D . . .
Finding bugs is contributing
I've been doing a whole lot of this:
20. L E S S O N S L E A R N E D :L E S S O N S L E A R N E D :
KNOWLEDGEKNOWLEDGE
TO LOOK BEFORE YOU LEAP.TO LOOK BEFORE YOU LEAP.
I've spent too many hours breaking things
A N D I ' V E L E A R N E D . . .A N D I ' V E L E A R N E D . . .
21. SO I'VE BEEN JUMPING AROUNDSO I'VE BEEN JUMPING AROUND
LIBGFAPI Python Bindings Integrating SoF with LIBGFAPI
11 22
33
Learning new
tools and ideas