SlideShare a Scribd company logo
Openlab
Automated testing and evaluation platform of the source code from
assignments
Mihai Iachimovschi
iachimih@fit.cvut.cz
February 24, 2015
Mihai Iachimovschi iachimih@fit.cvut.cz Openlab February 24, 2015 1 / 19
Problem description
Students have a lot of assignments which are verified and
evaluated in a classical manner.
Mihai Iachimovschi iachimih@fit.cvut.cz Openlab February 24, 2015 2 / 19
Problem description (cont.)
The process of verification is very time consuming and inefficient
for the professor
Mihai Iachimovschi iachimih@fit.cvut.cz Openlab February 24, 2015 3 / 19
Perfect solution
Building a platform that will:
• Keep track of all assignments;
Mihai Iachimovschi iachimih@fit.cvut.cz Openlab February 24, 2015 4 / 19
Perfect solution
Building a platform that will:
• Keep track of all assignments;
• Track deadlines for assignments;
Mihai Iachimovschi iachimih@fit.cvut.cz Openlab February 24, 2015 4 / 19
Perfect solution
Building a platform that will:
• Keep track of all assignments;
• Track deadlines for assignments;
• Accept assignments submissions;
Mihai Iachimovschi iachimih@fit.cvut.cz Openlab February 24, 2015 4 / 19
Perfect solution
Building a platform that will:
• Keep track of all assignments;
• Track deadlines for assignments;
• Accept assignments submissions;
• Test automatically the submissions;
Mihai Iachimovschi iachimih@fit.cvut.cz Openlab February 24, 2015 4 / 19
Perfect solution
Building a platform that will:
• Keep track of all assignments;
• Track deadlines for assignments;
• Accept assignments submissions;
• Test automatically the submissions;
• Evaluate students based on predefined tests;
Mihai Iachimovschi iachimih@fit.cvut.cz Openlab February 24, 2015 4 / 19
Advantages
Having such a system will offer us features like:
• Penalization for late submissions;
Mihai Iachimovschi iachimih@fit.cvut.cz Openlab February 24, 2015 5 / 19
Advantages
Having such a system will offer us features like:
• Penalization for late submissions;
• Rewards for early submissions;
Mihai Iachimovschi iachimih@fit.cvut.cz Openlab February 24, 2015 5 / 19
Advantages
Having such a system will offer us features like:
• Penalization for late submissions;
• Rewards for early submissions;
• Saving time of professors and students;
Mihai Iachimovschi iachimih@fit.cvut.cz Openlab February 24, 2015 5 / 19
Advantages
Having such a system will offer us features like:
• Penalization for late submissions;
• Rewards for early submissions;
• Saving time of professors and students;
• Motivating competition between students;
Mihai Iachimovschi iachimih@fit.cvut.cz Openlab February 24, 2015 5 / 19
Advantages
Having such a system will offer us features like:
• Penalization for late submissions;
• Rewards for early submissions;
• Saving time of professors and students;
• Motivating competition between students;
• Helping professor to focus on teaching rather than verifying;
Mihai Iachimovschi iachimih@fit.cvut.cz Openlab February 24, 2015 5 / 19
Constraints
The threats that can tangle:
• Security:
A user is able to submit malicious code to the server;
Mihai Iachimovschi iachimih@fit.cvut.cz Openlab February 24, 2015 6 / 19
Constraints
The threats that can tangle:
• Security:
A user is able to submit malicious code to the server;
• Computing power:
Multiple users can submit unoptimized code that can be overloading
the server;
Mihai Iachimovschi iachimih@fit.cvut.cz Openlab February 24, 2015 6 / 19
A possible solution
Isolation?
Mihai Iachimovschi iachimih@fit.cvut.cz Openlab February 24, 2015 7 / 19
A possible solution (cont.)
But how to isolate properly?
Mihai Iachimovschi iachimih@fit.cvut.cz Openlab February 24, 2015 8 / 19
FreeBSD Jails?
FreeBSD jail?
Mihai Iachimovschi iachimih@fit.cvut.cz Openlab February 24, 2015 9 / 19
FreeBSD Jails?
FreeBSD jail? No.
Mihai Iachimovschi iachimih@fit.cvut.cz Openlab February 24, 2015 9 / 19
FreeBSD Jails?
FreeBSD jail? No.
Reasons:
• Quite old;
• Tightly tied to FreeBSD operating system;
• Limited in functionality;
Mihai Iachimovschi iachimih@fit.cvut.cz Openlab February 24, 2015 9 / 19
Virtualization
Classical virtualization?
Mihai Iachimovschi iachimih@fit.cvut.cz Openlab February 24, 2015 10 / 19
Virtualization
Classical virtualization? Maybe, but no.
Mihai Iachimovschi iachimih@fit.cvut.cz Openlab February 24, 2015 10 / 19
Virtualization
Classical virtualization? Maybe, but no.
Reasons:
• Too much overhead by virtualizing the hardware;
• Each virtual instance should have its own OS;
• Less efficient for our use case;
Mihai Iachimovschi iachimih@fit.cvut.cz Openlab February 24, 2015 10 / 19
Containerization
Containerization?
Mihai Iachimovschi iachimih@fit.cvut.cz Openlab February 24, 2015 11 / 19
Containerization
Containerization? Definitely yes.
Mihai Iachimovschi iachimih@fit.cvut.cz Openlab February 24, 2015 11 / 19
Containerization
Containerization? Definitely yes.
Reasons:
• Kernel level isolation;
• Secure;
• Highly reliable;
Mihai Iachimovschi iachimih@fit.cvut.cz Openlab February 24, 2015 11 / 19
Virtualization vs. Containerization
Mihai Iachimovschi iachimih@fit.cvut.cz Openlab February 24, 2015 12 / 19
What is a container?
A container combines two things:
• cgroups
• namespaces
Mihai Iachimovschi iachimih@fit.cvut.cz Openlab February 24, 2015 13 / 19
Linux cgroups
cgroups represent:
• Group of processes;
• Can be nested;
• Limits and isolates:
– CPU;
– Memory;
– Disk I/O;
– Network, etc;
Mihai Iachimovschi iachimih@fit.cvut.cz Openlab February 24, 2015 14 / 19
Linux namespaces
namespaces restrict your view of the system:
• Mounts (CLONE NEWNS);
• UTS (CLONE NEWUTS);
• IPC (CLONE NEWIPC);
• PID (CLONE NEWPID);
• Networks (CLONE NEWNET);
• User (CLONE NEWUSER);
Mihai Iachimovschi iachimih@fit.cvut.cz Openlab February 24, 2015 15 / 19
Docker
For our system we will use Docker containers.
Mihai Iachimovschi iachimih@fit.cvut.cz Openlab February 24, 2015 16 / 19
Docker in a docker
Mihai Iachimovschi iachimih@fit.cvut.cz Openlab February 24, 2015 17 / 19
Docker - multiple applications
This is how docker can execute multiple, completely isolated
applications.
Mihai Iachimovschi iachimih@fit.cvut.cz Openlab February 24, 2015 18 / 19
End
Thank you.
Mihai Iachimovschi iachimih@fit.cvut.cz Openlab February 24, 2015 19 / 19

More Related Content

Similar to Openlab

Failing Fast - An Autopsy of a Failed Release
Failing Fast - An Autopsy of a Failed ReleaseFailing Fast - An Autopsy of a Failed Release
Failing Fast - An Autopsy of a Failed Release
johnfcshaw
 
ALLDATA 2015 - RDF Based Linked Data Management as a DaaS Platform
ALLDATA 2015 - RDF Based Linked Data Management as a DaaS PlatformALLDATA 2015 - RDF Based Linked Data Management as a DaaS Platform
ALLDATA 2015 - RDF Based Linked Data Management as a DaaS Platform
Seonho Kim
 
Code Quality in an agile world - PHP Usergroup Hamburg
Code Quality in an agile world - PHP Usergroup HamburgCode Quality in an agile world - PHP Usergroup Hamburg
Code Quality in an agile world - PHP Usergroup Hamburg
Frank Sons
 
Creating Open Educational Resources with no technical skills and new
Creating Open Educational Resources with no technical skills and newCreating Open Educational Resources with no technical skills and new
Creating Open Educational Resources with no technical skills and new
Sarah George
 
Echo Open Innovation Masterclass 19th May 2015
Echo Open Innovation Masterclass 19th May 2015Echo Open Innovation Masterclass 19th May 2015
Echo Open Innovation Masterclass 19th May 2015100%Open
 
FIBEP WMIC 2015 - How Infomedia upgraded their closed-source search engine to...
FIBEP WMIC 2015 - How Infomedia upgraded their closed-source search engine to...FIBEP WMIC 2015 - How Infomedia upgraded their closed-source search engine to...
FIBEP WMIC 2015 - How Infomedia upgraded their closed-source search engine to...
Charlie Hull
 
Continuous test automation
Continuous test automationContinuous test automation
Continuous test automation
Viresh Doshi
 
DevOps – Don’t Be Left Behind
DevOps – Don’t Be Left BehindDevOps – Don’t Be Left Behind
DevOps – Don’t Be Left Behind
Capgemini
 
Content straContent Strategy: What is it and why is it Importanttegy
Content straContent Strategy: What is it and why is it ImportanttegyContent straContent Strategy: What is it and why is it Importanttegy
Content straContent Strategy: What is it and why is it Importanttegy
Denise Kadilak
 
LV Dev Efficiency NIDays 2015
LV Dev Efficiency NIDays 2015LV Dev Efficiency NIDays 2015
LV Dev Efficiency NIDays 2015Jeffrey Habets
 
B1: Exploring emerging technologies
B1: Exploring emerging technologiesB1: Exploring emerging technologies
B1: Exploring emerging technologies
lisbk
 
Rethink your Research Design
Rethink your Research Design Rethink your Research Design
Rethink your Research Design
Survox
 
Dear Open Source, Please Help. Love, Manufacturing
Dear Open Source, Please Help.  Love, ManufacturingDear Open Source, Please Help.  Love, Manufacturing
Dear Open Source, Please Help. Love, Manufacturing
Andy Robinson
 
Laimonas Lileika - Hybrid Project Management: Excellence Behind a Buzzword
Laimonas Lileika - Hybrid Project Management: Excellence Behind a BuzzwordLaimonas Lileika - Hybrid Project Management: Excellence Behind a Buzzword
Laimonas Lileika - Hybrid Project Management: Excellence Behind a Buzzword
Agile Lietuva
 
Dev ops don't be left behind
Dev ops   don't be left behindDev ops   don't be left behind
Dev ops don't be left behind
Gunnar Menzel
 
Supply chain risks by Levi 2015
Supply chain risks by Levi 2015Supply chain risks by Levi 2015
Supply chain risks by Levi 2015
CLT Valuebased Services
 
How To get to problem / solution fit
How To get to problem / solution fitHow To get to problem / solution fit
How To get to problem / solution fit
pragmatic solutions gmbh
 
Different faces of MVP
Different faces of MVPDifferent faces of MVP
Different faces of MVP
pragmatic solutions gmbh
 
7 steps to a successful itsm tool implementation - itsmf atlanta
7 steps to a successful itsm tool implementation - itsmf atlanta7 steps to a successful itsm tool implementation - itsmf atlanta
7 steps to a successful itsm tool implementation - itsmf atlanta
Navvia
 
Knowledge Manager - Fit for the Future
Knowledge Manager - Fit for the Future Knowledge Manager - Fit for the Future
Knowledge Manager - Fit for the Future
Dr. Haxel Consult
 

Similar to Openlab (20)

Failing Fast - An Autopsy of a Failed Release
Failing Fast - An Autopsy of a Failed ReleaseFailing Fast - An Autopsy of a Failed Release
Failing Fast - An Autopsy of a Failed Release
 
ALLDATA 2015 - RDF Based Linked Data Management as a DaaS Platform
ALLDATA 2015 - RDF Based Linked Data Management as a DaaS PlatformALLDATA 2015 - RDF Based Linked Data Management as a DaaS Platform
ALLDATA 2015 - RDF Based Linked Data Management as a DaaS Platform
 
Code Quality in an agile world - PHP Usergroup Hamburg
Code Quality in an agile world - PHP Usergroup HamburgCode Quality in an agile world - PHP Usergroup Hamburg
Code Quality in an agile world - PHP Usergroup Hamburg
 
Creating Open Educational Resources with no technical skills and new
Creating Open Educational Resources with no technical skills and newCreating Open Educational Resources with no technical skills and new
Creating Open Educational Resources with no technical skills and new
 
Echo Open Innovation Masterclass 19th May 2015
Echo Open Innovation Masterclass 19th May 2015Echo Open Innovation Masterclass 19th May 2015
Echo Open Innovation Masterclass 19th May 2015
 
FIBEP WMIC 2015 - How Infomedia upgraded their closed-source search engine to...
FIBEP WMIC 2015 - How Infomedia upgraded their closed-source search engine to...FIBEP WMIC 2015 - How Infomedia upgraded their closed-source search engine to...
FIBEP WMIC 2015 - How Infomedia upgraded their closed-source search engine to...
 
Continuous test automation
Continuous test automationContinuous test automation
Continuous test automation
 
DevOps – Don’t Be Left Behind
DevOps – Don’t Be Left BehindDevOps – Don’t Be Left Behind
DevOps – Don’t Be Left Behind
 
Content straContent Strategy: What is it and why is it Importanttegy
Content straContent Strategy: What is it and why is it ImportanttegyContent straContent Strategy: What is it and why is it Importanttegy
Content straContent Strategy: What is it and why is it Importanttegy
 
LV Dev Efficiency NIDays 2015
LV Dev Efficiency NIDays 2015LV Dev Efficiency NIDays 2015
LV Dev Efficiency NIDays 2015
 
B1: Exploring emerging technologies
B1: Exploring emerging technologiesB1: Exploring emerging technologies
B1: Exploring emerging technologies
 
Rethink your Research Design
Rethink your Research Design Rethink your Research Design
Rethink your Research Design
 
Dear Open Source, Please Help. Love, Manufacturing
Dear Open Source, Please Help.  Love, ManufacturingDear Open Source, Please Help.  Love, Manufacturing
Dear Open Source, Please Help. Love, Manufacturing
 
Laimonas Lileika - Hybrid Project Management: Excellence Behind a Buzzword
Laimonas Lileika - Hybrid Project Management: Excellence Behind a BuzzwordLaimonas Lileika - Hybrid Project Management: Excellence Behind a Buzzword
Laimonas Lileika - Hybrid Project Management: Excellence Behind a Buzzword
 
Dev ops don't be left behind
Dev ops   don't be left behindDev ops   don't be left behind
Dev ops don't be left behind
 
Supply chain risks by Levi 2015
Supply chain risks by Levi 2015Supply chain risks by Levi 2015
Supply chain risks by Levi 2015
 
How To get to problem / solution fit
How To get to problem / solution fitHow To get to problem / solution fit
How To get to problem / solution fit
 
Different faces of MVP
Different faces of MVPDifferent faces of MVP
Different faces of MVP
 
7 steps to a successful itsm tool implementation - itsmf atlanta
7 steps to a successful itsm tool implementation - itsmf atlanta7 steps to a successful itsm tool implementation - itsmf atlanta
7 steps to a successful itsm tool implementation - itsmf atlanta
 
Knowledge Manager - Fit for the Future
Knowledge Manager - Fit for the Future Knowledge Manager - Fit for the Future
Knowledge Manager - Fit for the Future
 

Recently uploaded

Recycled Concrete Aggregate in Construction Part III
Recycled Concrete Aggregate in Construction Part IIIRecycled Concrete Aggregate in Construction Part III
Recycled Concrete Aggregate in Construction Part III
Aditya Rajan Patra
 
TOP 10 B TECH COLLEGES IN JAIPUR 2024.pptx
TOP 10 B TECH COLLEGES IN JAIPUR 2024.pptxTOP 10 B TECH COLLEGES IN JAIPUR 2024.pptx
TOP 10 B TECH COLLEGES IN JAIPUR 2024.pptx
nikitacareer3
 
basic-wireline-operations-course-mahmoud-f-radwan.pdf
basic-wireline-operations-course-mahmoud-f-radwan.pdfbasic-wireline-operations-course-mahmoud-f-radwan.pdf
basic-wireline-operations-course-mahmoud-f-radwan.pdf
NidhalKahouli2
 
sieving analysis and results interpretation
sieving analysis and results interpretationsieving analysis and results interpretation
sieving analysis and results interpretation
ssuser36d3051
 
Water billing management system project report.pdf
Water billing management system project report.pdfWater billing management system project report.pdf
Water billing management system project report.pdf
Kamal Acharya
 
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming PipelinesHarnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
Christina Lin
 
DfMAy 2024 - key insights and contributions
DfMAy 2024 - key insights and contributionsDfMAy 2024 - key insights and contributions
DfMAy 2024 - key insights and contributions
gestioneergodomus
 
[JPP-1] - (JEE 3.0) - Kinematics 1D - 14th May..pdf
[JPP-1] - (JEE 3.0) - Kinematics 1D - 14th May..pdf[JPP-1] - (JEE 3.0) - Kinematics 1D - 14th May..pdf
[JPP-1] - (JEE 3.0) - Kinematics 1D - 14th May..pdf
awadeshbabu
 
Online aptitude test management system project report.pdf
Online aptitude test management system project report.pdfOnline aptitude test management system project report.pdf
Online aptitude test management system project report.pdf
Kamal Acharya
 
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdfBPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
MIGUELANGEL966976
 
Swimming pool mechanical components design.pptx
Swimming pool  mechanical components design.pptxSwimming pool  mechanical components design.pptx
Swimming pool mechanical components design.pptx
yokeleetan1
 
Tutorial for 16S rRNA Gene Analysis with QIIME2.pdf
Tutorial for 16S rRNA Gene Analysis with QIIME2.pdfTutorial for 16S rRNA Gene Analysis with QIIME2.pdf
Tutorial for 16S rRNA Gene Analysis with QIIME2.pdf
aqil azizi
 
Fundamentals of Induction Motor Drives.pptx
Fundamentals of Induction Motor Drives.pptxFundamentals of Induction Motor Drives.pptx
Fundamentals of Induction Motor Drives.pptx
manasideore6
 
Understanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine LearningUnderstanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine Learning
SUTEJAS
 
Unbalanced Three Phase Systems and circuits.pptx
Unbalanced Three Phase Systems and circuits.pptxUnbalanced Three Phase Systems and circuits.pptx
Unbalanced Three Phase Systems and circuits.pptx
ChristineTorrepenida1
 
A review on techniques and modelling methodologies used for checking electrom...
A review on techniques and modelling methodologies used for checking electrom...A review on techniques and modelling methodologies used for checking electrom...
A review on techniques and modelling methodologies used for checking electrom...
nooriasukmaningtyas
 
bank management system in java and mysql report1.pdf
bank management system in java and mysql report1.pdfbank management system in java and mysql report1.pdf
bank management system in java and mysql report1.pdf
Divyam548318
 
ACRP 4-09 Risk Assessment Method to Support Modification of Airfield Separat...
ACRP 4-09 Risk Assessment Method to Support Modification of Airfield Separat...ACRP 4-09 Risk Assessment Method to Support Modification of Airfield Separat...
ACRP 4-09 Risk Assessment Method to Support Modification of Airfield Separat...
Mukeshwaran Balu
 
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
insn4465
 
NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...
NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...
NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...
ssuser7dcef0
 

Recently uploaded (20)

Recycled Concrete Aggregate in Construction Part III
Recycled Concrete Aggregate in Construction Part IIIRecycled Concrete Aggregate in Construction Part III
Recycled Concrete Aggregate in Construction Part III
 
TOP 10 B TECH COLLEGES IN JAIPUR 2024.pptx
TOP 10 B TECH COLLEGES IN JAIPUR 2024.pptxTOP 10 B TECH COLLEGES IN JAIPUR 2024.pptx
TOP 10 B TECH COLLEGES IN JAIPUR 2024.pptx
 
basic-wireline-operations-course-mahmoud-f-radwan.pdf
basic-wireline-operations-course-mahmoud-f-radwan.pdfbasic-wireline-operations-course-mahmoud-f-radwan.pdf
basic-wireline-operations-course-mahmoud-f-radwan.pdf
 
sieving analysis and results interpretation
sieving analysis and results interpretationsieving analysis and results interpretation
sieving analysis and results interpretation
 
Water billing management system project report.pdf
Water billing management system project report.pdfWater billing management system project report.pdf
Water billing management system project report.pdf
 
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming PipelinesHarnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
 
DfMAy 2024 - key insights and contributions
DfMAy 2024 - key insights and contributionsDfMAy 2024 - key insights and contributions
DfMAy 2024 - key insights and contributions
 
[JPP-1] - (JEE 3.0) - Kinematics 1D - 14th May..pdf
[JPP-1] - (JEE 3.0) - Kinematics 1D - 14th May..pdf[JPP-1] - (JEE 3.0) - Kinematics 1D - 14th May..pdf
[JPP-1] - (JEE 3.0) - Kinematics 1D - 14th May..pdf
 
Online aptitude test management system project report.pdf
Online aptitude test management system project report.pdfOnline aptitude test management system project report.pdf
Online aptitude test management system project report.pdf
 
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdfBPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
 
Swimming pool mechanical components design.pptx
Swimming pool  mechanical components design.pptxSwimming pool  mechanical components design.pptx
Swimming pool mechanical components design.pptx
 
Tutorial for 16S rRNA Gene Analysis with QIIME2.pdf
Tutorial for 16S rRNA Gene Analysis with QIIME2.pdfTutorial for 16S rRNA Gene Analysis with QIIME2.pdf
Tutorial for 16S rRNA Gene Analysis with QIIME2.pdf
 
Fundamentals of Induction Motor Drives.pptx
Fundamentals of Induction Motor Drives.pptxFundamentals of Induction Motor Drives.pptx
Fundamentals of Induction Motor Drives.pptx
 
Understanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine LearningUnderstanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine Learning
 
Unbalanced Three Phase Systems and circuits.pptx
Unbalanced Three Phase Systems and circuits.pptxUnbalanced Three Phase Systems and circuits.pptx
Unbalanced Three Phase Systems and circuits.pptx
 
A review on techniques and modelling methodologies used for checking electrom...
A review on techniques and modelling methodologies used for checking electrom...A review on techniques and modelling methodologies used for checking electrom...
A review on techniques and modelling methodologies used for checking electrom...
 
bank management system in java and mysql report1.pdf
bank management system in java and mysql report1.pdfbank management system in java and mysql report1.pdf
bank management system in java and mysql report1.pdf
 
ACRP 4-09 Risk Assessment Method to Support Modification of Airfield Separat...
ACRP 4-09 Risk Assessment Method to Support Modification of Airfield Separat...ACRP 4-09 Risk Assessment Method to Support Modification of Airfield Separat...
ACRP 4-09 Risk Assessment Method to Support Modification of Airfield Separat...
 
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
 
NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...
NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...
NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...
 

Openlab

  • 1. Openlab Automated testing and evaluation platform of the source code from assignments Mihai Iachimovschi iachimih@fit.cvut.cz February 24, 2015 Mihai Iachimovschi iachimih@fit.cvut.cz Openlab February 24, 2015 1 / 19
  • 2. Problem description Students have a lot of assignments which are verified and evaluated in a classical manner. Mihai Iachimovschi iachimih@fit.cvut.cz Openlab February 24, 2015 2 / 19
  • 3. Problem description (cont.) The process of verification is very time consuming and inefficient for the professor Mihai Iachimovschi iachimih@fit.cvut.cz Openlab February 24, 2015 3 / 19
  • 4. Perfect solution Building a platform that will: • Keep track of all assignments; Mihai Iachimovschi iachimih@fit.cvut.cz Openlab February 24, 2015 4 / 19
  • 5. Perfect solution Building a platform that will: • Keep track of all assignments; • Track deadlines for assignments; Mihai Iachimovschi iachimih@fit.cvut.cz Openlab February 24, 2015 4 / 19
  • 6. Perfect solution Building a platform that will: • Keep track of all assignments; • Track deadlines for assignments; • Accept assignments submissions; Mihai Iachimovschi iachimih@fit.cvut.cz Openlab February 24, 2015 4 / 19
  • 7. Perfect solution Building a platform that will: • Keep track of all assignments; • Track deadlines for assignments; • Accept assignments submissions; • Test automatically the submissions; Mihai Iachimovschi iachimih@fit.cvut.cz Openlab February 24, 2015 4 / 19
  • 8. Perfect solution Building a platform that will: • Keep track of all assignments; • Track deadlines for assignments; • Accept assignments submissions; • Test automatically the submissions; • Evaluate students based on predefined tests; Mihai Iachimovschi iachimih@fit.cvut.cz Openlab February 24, 2015 4 / 19
  • 9. Advantages Having such a system will offer us features like: • Penalization for late submissions; Mihai Iachimovschi iachimih@fit.cvut.cz Openlab February 24, 2015 5 / 19
  • 10. Advantages Having such a system will offer us features like: • Penalization for late submissions; • Rewards for early submissions; Mihai Iachimovschi iachimih@fit.cvut.cz Openlab February 24, 2015 5 / 19
  • 11. Advantages Having such a system will offer us features like: • Penalization for late submissions; • Rewards for early submissions; • Saving time of professors and students; Mihai Iachimovschi iachimih@fit.cvut.cz Openlab February 24, 2015 5 / 19
  • 12. Advantages Having such a system will offer us features like: • Penalization for late submissions; • Rewards for early submissions; • Saving time of professors and students; • Motivating competition between students; Mihai Iachimovschi iachimih@fit.cvut.cz Openlab February 24, 2015 5 / 19
  • 13. Advantages Having such a system will offer us features like: • Penalization for late submissions; • Rewards for early submissions; • Saving time of professors and students; • Motivating competition between students; • Helping professor to focus on teaching rather than verifying; Mihai Iachimovschi iachimih@fit.cvut.cz Openlab February 24, 2015 5 / 19
  • 14. Constraints The threats that can tangle: • Security: A user is able to submit malicious code to the server; Mihai Iachimovschi iachimih@fit.cvut.cz Openlab February 24, 2015 6 / 19
  • 15. Constraints The threats that can tangle: • Security: A user is able to submit malicious code to the server; • Computing power: Multiple users can submit unoptimized code that can be overloading the server; Mihai Iachimovschi iachimih@fit.cvut.cz Openlab February 24, 2015 6 / 19
  • 16. A possible solution Isolation? Mihai Iachimovschi iachimih@fit.cvut.cz Openlab February 24, 2015 7 / 19
  • 17. A possible solution (cont.) But how to isolate properly? Mihai Iachimovschi iachimih@fit.cvut.cz Openlab February 24, 2015 8 / 19
  • 18. FreeBSD Jails? FreeBSD jail? Mihai Iachimovschi iachimih@fit.cvut.cz Openlab February 24, 2015 9 / 19
  • 19. FreeBSD Jails? FreeBSD jail? No. Mihai Iachimovschi iachimih@fit.cvut.cz Openlab February 24, 2015 9 / 19
  • 20. FreeBSD Jails? FreeBSD jail? No. Reasons: • Quite old; • Tightly tied to FreeBSD operating system; • Limited in functionality; Mihai Iachimovschi iachimih@fit.cvut.cz Openlab February 24, 2015 9 / 19
  • 21. Virtualization Classical virtualization? Mihai Iachimovschi iachimih@fit.cvut.cz Openlab February 24, 2015 10 / 19
  • 22. Virtualization Classical virtualization? Maybe, but no. Mihai Iachimovschi iachimih@fit.cvut.cz Openlab February 24, 2015 10 / 19
  • 23. Virtualization Classical virtualization? Maybe, but no. Reasons: • Too much overhead by virtualizing the hardware; • Each virtual instance should have its own OS; • Less efficient for our use case; Mihai Iachimovschi iachimih@fit.cvut.cz Openlab February 24, 2015 10 / 19
  • 25. Containerization Containerization? Definitely yes. Mihai Iachimovschi iachimih@fit.cvut.cz Openlab February 24, 2015 11 / 19
  • 26. Containerization Containerization? Definitely yes. Reasons: • Kernel level isolation; • Secure; • Highly reliable; Mihai Iachimovschi iachimih@fit.cvut.cz Openlab February 24, 2015 11 / 19
  • 27. Virtualization vs. Containerization Mihai Iachimovschi iachimih@fit.cvut.cz Openlab February 24, 2015 12 / 19
  • 28. What is a container? A container combines two things: • cgroups • namespaces Mihai Iachimovschi iachimih@fit.cvut.cz Openlab February 24, 2015 13 / 19
  • 29. Linux cgroups cgroups represent: • Group of processes; • Can be nested; • Limits and isolates: – CPU; – Memory; – Disk I/O; – Network, etc; Mihai Iachimovschi iachimih@fit.cvut.cz Openlab February 24, 2015 14 / 19
  • 30. Linux namespaces namespaces restrict your view of the system: • Mounts (CLONE NEWNS); • UTS (CLONE NEWUTS); • IPC (CLONE NEWIPC); • PID (CLONE NEWPID); • Networks (CLONE NEWNET); • User (CLONE NEWUSER); Mihai Iachimovschi iachimih@fit.cvut.cz Openlab February 24, 2015 15 / 19
  • 31. Docker For our system we will use Docker containers. Mihai Iachimovschi iachimih@fit.cvut.cz Openlab February 24, 2015 16 / 19
  • 32. Docker in a docker Mihai Iachimovschi iachimih@fit.cvut.cz Openlab February 24, 2015 17 / 19
  • 33. Docker - multiple applications This is how docker can execute multiple, completely isolated applications. Mihai Iachimovschi iachimih@fit.cvut.cz Openlab February 24, 2015 18 / 19
  • 34. End Thank you. Mihai Iachimovschi iachimih@fit.cvut.cz Openlab February 24, 2015 19 / 19