Upload
adil-raja
View
57
Download
1
Embed Size (px)
Citation preview
DevOpsDemystified
MuhammadAdil Raja
Introduction
DevOpsTools
Development
CodeScripting
Conclusions
DEVOPS DEMYSTIFIED
Muhammad Adil Raja
Pakistancbnd
DevOpsDemystified
MuhammadAdil Raja
Introduction
DevOpsTools
Development
CodeScripting
Conclusions
OUTLINE
1 INTRODUCTION
2 DEVOPS TOOLS
3 DEVELOPMENT
4 CODE SCRIPTING
5 CONCLUSIONS
DevOpsDemystified
MuhammadAdil Raja
Introduction
DevOpsTools
Development
CodeScripting
Conclusions
OUTLINE
1 INTRODUCTION
2 DEVOPS TOOLS
3 DEVELOPMENT
4 CODE SCRIPTING
5 CONCLUSIONS
DevOpsDemystified
MuhammadAdil Raja
Introduction
DevOpsTools
Development
CodeScripting
Conclusions
OUTLINE
1 INTRODUCTION
2 DEVOPS TOOLS
3 DEVELOPMENT
4 CODE SCRIPTING
5 CONCLUSIONS
DevOpsDemystified
MuhammadAdil Raja
Introduction
DevOpsTools
Development
CodeScripting
Conclusions
OUTLINE
1 INTRODUCTION
2 DEVOPS TOOLS
3 DEVELOPMENT
4 CODE SCRIPTING
5 CONCLUSIONS
DevOpsDemystified
MuhammadAdil Raja
Introduction
DevOpsTools
Development
CodeScripting
Conclusions
OUTLINE
1 INTRODUCTION
2 DEVOPS TOOLS
3 DEVELOPMENT
4 CODE SCRIPTING
5 CONCLUSIONS
DevOpsDemystified
MuhammadAdil Raja
Introduction
DevOpsTools
Development
CodeScripting
Conclusions
WHAT IS DEVOPS
Development and Operations teams collaborate to:Continuous delivery.Continuous integration.Continuous testing....
DevOpsDemystified
MuhammadAdil Raja
Introduction
DevOpsTools
Development
CodeScripting
Conclusions
DEVOPS TOOLS
Tool chains.Version control.Automation tools – Build, test, release, integrationautomation.Containers vs virtual machines.Docker.
DevOpsDemystified
MuhammadAdil Raja
Introduction
DevOpsTools
Development
CodeScripting
Conclusions
DOCKER I
A container.
LXC.
Supported by IDEs – Netbeans.
Can be used for version control.
Has been adopted by major cloud services like AWsand Microsoft Azure.
DevOpsDemystified
MuhammadAdil Raja
Introduction
DevOpsTools
Development
CodeScripting
Conclusions
DOCKER II
FIGURE: Virtual Machines vs Containers.
DevOpsDemystified
MuhammadAdil Raja
Introduction
DevOpsTools
Development
CodeScripting
Conclusions
PROGRAMMING I
Specifications -> Design -> Code -> Test.
Design -> Skeleton Code.
easyUML.
Hand knitting.
Method implementation.
DevOpsDemystified
MuhammadAdil Raja
Introduction
DevOpsTools
Development
CodeScripting
Conclusions
PROGRAMMING II
FIGURE: A simple schematic diagram of NUAV testbed.
DevOpsDemystified
MuhammadAdil Raja
Introduction
DevOpsTools
Development
CodeScripting
Conclusions
PROGRAMMING III
FLY PLANE
public class MainClass {public s t a t i c void main ( ) {
Data data ;i n t d ;PlaneFlyer f l y e r =new PlaneFlyer ( ) ;f l y e r . f l yP lane ( data ) ;processData ( data ) ;saveData ( data ) ;
}}
public class PlaneFlyer {private i n t data , r o l l ;private Data myData ;public Data f l yP lane ( Data data , i n t d ) {
data=d ;d=25;data . v e l o c i t y =ve l ;data . p i t c h = p i t c h ;data . r o l l = r o l l ;th is . r o l l =data . r o l l ;return data ;
}
}
DevOpsDemystified
MuhammadAdil Raja
Introduction
DevOpsTools
Development
CodeScripting
Conclusions
ROCKET SCIENCE FOR DUMMIES
FIGURE: Plane orientations.
DevOpsDemystified
MuhammadAdil Raja
Introduction
DevOpsTools
Development
CodeScripting
Conclusions
FLYPLANE() I
FLY PLANE
public void f l yP lane ( Data data ) {data . v e l o c i t y =ve l ;data . p i t c h = p i t c h ;data . r o l l = r o l l ;return true ;
}
FLY PLANE
public boolean f l yP lane ( Data data ) {i f ( data != nul l ) {
data . v e l o c i t y =ve l ;data . p i t c h = p i t c h ;data . r o l l = r o l l ;return true ;
}else
return fa lse ;}
DevOpsDemystified
MuhammadAdil Raja
Introduction
DevOpsTools
Development
CodeScripting
Conclusions
FLYPLANE() II
FLY PLANE
public boolean f l yP lane ( Data data ) {i f ( data != nul l ) {
i f ( data . v e l o c i t y < c r i t i c a l _ v e l o c i t y ) {data . t h r o t t l e +=0.01;
}else {
data . t h r o t t l e −=0.01;}i f ( data . r o l l > c r i t i c a l _ r o l l )
th is . a d j u s t A i l e r o n s ( data ) ;i f ( data . p i t ch > c r i t i c a l _ p i t c h )
th is . ad j us tE leva to r ( data )i f ( data . yaw> c r i t i c a l _ y a w )
th is . adjustRudder ( data ) ;return true ;
}else
return fa lse ;}
DevOpsDemystified
MuhammadAdil Raja
Introduction
DevOpsTools
Development
CodeScripting
Conclusions
FLYPLANE() III
FLY PLANE
public boolean f l yP lane ( Data data ) {i f ( data != nul l ) {
neuralNetwork ( data ) ;sendDataToPlane ( data ) ;return true ;
}else
return fa lse ;}
DevOpsDemystified
MuhammadAdil Raja
Introduction
DevOpsTools
Development
CodeScripting
Conclusions
ERRORS IN FLYPLANE()
Velocity North
Velocity East
Velo
city D
ow
n
-1
0
-4
-3
-2
1
3
4
-1
0
1
2
-2
-3 -1
0
1
2
FIGURE: Errors in flyPlane().
DevOpsDemystified
MuhammadAdil Raja
Introduction
DevOpsTools
Development
CodeScripting
Conclusions
SCRIPTING VS PROGRAMMING
Interpretation vs compilation.Dynamically typed languages.Python, PhP.Scripting allows agile development.Groovy.
DevOpsDemystified
MuhammadAdil Raja
Introduction
DevOpsTools
Development
CodeScripting
Conclusions
GROOVY I
All Java code is valid Groovy code.
GroovyLab.
Groovy on Grails.
Compilation of groovy code.
DevOpsDemystified
MuhammadAdil Raja
Introduction
DevOpsTools
Development
CodeScripting
Conclusions
GROOVY II
GROOVY CODE
class Student {private i n t StudentID ;private S t r i n g StudentName ;
void setStudent ID ( i n t pID ) {StudentID = pID ;
}
void setStudentName ( S t r i n g pName) {StudentName = pName;
}
i n t getStudent ID ( ) {return th is . StudentID ;
}
S t r i n g getStudentName ( ) {return th is . StudentName ;
}
s t a t i c void main ( S t r i n g [ ] args ) {Student s t = new Student ( ) ;s t . setStudent ID ( 1 ) ;s t . setStudentName ( " Joe " ) ;
p r i n t l n ( s t . getStudent ID ( ) ) ;p r i n t l n ( s t . getStudentName ( ) ) ;
}}