SlideShare a Scribd company logo
Continuous Integration and
Delivery of
Research Applications
Bruce Becker
bbecker@csir.co.za
Coordinator, AAROC
Meraka Institute, CSIR
Fanie Riekert
RiekertSJPK@ufs.ac.za
Senior Systems Engineer
HPC Unit, UFS
Steps towards an Open e-Science Commons
Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za
Outline
●
Compuational Infrastructure: It's a jungle out
there
●
How does research actually get done ? A
reminder of the scientific method in the 3rd and
4th paradigm
●
How do applications get onto an infrastructure ?
●
What are the issues ?
●
What are we doing about it ?
●
What can you do about it ?
Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za3
Functional
Sites
Core Services
6 sites
~2300 CPU cores
~100 TB perm. Storage
~17 permanent staff
Proposed extensions
So, we built this...
Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za4
And others are too
Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za5
Universite'
Gaston
Berger
(Saint-Louis)
Kwame Nkrumah
University of
Science
And Technology
(Kumasi, Ghana)
Nsukka
University
(Nsukka)
http://cds.cern.ch/record/1476
353
220 servers, 30
routers
And others are too
Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za6
And it is part of this
blue: EGI council members and EGI-InSPIRE
partners
green: integrated resource infrastructure providers
purple: peer resource infrastructure providershttp://www.egi.eu/infrastructure/
Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za7
Great, right ?!
Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za
It's (apparently) a jungle out there.
http://en.wikipedia.org/wiki/Jungle_computing
Seinstra, F. J., Maassen, J., van Nieuwpoort, R.~V., et al. 2011,
Grids, Clouds and Virtualization, 167
Jungle Computing: Distributed Supercomputing beyond Clusters, Grids, and Clouds
Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za
Where does your code run ?
●
On your laptop ?
●
Congrats ! Uh oh, you just rand out of X
●
You want to do what !?
●
Local cluster ?
●
hm. different setup... <hack hack>
hey it's working ! … kinda.
●
Permissions, environment,
data staging, etc.
●
CHPC ?
●
There's more than one
●
ALL the Optimisations !!
Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za10
Are you even talking about the
same application ?
●
Apart from performance, are you sure that you
are getting the same results on different
architectures and platforms ?
●
Is it even worth the effort ?
Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za11
The problem
Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za
What users want
Amazing infrastructure
Some users want highly
varied, modular
application selection
Vertically integrated
Highly specialised
applications
Highly trained supportHighly trained support
Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za
What users get sometimes
Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za
Current Methods
Are you a legit
scientist ?
Ok, sounds good
what applications
are you running ?
We can run
almost anything !
Hi, I heard about
AfricaGrid – sounds
grrrrreat ! Can I
Use it ?
I've got beakers
…
And glasses !
Awesome ! Well, first we do some
preprocessing with RaNDo, then we
run a massively parallel pipeline with
XBOT, then blah and blah then blah
blah blah and blah, we also need blah
blah and sometimes our colleagues
from FarAwayU need to access the
data with StrangeProtocolx1, and of
course blah blah, not to mention blah
…..
We'll see
what we
can do
Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za
Actual workflow
●
Find the source code
●
Unpack, ./configure && make … Error 1 missing x.h
●
… hack hack hack … hm. Missing dependencies
●
Recursively* determine the dependencies**
●
*Yes, recursively means curse, curse then curse again.
●
**The actual dependencies, not the ones that were written on the
web page from 5 years ago.
●
… mutter mutter …
●
???? Why are you compiling now !?
Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za
Actual communication
Hey, how's it going ?
you done with my porting yet ?
You done yet ?
You done ?
…. bloody IT people !
Have you actually seen this code ?
I just...
It looks like Cthulhu's beard....
Ok, I got it to compile,
but only with if you
type with your left toes.
AAArrrgh, I'm a scientist,
not an IT people !
Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za
How many applications are there ?
Natural Sciences
Other
Medical and Health Sciences
Support Activities
Engineering and Technology
Agricultural Sciences
Humanities
Social Sciences
http://appdb.egi.eu
Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za
Way too many...
(and these are just the ones we
know about)
Biological sciences
Bioinformatics
Biochemistry and molecular biology
Structural biology
Biophysics
Genetics and heredity
Cell biology
Evolutionary biology
Physical sciences
Astronomy
Astroparticle physics
Astrophysics
High energy physics
Fusion
Plasma physics
Fluid Mechanics
Condensed matter physics
Mathematical physics
Medical physics
Optics
Physics
Acoustics
Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za
There's gotta be a better way
Let's give researchers a
”better deal”
Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za20
• Hypothesis 1:
– It always comes down to an application
• At the end of all first-contact you get a list of applications
that users want
– Let's focus on that, shall we ?
• Hypothesis 2:
– No software is an island
• Everything has dependencies, even if it's just glibc or
libgfortran
– Let's make those explicit, shall we ?
Compuatational Infrastructure
What is it good for ?
Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za21
• Hypothesis 3:
– Applications need an environment
• Compiler ?
• Architecture ?
• Dependencies ?
• Middleware ?
• Etc....
– Let's make those explicit shall we ?
Compuatational Infrastructure
What is it good for ?
Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za22
• Hypothesis 4:
– there is more than one environment.
• Nothing is going to ever be really useful if it can only run in
one place.
• Nobody wants to be forced into a single environment
(grid/HPC/cloud, etc)
– Let's try to simulate as many target environments (sites)
as we can, shall we?
Compuatational Infrastructure
What is it good for ?
Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za23
Compuatational Infrastructure
What is it good for ?
●
Hypothesis 5:
●
Solutions decay
– The solution – as well as the dead ends – are part of the
process.
– If it's not in a version-controlled repository, it's no good.
– If it's not executable (in a wiki/document, etc), then you
have to convert it back into something a computer
understands – why not just leave it in executable format ?
●
Let's recognise that solutions decay and code for the
future, shall we ?
Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za24
Humans need not apply
(for certain tasks)
●
Hypothesis 6:
●
Most of the work of porting and supporting applications
can be automated
– Reduce the load on the user and the operator, by automating
common tasks
●
Let's:
– Integrate the various software, middleware, service and
infrastructure components as far as possible,
– Keep it Open
●
… shall we ?
Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za25
Compuatational Infrastructure
What is it good for ?
●
Hypothesis 6 (Corollary) : You're in the way
Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za26
Compuatational Infrastructure
What is it good for ?
●
Hypothesis 7:
●
This stuff's not hard
– Continuous Integration has been around for a long time
– If it can be done by hand, it can be scripted; if it can be
scripted, it can be automated properly.
●
Let's
– adopt widely-used tools and methodologies, and
– hey, how about we use the web to communciate
(you know, like we do with EVERYTHING else ?)
Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za
Let's work on a better deal...
●
How do we lower the barrier to entry to the grid or
cloud infrastructure ?
●
How can the application expert prove to the resource
provider that the application will actually run on the
execution environment of the site ?
●
How can we manage the lifecycle of applications across
multiple versions, architectures, configurations ?
●
How can we ensure that once applications are ”certified”,
they are actually available on as many sites as possible ?
Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za
Go to Bootcamp
http://software-carpentry.org/bootcamps
Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za29
What are we actually doing ?
●
Put the ball in the developer/community/user's court
●
You tell us how to build your application
●
Provide a simple interface to porting pipeline
●
Provide focussed, goal-oriented support when needed.
●
Communication has a context and is directly linked to the issues at
hand
●
The entry point is open
●
Extensible and reproducible
●
Publish and preserve the entire toolchain
●
It's a real collaboration now – with code !
●
Can we say the big S word ? (not the 4-letter word - SUSTAINABLE)
Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za30
Tools of the Trade (1)
Waffle.io
Project
planning
Slack.com
Team collab
Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za31
Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za32
What's the plan, Stan ?
https://waffle.io/aaroc/devops
Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za
Typical workflow and roles
Testingmatrix
Defines relevant
tests in Jenkins
Writes code to
pass required tests
Dev/Stage env.Application
developer
Infrastructure
expert
Reads description
of execution environment tests
Promote a build
to CVMFS
Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za
My Github brings all the hackers to
the backyard
Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za
Social coding
Identify yourself, create a branch
Jenkins will help you test your code
at every commit
Contribute back, open a pull request
Discuss contrbutions
https://guides.github.com/introduction/flow/index.html
Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za
Get credit for your work
Bruce Becker, Marco Fargetta, pkoro, Pavlos Daoglou, Chris Lee, et al. (2014)
DevOps: AAROC Ansible LDAP role release.
Available:http://dx.doi.org/10.5281/zenodo.11914.
https://github.com/AAROC/DevOps/tree/v0.0.2
DOIDOI 10.5281/zenodo.1023310.5281/zenodo.10233
Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za
Sounds great, show me the details
Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za38
Application porting, testing, integration and deployment workflow
Follow up
with the user
Fail Test
Tests Fail
Invoke Artifact
Tests Pass
Open Issue
on Github
Stage to
Testing Repo
Field Tests
Update Repo
Version
Lock CVMFS
repo
Field Tests Pass
Open Issue
on Github
Field Tests Fail
DeployArtifact
Update Repo
Version
Tag sites
Create
Build Script
Pull Request
Create Jenkins
 Job
Build
if first time
Invoke Test
if build
has passed
Fail Build
Build Fails Build Passes
Follow up
with the user
Fail Test
Tests Fail
Invoke Artifact
Tests Pass
Open Issue
on Github
Stage to
Testing Repo
Update Repo
Version
The new pipeline
Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za39
Public View
Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za40
Authentication / Authorisation
Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za41
Authenticated View
Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za42
Does it work !?
Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za43
Yes, it works.
Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za44
Let's get very explicit
Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za45
Debugging
Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za
cat <<MODULE_FILE
#%Module1.0
## $NAME modulefile
##
proc ModulesHelp { } {
    puts stderr "       This module does nothing but alert the user"
    puts stderr "       that the [module­info name] module is not available"
}
preqreq("gsl","fftw/2.1.5","hdf5")
module­whatis   "$NAME $VERSION."
setenv       GSL_VERSION       $VERSION
setenv       GSL_DIR           /apprepo/$::env(SITE)/$::env(OS)/$::env(ARCH)/$NAME/$VERSION
prepend­path LD_LIBRARY_PATH   $::env(GSL_DIR)/lib
MODULE_FILE
) > modules/$VERSION
cat <<MODULE_FILE
#%Module1.0
## $NAME modulefile
##
proc ModulesHelp { } {
    puts stderr "       This module does nothing but alert the user"
    puts stderr "       that the [module­info name] module is not available"
}
preqreq("gsl","fftw/2.1.5","hdf5")
module­whatis   "$NAME $VERSION."
setenv       GSL_VERSION       $VERSION
setenv       GSL_DIR           /apprepo/$::env(SITE)/$::env(OS)/$::env(ARCH)/$NAME/$VERSION
prepend­path LD_LIBRARY_PATH   $::env(GSL_DIR)/lib
MODULE_FILE
) > modules/$VERSION
Generic build script.
# GADGET requires HDF5 FFTW2 ZLIB and 
openmpi
module add ci
module add fftw/2.1.5
module add hdf5
module add openmpi
module add gsl
# GADGET requires HDF5 FFTW2 ZLIB and 
openmpi
module add ci
module add fftw/2.1.5
module add hdf5
module add openmpi
module add gsl
Set up the
environment
make install DESTDIR=$WORKSPACE/build
mkdir ­p $REPO_DIR
rm ­rf $REPO_DIR/*
tar ­cvzf $REPO_DIR/build.tar.gz ­C 
$WORKSPACE/build apprepo
make install DESTDIR=$WORKSPACE/build
mkdir ­p $REPO_DIR
rm ­rf $REPO_DIR/*
tar ­cvzf $REPO_DIR/build.tar.gz ­C 
$WORKSPACE/build apprepoActually build...
Create the artifact
Create the modulefile
Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za
There's gotta be a better way !
Literate/YAML/Templates...
---
author: Bruce Becker
repo: https://github.com/SAGridOps/SoftwareInstallation
name: GCC
target:
- sites:
- generic
- mpi
- mpi_infiniband
- OS:
- sl6
- u1404
versions:
- 4.6.1
category: compilers
dependencies:
- [ name: mpfr, version: 3.1.2 ]
url: http://gnu.org/path/to/gcc.tar.gz
build_script: build.sh
Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za48
Last Bit: Delivery
Executable Artifacts
go here
Every site can
mount
the CVMFS
repo
Even your
laptop...
Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za49
Sound Familiar ?
Executable Artifacts
go here
This will take a lot of
work, but there's a
huge community
behind the tools.
Deploy into linux
containers
Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za50
Do you even remember the title of
this talk ?
EVERYTHING
=
CODE
Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za51
What if we could automate
infrastructure execution too ?
●
We can and are, but there's no time to get into that right
now.
●
It's a jungle out there – but we know most of the animals.
●
Configuration and integration are the main issues.
●
Turn it into … a zoo ? (kinda)
●
See https://github.com/AAROC/DevOps
●
Yes, we need help
Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za52
Summary
●
Making the best use of computational infrastructure comes
down to running applications
●
Maintaining and porting them is hard and tricky.
Communication is the hardest part.
●
We've built an automated porting system, which
●
will deliver functional, tested, relevant software to your site.
●
Can ease the communication blocks in collaborative work
●
Oh and it works :)
●
Come on in and help us build it.
We want an Open e-Science Commons
Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za53
What can you do ?
● Join the orgs on Github
● Propose applications
● Fork, branch, pull request.
● Help develop the workflow
● Tell your friends
Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za54
Thanks !
●
Join the organisations:
●
http://github.com/AAROC/
●
http://github.com/SAGridOps
●
Let's talk : http://aaroc.github.com/
●
https://ciari.slack.com/ (ask for an invite)
●
@TheSAGrid
●
@brusisceddu
●
fb.com/SAGrid

More Related Content

Similar to Continuous Integration and Delivery of Research Applications

Boston Data Engineering: Kedro Python Framework for Data Science: Overview an...
Boston Data Engineering: Kedro Python Framework for Data Science: Overview an...Boston Data Engineering: Kedro Python Framework for Data Science: Overview an...
Boston Data Engineering: Kedro Python Framework for Data Science: Overview an...
Boston Data Engineering
 
Workshop - Architecting Innovative Graph Applications- GraphSummit Milan
Workshop -  Architecting Innovative Graph Applications- GraphSummit MilanWorkshop -  Architecting Innovative Graph Applications- GraphSummit Milan
Workshop - Architecting Innovative Graph Applications- GraphSummit Milan
Neo4j
 
Agular in a microservices world
Agular in a microservices worldAgular in a microservices world
Agular in a microservices world
Brecht Billiet
 
"Technical" UX Design
"Technical" UX Design"Technical" UX Design
"Technical" UX Design
Skot Carruth
 
infoSeS 2021-22
infoSeS 2021-22infoSeS 2021-22
infoSeS 2021-22
KshitijAgrawal32
 
Architecture in action 01
Architecture in action 01Architecture in action 01
Architecture in action 01
Krishna Sankar
 
Tools and best practices for sustainable software
Tools and best practices for sustainable softwareTools and best practices for sustainable software
Tools and best practices for sustainable software
Green Software Development
 
Tools and best practices for sustainable software.pdf
Tools and best practices for sustainable software.pdfTools and best practices for sustainable software.pdf
Tools and best practices for sustainable software.pdf
GeorgMolz
 
Tools and best practices for sustainable software.pdf
Tools and best practices for sustainable software.pdfTools and best practices for sustainable software.pdf
Tools and best practices for sustainable software.pdf
GeorgMolz
 
Industrial training report
Industrial training report Industrial training report
Industrial training report
Priyanshu
 
What Architecture Taught Me About Information Architecture (and UX)
What Architecture Taught Me About Information Architecture (and UX)What Architecture Taught Me About Information Architecture (and UX)
What Architecture Taught Me About Information Architecture (and UX)
Nam-ho Park
 
Creating An Incremental Architecture For Your System
Creating An Incremental Architecture For Your SystemCreating An Incremental Architecture For Your System
Creating An Incremental Architecture For Your System
Giovanni Asproni
 
Do UX designers have a role in reducing digital waste?
Do UX designers have a role in reducing digital waste?Do UX designers have a role in reducing digital waste?
Do UX designers have a role in reducing digital waste?
User Vision
 
Taming Cloud Sprawl - XConf Europe 2023 - Kief.pdf
Taming Cloud Sprawl - XConf Europe 2023 - Kief.pdfTaming Cloud Sprawl - XConf Europe 2023 - Kief.pdf
Taming Cloud Sprawl - XConf Europe 2023 - Kief.pdf
Kief Morris
 
Agile Architecture (MAE slides)
Agile Architecture (MAE slides)Agile Architecture (MAE slides)
Agile Architecture (MAE slides)
Richard Green
 
Web based interactive big data visualization
Web based interactive big data visualizationWeb based interactive big data visualization
Web based interactive big data visualization
Wenli Zhang
 
Can crusher file by Rohit Dhiman
Can crusher file by Rohit DhimanCan crusher file by Rohit Dhiman
Can crusher file by Rohit Dhiman
ROHIT DHIMAN
 
GDSC Info Session PPT.pptx
GDSC Info Session PPT.pptxGDSC Info Session PPT.pptx
GDSC Info Session PPT.pptx
49ShrawaniWagh
 
GDSC Final PPT.pptx
GDSC Final PPT.pptxGDSC Final PPT.pptx
GDSC Final PPT.pptx
GDSCBITW1
 

Similar to Continuous Integration and Delivery of Research Applications (20)

Boston Data Engineering: Kedro Python Framework for Data Science: Overview an...
Boston Data Engineering: Kedro Python Framework for Data Science: Overview an...Boston Data Engineering: Kedro Python Framework for Data Science: Overview an...
Boston Data Engineering: Kedro Python Framework for Data Science: Overview an...
 
Workshop - Architecting Innovative Graph Applications- GraphSummit Milan
Workshop -  Architecting Innovative Graph Applications- GraphSummit MilanWorkshop -  Architecting Innovative Graph Applications- GraphSummit Milan
Workshop - Architecting Innovative Graph Applications- GraphSummit Milan
 
Agular in a microservices world
Agular in a microservices worldAgular in a microservices world
Agular in a microservices world
 
"Technical" UX Design
"Technical" UX Design"Technical" UX Design
"Technical" UX Design
 
Prashant
PrashantPrashant
Prashant
 
infoSeS 2021-22
infoSeS 2021-22infoSeS 2021-22
infoSeS 2021-22
 
Architecture in action 01
Architecture in action 01Architecture in action 01
Architecture in action 01
 
Tools and best practices for sustainable software
Tools and best practices for sustainable softwareTools and best practices for sustainable software
Tools and best practices for sustainable software
 
Tools and best practices for sustainable software.pdf
Tools and best practices for sustainable software.pdfTools and best practices for sustainable software.pdf
Tools and best practices for sustainable software.pdf
 
Tools and best practices for sustainable software.pdf
Tools and best practices for sustainable software.pdfTools and best practices for sustainable software.pdf
Tools and best practices for sustainable software.pdf
 
Industrial training report
Industrial training report Industrial training report
Industrial training report
 
What Architecture Taught Me About Information Architecture (and UX)
What Architecture Taught Me About Information Architecture (and UX)What Architecture Taught Me About Information Architecture (and UX)
What Architecture Taught Me About Information Architecture (and UX)
 
Creating An Incremental Architecture For Your System
Creating An Incremental Architecture For Your SystemCreating An Incremental Architecture For Your System
Creating An Incremental Architecture For Your System
 
Do UX designers have a role in reducing digital waste?
Do UX designers have a role in reducing digital waste?Do UX designers have a role in reducing digital waste?
Do UX designers have a role in reducing digital waste?
 
Taming Cloud Sprawl - XConf Europe 2023 - Kief.pdf
Taming Cloud Sprawl - XConf Europe 2023 - Kief.pdfTaming Cloud Sprawl - XConf Europe 2023 - Kief.pdf
Taming Cloud Sprawl - XConf Europe 2023 - Kief.pdf
 
Agile Architecture (MAE slides)
Agile Architecture (MAE slides)Agile Architecture (MAE slides)
Agile Architecture (MAE slides)
 
Web based interactive big data visualization
Web based interactive big data visualizationWeb based interactive big data visualization
Web based interactive big data visualization
 
Can crusher file by Rohit Dhiman
Can crusher file by Rohit DhimanCan crusher file by Rohit Dhiman
Can crusher file by Rohit Dhiman
 
GDSC Info Session PPT.pptx
GDSC Info Session PPT.pptxGDSC Info Session PPT.pptx
GDSC Info Session PPT.pptx
 
GDSC Final PPT.pptx
GDSC Final PPT.pptxGDSC Final PPT.pptx
GDSC Final PPT.pptx
 

More from Bruce Becker

Trusted Configurations for e-Infrastructure Deployment
Trusted Configurations for e-Infrastructure DeploymentTrusted Configurations for e-Infrastructure Deployment
Trusted Configurations for e-Infrastructure Deployment
Bruce Becker
 
Now you can cite APHRC's data sets (CHAIN-REDS)
Now you can cite APHRC's data sets (CHAIN-REDS)Now you can cite APHRC's data sets (CHAIN-REDS)
Now you can cite APHRC's data sets (CHAIN-REDS)
Bruce Becker
 
Gadget2 Science Gateway Development
Gadget2 Science Gateway DevelopmentGadget2 Science Gateway Development
Gadget2 Science Gateway Development
Bruce Becker
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
Bruce Becker
 
Sa grid application inventory 36
Sa grid application inventory 36Sa grid application inventory 36
Sa grid application inventory 36Bruce Becker
 
Paerip chain-becker-10-11-2011
Paerip chain-becker-10-11-2011Paerip chain-becker-10-11-2011
Paerip chain-becker-10-11-2011Bruce Becker
 

More from Bruce Becker (6)

Trusted Configurations for e-Infrastructure Deployment
Trusted Configurations for e-Infrastructure DeploymentTrusted Configurations for e-Infrastructure Deployment
Trusted Configurations for e-Infrastructure Deployment
 
Now you can cite APHRC's data sets (CHAIN-REDS)
Now you can cite APHRC's data sets (CHAIN-REDS)Now you can cite APHRC's data sets (CHAIN-REDS)
Now you can cite APHRC's data sets (CHAIN-REDS)
 
Gadget2 Science Gateway Development
Gadget2 Science Gateway DevelopmentGadget2 Science Gateway Development
Gadget2 Science Gateway Development
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
Sa grid application inventory 36
Sa grid application inventory 36Sa grid application inventory 36
Sa grid application inventory 36
 
Paerip chain-becker-10-11-2011
Paerip chain-becker-10-11-2011Paerip chain-becker-10-11-2011
Paerip chain-becker-10-11-2011
 

Recently uploaded

Deep Behavioral Phenotyping in Systems Neuroscience for Functional Atlasing a...
Deep Behavioral Phenotyping in Systems Neuroscience for Functional Atlasing a...Deep Behavioral Phenotyping in Systems Neuroscience for Functional Atlasing a...
Deep Behavioral Phenotyping in Systems Neuroscience for Functional Atlasing a...
Ana Luísa Pinho
 
The use of Nauplii and metanauplii artemia in aquaculture (brine shrimp).pptx
The use of Nauplii and metanauplii artemia in aquaculture (brine shrimp).pptxThe use of Nauplii and metanauplii artemia in aquaculture (brine shrimp).pptx
The use of Nauplii and metanauplii artemia in aquaculture (brine shrimp).pptx
MAGOTI ERNEST
 
What is greenhouse gasses and how many gasses are there to affect the Earth.
What is greenhouse gasses and how many gasses are there to affect the Earth.What is greenhouse gasses and how many gasses are there to affect the Earth.
What is greenhouse gasses and how many gasses are there to affect the Earth.
moosaasad1975
 
THEMATIC APPERCEPTION TEST(TAT) cognitive abilities, creativity, and critic...
THEMATIC  APPERCEPTION  TEST(TAT) cognitive abilities, creativity, and critic...THEMATIC  APPERCEPTION  TEST(TAT) cognitive abilities, creativity, and critic...
THEMATIC APPERCEPTION TEST(TAT) cognitive abilities, creativity, and critic...
Abdul Wali Khan University Mardan,kP,Pakistan
 
Seminar of U.V. Spectroscopy by SAMIR PANDA
 Seminar of U.V. Spectroscopy by SAMIR PANDA Seminar of U.V. Spectroscopy by SAMIR PANDA
Seminar of U.V. Spectroscopy by SAMIR PANDA
SAMIR PANDA
 
Richard's aventures in two entangled wonderlands
Richard's aventures in two entangled wonderlandsRichard's aventures in two entangled wonderlands
Richard's aventures in two entangled wonderlands
Richard Gill
 
Toxic effects of heavy metals : Lead and Arsenic
Toxic effects of heavy metals : Lead and ArsenicToxic effects of heavy metals : Lead and Arsenic
Toxic effects of heavy metals : Lead and Arsenic
sanjana502982
 
Lateral Ventricles.pdf very easy good diagrams comprehensive
Lateral Ventricles.pdf very easy good diagrams comprehensiveLateral Ventricles.pdf very easy good diagrams comprehensive
Lateral Ventricles.pdf very easy good diagrams comprehensive
silvermistyshot
 
Anemia_ types_clinical significance.pptx
Anemia_ types_clinical significance.pptxAnemia_ types_clinical significance.pptx
Anemia_ types_clinical significance.pptx
muralinath2
 
Mudde & Rovira Kaltwasser. - Populism - a very short introduction [2017].pdf
Mudde & Rovira Kaltwasser. - Populism - a very short introduction [2017].pdfMudde & Rovira Kaltwasser. - Populism - a very short introduction [2017].pdf
Mudde & Rovira Kaltwasser. - Populism - a very short introduction [2017].pdf
frank0071
 
原版制作(carleton毕业证书)卡尔顿大学毕业证硕士文凭原版一模一样
原版制作(carleton毕业证书)卡尔顿大学毕业证硕士文凭原版一模一样原版制作(carleton毕业证书)卡尔顿大学毕业证硕士文凭原版一模一样
原版制作(carleton毕业证书)卡尔顿大学毕业证硕士文凭原版一模一样
yqqaatn0
 
3D Hybrid PIC simulation of the plasma expansion (ISSS-14)
3D Hybrid PIC simulation of the plasma expansion (ISSS-14)3D Hybrid PIC simulation of the plasma expansion (ISSS-14)
3D Hybrid PIC simulation of the plasma expansion (ISSS-14)
David Osipyan
 
Phenomics assisted breeding in crop improvement
Phenomics assisted breeding in crop improvementPhenomics assisted breeding in crop improvement
Phenomics assisted breeding in crop improvement
IshaGoswami9
 
Nutraceutical market, scope and growth: Herbal drug technology
Nutraceutical market, scope and growth: Herbal drug technologyNutraceutical market, scope and growth: Herbal drug technology
Nutraceutical market, scope and growth: Herbal drug technology
Lokesh Patil
 
ANAMOLOUS SECONDARY GROWTH IN DICOT ROOTS.pptx
ANAMOLOUS SECONDARY GROWTH IN DICOT ROOTS.pptxANAMOLOUS SECONDARY GROWTH IN DICOT ROOTS.pptx
ANAMOLOUS SECONDARY GROWTH IN DICOT ROOTS.pptx
RASHMI M G
 
Unveiling the Energy Potential of Marshmallow Deposits.pdf
Unveiling the Energy Potential of Marshmallow Deposits.pdfUnveiling the Energy Potential of Marshmallow Deposits.pdf
Unveiling the Energy Potential of Marshmallow Deposits.pdf
Erdal Coalmaker
 
Nucleic Acid-its structural and functional complexity.
Nucleic Acid-its structural and functional complexity.Nucleic Acid-its structural and functional complexity.
Nucleic Acid-its structural and functional complexity.
Nistarini College, Purulia (W.B) India
 
如何办理(uvic毕业证书)维多利亚大学毕业证本科学位证书原版一模一样
如何办理(uvic毕业证书)维多利亚大学毕业证本科学位证书原版一模一样如何办理(uvic毕业证书)维多利亚大学毕业证本科学位证书原版一模一样
如何办理(uvic毕业证书)维多利亚大学毕业证本科学位证书原版一模一样
yqqaatn0
 
Topic: SICKLE CELL DISEASE IN CHILDREN-3.pdf
Topic: SICKLE CELL DISEASE IN CHILDREN-3.pdfTopic: SICKLE CELL DISEASE IN CHILDREN-3.pdf
Topic: SICKLE CELL DISEASE IN CHILDREN-3.pdf
TinyAnderson
 
Oedema_types_causes_pathophysiology.pptx
Oedema_types_causes_pathophysiology.pptxOedema_types_causes_pathophysiology.pptx
Oedema_types_causes_pathophysiology.pptx
muralinath2
 

Recently uploaded (20)

Deep Behavioral Phenotyping in Systems Neuroscience for Functional Atlasing a...
Deep Behavioral Phenotyping in Systems Neuroscience for Functional Atlasing a...Deep Behavioral Phenotyping in Systems Neuroscience for Functional Atlasing a...
Deep Behavioral Phenotyping in Systems Neuroscience for Functional Atlasing a...
 
The use of Nauplii and metanauplii artemia in aquaculture (brine shrimp).pptx
The use of Nauplii and metanauplii artemia in aquaculture (brine shrimp).pptxThe use of Nauplii and metanauplii artemia in aquaculture (brine shrimp).pptx
The use of Nauplii and metanauplii artemia in aquaculture (brine shrimp).pptx
 
What is greenhouse gasses and how many gasses are there to affect the Earth.
What is greenhouse gasses and how many gasses are there to affect the Earth.What is greenhouse gasses and how many gasses are there to affect the Earth.
What is greenhouse gasses and how many gasses are there to affect the Earth.
 
THEMATIC APPERCEPTION TEST(TAT) cognitive abilities, creativity, and critic...
THEMATIC  APPERCEPTION  TEST(TAT) cognitive abilities, creativity, and critic...THEMATIC  APPERCEPTION  TEST(TAT) cognitive abilities, creativity, and critic...
THEMATIC APPERCEPTION TEST(TAT) cognitive abilities, creativity, and critic...
 
Seminar of U.V. Spectroscopy by SAMIR PANDA
 Seminar of U.V. Spectroscopy by SAMIR PANDA Seminar of U.V. Spectroscopy by SAMIR PANDA
Seminar of U.V. Spectroscopy by SAMIR PANDA
 
Richard's aventures in two entangled wonderlands
Richard's aventures in two entangled wonderlandsRichard's aventures in two entangled wonderlands
Richard's aventures in two entangled wonderlands
 
Toxic effects of heavy metals : Lead and Arsenic
Toxic effects of heavy metals : Lead and ArsenicToxic effects of heavy metals : Lead and Arsenic
Toxic effects of heavy metals : Lead and Arsenic
 
Lateral Ventricles.pdf very easy good diagrams comprehensive
Lateral Ventricles.pdf very easy good diagrams comprehensiveLateral Ventricles.pdf very easy good diagrams comprehensive
Lateral Ventricles.pdf very easy good diagrams comprehensive
 
Anemia_ types_clinical significance.pptx
Anemia_ types_clinical significance.pptxAnemia_ types_clinical significance.pptx
Anemia_ types_clinical significance.pptx
 
Mudde & Rovira Kaltwasser. - Populism - a very short introduction [2017].pdf
Mudde & Rovira Kaltwasser. - Populism - a very short introduction [2017].pdfMudde & Rovira Kaltwasser. - Populism - a very short introduction [2017].pdf
Mudde & Rovira Kaltwasser. - Populism - a very short introduction [2017].pdf
 
原版制作(carleton毕业证书)卡尔顿大学毕业证硕士文凭原版一模一样
原版制作(carleton毕业证书)卡尔顿大学毕业证硕士文凭原版一模一样原版制作(carleton毕业证书)卡尔顿大学毕业证硕士文凭原版一模一样
原版制作(carleton毕业证书)卡尔顿大学毕业证硕士文凭原版一模一样
 
3D Hybrid PIC simulation of the plasma expansion (ISSS-14)
3D Hybrid PIC simulation of the plasma expansion (ISSS-14)3D Hybrid PIC simulation of the plasma expansion (ISSS-14)
3D Hybrid PIC simulation of the plasma expansion (ISSS-14)
 
Phenomics assisted breeding in crop improvement
Phenomics assisted breeding in crop improvementPhenomics assisted breeding in crop improvement
Phenomics assisted breeding in crop improvement
 
Nutraceutical market, scope and growth: Herbal drug technology
Nutraceutical market, scope and growth: Herbal drug technologyNutraceutical market, scope and growth: Herbal drug technology
Nutraceutical market, scope and growth: Herbal drug technology
 
ANAMOLOUS SECONDARY GROWTH IN DICOT ROOTS.pptx
ANAMOLOUS SECONDARY GROWTH IN DICOT ROOTS.pptxANAMOLOUS SECONDARY GROWTH IN DICOT ROOTS.pptx
ANAMOLOUS SECONDARY GROWTH IN DICOT ROOTS.pptx
 
Unveiling the Energy Potential of Marshmallow Deposits.pdf
Unveiling the Energy Potential of Marshmallow Deposits.pdfUnveiling the Energy Potential of Marshmallow Deposits.pdf
Unveiling the Energy Potential of Marshmallow Deposits.pdf
 
Nucleic Acid-its structural and functional complexity.
Nucleic Acid-its structural and functional complexity.Nucleic Acid-its structural and functional complexity.
Nucleic Acid-its structural and functional complexity.
 
如何办理(uvic毕业证书)维多利亚大学毕业证本科学位证书原版一模一样
如何办理(uvic毕业证书)维多利亚大学毕业证本科学位证书原版一模一样如何办理(uvic毕业证书)维多利亚大学毕业证本科学位证书原版一模一样
如何办理(uvic毕业证书)维多利亚大学毕业证本科学位证书原版一模一样
 
Topic: SICKLE CELL DISEASE IN CHILDREN-3.pdf
Topic: SICKLE CELL DISEASE IN CHILDREN-3.pdfTopic: SICKLE CELL DISEASE IN CHILDREN-3.pdf
Topic: SICKLE CELL DISEASE IN CHILDREN-3.pdf
 
Oedema_types_causes_pathophysiology.pptx
Oedema_types_causes_pathophysiology.pptxOedema_types_causes_pathophysiology.pptx
Oedema_types_causes_pathophysiology.pptx
 

Continuous Integration and Delivery of Research Applications

  • 1. Continuous Integration and Delivery of Research Applications Bruce Becker bbecker@csir.co.za Coordinator, AAROC Meraka Institute, CSIR Fanie Riekert RiekertSJPK@ufs.ac.za Senior Systems Engineer HPC Unit, UFS Steps towards an Open e-Science Commons
  • 2. Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za Outline ● Compuational Infrastructure: It's a jungle out there ● How does research actually get done ? A reminder of the scientific method in the 3rd and 4th paradigm ● How do applications get onto an infrastructure ? ● What are the issues ? ● What are we doing about it ? ● What can you do about it ?
  • 3. Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za3 Functional Sites Core Services 6 sites ~2300 CPU cores ~100 TB perm. Storage ~17 permanent staff Proposed extensions So, we built this...
  • 4. Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za4 And others are too
  • 5. Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za5 Universite' Gaston Berger (Saint-Louis) Kwame Nkrumah University of Science And Technology (Kumasi, Ghana) Nsukka University (Nsukka) http://cds.cern.ch/record/1476 353 220 servers, 30 routers And others are too
  • 6. Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za6 And it is part of this blue: EGI council members and EGI-InSPIRE partners green: integrated resource infrastructure providers purple: peer resource infrastructure providershttp://www.egi.eu/infrastructure/
  • 7. Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za7 Great, right ?!
  • 8. Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za It's (apparently) a jungle out there. http://en.wikipedia.org/wiki/Jungle_computing Seinstra, F. J., Maassen, J., van Nieuwpoort, R.~V., et al. 2011, Grids, Clouds and Virtualization, 167 Jungle Computing: Distributed Supercomputing beyond Clusters, Grids, and Clouds
  • 9. Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za Where does your code run ? ● On your laptop ? ● Congrats ! Uh oh, you just rand out of X ● You want to do what !? ● Local cluster ? ● hm. different setup... <hack hack> hey it's working ! … kinda. ● Permissions, environment, data staging, etc. ● CHPC ? ● There's more than one ● ALL the Optimisations !!
  • 10. Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za10 Are you even talking about the same application ? ● Apart from performance, are you sure that you are getting the same results on different architectures and platforms ? ● Is it even worth the effort ?
  • 11. Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za11 The problem
  • 12. Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za What users want Amazing infrastructure Some users want highly varied, modular application selection Vertically integrated Highly specialised applications Highly trained supportHighly trained support
  • 13. Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za What users get sometimes
  • 14. Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za Current Methods Are you a legit scientist ? Ok, sounds good what applications are you running ? We can run almost anything ! Hi, I heard about AfricaGrid – sounds grrrrreat ! Can I Use it ? I've got beakers … And glasses ! Awesome ! Well, first we do some preprocessing with RaNDo, then we run a massively parallel pipeline with XBOT, then blah and blah then blah blah blah and blah, we also need blah blah and sometimes our colleagues from FarAwayU need to access the data with StrangeProtocolx1, and of course blah blah, not to mention blah ….. We'll see what we can do
  • 15. Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za Actual workflow ● Find the source code ● Unpack, ./configure && make … Error 1 missing x.h ● … hack hack hack … hm. Missing dependencies ● Recursively* determine the dependencies** ● *Yes, recursively means curse, curse then curse again. ● **The actual dependencies, not the ones that were written on the web page from 5 years ago. ● … mutter mutter … ● ???? Why are you compiling now !?
  • 16. Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za Actual communication Hey, how's it going ? you done with my porting yet ? You done yet ? You done ? …. bloody IT people ! Have you actually seen this code ? I just... It looks like Cthulhu's beard.... Ok, I got it to compile, but only with if you type with your left toes. AAArrrgh, I'm a scientist, not an IT people !
  • 17. Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za How many applications are there ? Natural Sciences Other Medical and Health Sciences Support Activities Engineering and Technology Agricultural Sciences Humanities Social Sciences http://appdb.egi.eu
  • 18. Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za Way too many... (and these are just the ones we know about) Biological sciences Bioinformatics Biochemistry and molecular biology Structural biology Biophysics Genetics and heredity Cell biology Evolutionary biology Physical sciences Astronomy Astroparticle physics Astrophysics High energy physics Fusion Plasma physics Fluid Mechanics Condensed matter physics Mathematical physics Medical physics Optics Physics Acoustics
  • 19. Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za There's gotta be a better way Let's give researchers a ”better deal”
  • 20. Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za20 • Hypothesis 1: – It always comes down to an application • At the end of all first-contact you get a list of applications that users want – Let's focus on that, shall we ? • Hypothesis 2: – No software is an island • Everything has dependencies, even if it's just glibc or libgfortran – Let's make those explicit, shall we ? Compuatational Infrastructure What is it good for ?
  • 21. Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za21 • Hypothesis 3: – Applications need an environment • Compiler ? • Architecture ? • Dependencies ? • Middleware ? • Etc.... – Let's make those explicit shall we ? Compuatational Infrastructure What is it good for ?
  • 22. Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za22 • Hypothesis 4: – there is more than one environment. • Nothing is going to ever be really useful if it can only run in one place. • Nobody wants to be forced into a single environment (grid/HPC/cloud, etc) – Let's try to simulate as many target environments (sites) as we can, shall we? Compuatational Infrastructure What is it good for ?
  • 23. Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za23 Compuatational Infrastructure What is it good for ? ● Hypothesis 5: ● Solutions decay – The solution – as well as the dead ends – are part of the process. – If it's not in a version-controlled repository, it's no good. – If it's not executable (in a wiki/document, etc), then you have to convert it back into something a computer understands – why not just leave it in executable format ? ● Let's recognise that solutions decay and code for the future, shall we ?
  • 24. Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za24 Humans need not apply (for certain tasks) ● Hypothesis 6: ● Most of the work of porting and supporting applications can be automated – Reduce the load on the user and the operator, by automating common tasks ● Let's: – Integrate the various software, middleware, service and infrastructure components as far as possible, – Keep it Open ● … shall we ?
  • 25. Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za25 Compuatational Infrastructure What is it good for ? ● Hypothesis 6 (Corollary) : You're in the way
  • 26. Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za26 Compuatational Infrastructure What is it good for ? ● Hypothesis 7: ● This stuff's not hard – Continuous Integration has been around for a long time – If it can be done by hand, it can be scripted; if it can be scripted, it can be automated properly. ● Let's – adopt widely-used tools and methodologies, and – hey, how about we use the web to communciate (you know, like we do with EVERYTHING else ?)
  • 27. Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za Let's work on a better deal... ● How do we lower the barrier to entry to the grid or cloud infrastructure ? ● How can the application expert prove to the resource provider that the application will actually run on the execution environment of the site ? ● How can we manage the lifecycle of applications across multiple versions, architectures, configurations ? ● How can we ensure that once applications are ”certified”, they are actually available on as many sites as possible ?
  • 28. Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za Go to Bootcamp http://software-carpentry.org/bootcamps
  • 29. Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za29 What are we actually doing ? ● Put the ball in the developer/community/user's court ● You tell us how to build your application ● Provide a simple interface to porting pipeline ● Provide focussed, goal-oriented support when needed. ● Communication has a context and is directly linked to the issues at hand ● The entry point is open ● Extensible and reproducible ● Publish and preserve the entire toolchain ● It's a real collaboration now – with code ! ● Can we say the big S word ? (not the 4-letter word - SUSTAINABLE)
  • 30. Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za30 Tools of the Trade (1) Waffle.io Project planning Slack.com Team collab
  • 31. Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za31
  • 32. Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za32 What's the plan, Stan ? https://waffle.io/aaroc/devops
  • 33. Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za Typical workflow and roles Testingmatrix Defines relevant tests in Jenkins Writes code to pass required tests Dev/Stage env.Application developer Infrastructure expert Reads description of execution environment tests Promote a build to CVMFS
  • 34. Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za My Github brings all the hackers to the backyard
  • 35. Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za Social coding Identify yourself, create a branch Jenkins will help you test your code at every commit Contribute back, open a pull request Discuss contrbutions https://guides.github.com/introduction/flow/index.html
  • 36. Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za Get credit for your work Bruce Becker, Marco Fargetta, pkoro, Pavlos Daoglou, Chris Lee, et al. (2014) DevOps: AAROC Ansible LDAP role release. Available:http://dx.doi.org/10.5281/zenodo.11914. https://github.com/AAROC/DevOps/tree/v0.0.2 DOIDOI 10.5281/zenodo.1023310.5281/zenodo.10233
  • 37. Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za Sounds great, show me the details
  • 38. Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za38 Application porting, testing, integration and deployment workflow Follow up with the user Fail Test Tests Fail Invoke Artifact Tests Pass Open Issue on Github Stage to Testing Repo Field Tests Update Repo Version Lock CVMFS repo Field Tests Pass Open Issue on Github Field Tests Fail DeployArtifact Update Repo Version Tag sites Create Build Script Pull Request Create Jenkins  Job Build if first time Invoke Test if build has passed Fail Build Build Fails Build Passes Follow up with the user Fail Test Tests Fail Invoke Artifact Tests Pass Open Issue on Github Stage to Testing Repo Update Repo Version The new pipeline
  • 39. Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za39 Public View
  • 40. Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za40 Authentication / Authorisation
  • 41. Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za41 Authenticated View
  • 42. Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za42 Does it work !?
  • 43. Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za43 Yes, it works.
  • 44. Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za44 Let's get very explicit
  • 45. Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za45 Debugging
  • 46. Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za cat <<MODULE_FILE #%Module1.0 ## $NAME modulefile ## proc ModulesHelp { } {     puts stderr "       This module does nothing but alert the user"     puts stderr "       that the [module­info name] module is not available" } preqreq("gsl","fftw/2.1.5","hdf5") module­whatis   "$NAME $VERSION." setenv       GSL_VERSION       $VERSION setenv       GSL_DIR           /apprepo/$::env(SITE)/$::env(OS)/$::env(ARCH)/$NAME/$VERSION prepend­path LD_LIBRARY_PATH   $::env(GSL_DIR)/lib MODULE_FILE ) > modules/$VERSION cat <<MODULE_FILE #%Module1.0 ## $NAME modulefile ## proc ModulesHelp { } {     puts stderr "       This module does nothing but alert the user"     puts stderr "       that the [module­info name] module is not available" } preqreq("gsl","fftw/2.1.5","hdf5") module­whatis   "$NAME $VERSION." setenv       GSL_VERSION       $VERSION setenv       GSL_DIR           /apprepo/$::env(SITE)/$::env(OS)/$::env(ARCH)/$NAME/$VERSION prepend­path LD_LIBRARY_PATH   $::env(GSL_DIR)/lib MODULE_FILE ) > modules/$VERSION Generic build script. # GADGET requires HDF5 FFTW2 ZLIB and  openmpi module add ci module add fftw/2.1.5 module add hdf5 module add openmpi module add gsl # GADGET requires HDF5 FFTW2 ZLIB and  openmpi module add ci module add fftw/2.1.5 module add hdf5 module add openmpi module add gsl Set up the environment make install DESTDIR=$WORKSPACE/build mkdir ­p $REPO_DIR rm ­rf $REPO_DIR/* tar ­cvzf $REPO_DIR/build.tar.gz ­C  $WORKSPACE/build apprepo make install DESTDIR=$WORKSPACE/build mkdir ­p $REPO_DIR rm ­rf $REPO_DIR/* tar ­cvzf $REPO_DIR/build.tar.gz ­C  $WORKSPACE/build apprepoActually build... Create the artifact Create the modulefile
  • 47. Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za There's gotta be a better way ! Literate/YAML/Templates... --- author: Bruce Becker repo: https://github.com/SAGridOps/SoftwareInstallation name: GCC target: - sites: - generic - mpi - mpi_infiniband - OS: - sl6 - u1404 versions: - 4.6.1 category: compilers dependencies: - [ name: mpfr, version: 3.1.2 ] url: http://gnu.org/path/to/gcc.tar.gz build_script: build.sh
  • 48. Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za48 Last Bit: Delivery Executable Artifacts go here Every site can mount the CVMFS repo Even your laptop...
  • 49. Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za49 Sound Familiar ? Executable Artifacts go here This will take a lot of work, but there's a huge community behind the tools. Deploy into linux containers
  • 50. Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za50 Do you even remember the title of this talk ? EVERYTHING = CODE
  • 51. Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za51 What if we could automate infrastructure execution too ? ● We can and are, but there's no time to get into that right now. ● It's a jungle out there – but we know most of the animals. ● Configuration and integration are the main issues. ● Turn it into … a zoo ? (kinda) ● See https://github.com/AAROC/DevOps ● Yes, we need help
  • 52. Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za52 Summary ● Making the best use of computational infrastructure comes down to running applications ● Maintaining and porting them is hard and tricky. Communication is the hardest part. ● We've built an automated porting system, which ● will deliver functional, tested, relevant software to your site. ● Can ease the communication blocks in collaborative work ● Oh and it works :) ● Come on in and help us build it. We want an Open e-Science Commons
  • 53. Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za53 What can you do ? ● Join the orgs on Github ● Propose applications ● Fork, branch, pull request. ● Help develop the workflow ● Tell your friends
  • 54. Bruce Becker: Coordinator, SAGrid | bbecker@csir.co.za | http://www.sagrid.ac.za54 Thanks ! ● Join the organisations: ● http://github.com/AAROC/ ● http://github.com/SAGridOps ● Let's talk : http://aaroc.github.com/ ● https://ciari.slack.com/ (ask for an invite) ● @TheSAGrid ● @brusisceddu ● fb.com/SAGrid

Editor's Notes

  1. So, what does one of these ”e-Infrastructures” look like ? In South Africa, we have one of the youngest. A significant investment in computing and data resources, both centrally managed and funded by the government,as well as at universities and research laboratories. A complex ecosystem... but the vast majority of the funding so far has gone into the South African Research Network. The South African NREN connects more people and resources than was even conceivable just 5 years ago, at 10 GB/s. The impact of this single investment is difficult to estimate, since it is an enabling infrastructure and indeed some projects in science and education can now be undertaken thanks to it. A large portion of the computing resources have been integrated into a distributed computing infrastructure based on the grid paradigm which you are all familiar with – the South African National Grid. You see at the sites the boxes and figures representing the people and services which operate as a single entity in a federation.
  2. Now, South Africa is of course not alone in these developments. The BGI project itself has pushed such developments on both sides of the continent, not to mention those on the northern coast, supported by EUMedGrid, Support and Connect. There are strong NRENs in Kenya and Tanzania, which, together with Uganda, form good regional capacity in Eastern Africa.
  3. West Africa is of course a bit more complex than other parts of our continent, but here we see a lot of activity. In order to cut down on time, I&amp;apos;ve shown only a few, such as the site at UCGB in Seneal, the site at Nsukka University in Nigeria and the site under development at Kwame Nkrumah University of Science and Technology, which recently was the recipient of a large transfer of materiel from CERN. As in the case of Eastern Africa, these form the nucleus the model I will describe in a moment. But let us go back to South Africa for a moment and take stock.
  4. So, what have we learned in the last few years ? A few general trends, being followed worldwide, such as the adoption of the digital paradigm of scientific research, and the role that e-Infrastructures play in it... but we&amp;apos;ve documented and to some extent liberated the latent potential for collaboration in Africa. The digital divide still separates many, but the increase in access to bandwidt and other digital platforms has been almost revolutionary. It has connected us with a large diaspora with which to collaborate and allowed us to meaningfully contribute to international research project. Importantly, a great many neglected problems have become visible and thus piqued the interest of research communities locally, which are more optimistic of their ability to address these challenges. However, despitethes positive tones, one must remain realistic: there is indeed vast potential, but the available energy is not all transformed into actual work. (more thermodynamic analogies later)
  5. So, what have we learned in the last few years ? A few general trends, being followed worldwide, such as the adoption of the digital paradigm of scientific research, and the role that e-Infrastructures play in it... but we&amp;apos;ve documented and to some extent liberated the latent potential for collaboration in Africa. The digital divide still separates many, but the increase in access to bandwidt and other digital platforms has been almost revolutionary. It has connected us with a large diaspora with which to collaborate and allowed us to meaningfully contribute to international research project. Importantly, a great many neglected problems have become visible and thus piqued the interest of research communities locally, which are more optimistic of their ability to address these challenges. However, despitethes positive tones, one must remain realistic: there is indeed vast potential, but the available energy is not all transformed into actual work. (more thermodynamic analogies later)
  6. So, what have we learned in the last few years ? A few general trends, being followed worldwide, such as the adoption of the digital paradigm of scientific research, and the role that e-Infrastructures play in it... but we&amp;apos;ve documented and to some extent liberated the latent potential for collaboration in Africa. The digital divide still separates many, but the increase in access to bandwidt and other digital platforms has been almost revolutionary. It has connected us with a large diaspora with which to collaborate and allowed us to meaningfully contribute to international research project. Importantly, a great many neglected problems have become visible and thus piqued the interest of research communities locally, which are more optimistic of their ability to address these challenges. However, despitethes positive tones, one must remain realistic: there is indeed vast potential, but the available energy is not all transformed into actual work. (more thermodynamic analogies later)