Slide 1

Slide 1 text

F R O M D E V E L O P M E N T T O P R O D U C T I O N

Slide 2

Slide 2 text

L A L I T V I J A Y Bulding StyleDotMe Co-Founded Zeppery Worked with 5* Hotels Bootstraped IT Service Company Teacher Computer operator 2008 2009 2010 2014 2015 2016 LaravelLive India Curator 2017

Slide 3

Slide 3 text

01. 02. 03. 04. 05. 06. 07. 08. Developer Fortress Developer Dreams In between Continuous Integration Continuous Deployment Demo C O N T E N T S Continuous Delivery Summary

Slide 4

Slide 4 text

W H A T I S D E V E L O P E R F O R T R E S S ? It's their Development Console.

Slide 5

Slide 5 text

D E V E L O P E R C O N S O L E IDE Free Run Access to Favaorite IDE tools Access to all files and permissions. Debugger Fearless Freedom Access to error Log and debugger You can make and break things without fear. Lalit Vijay | lalitvijay.xyz

Slide 6

Slide 6 text

W H A T I S D E V E L O P E R D R E A M ?

Slide 7

Slide 7 text

G R E E N T I C K S IDE NO Firewalls All Tests Passed No one else is breaking my code Debugger Fearless Freedom Deployment Successful Zero Downtime Lalit Vijay | lalitvijay.xyz

Slide 8

Slide 8 text

A P P L I C A T I O N D E V E L O P M E N T P R A C T I C E S Working directly on the application server via SSH and editing with vi/vim Using a shared file system (Samba/NFS) Performing a version control check out on the production server Using rsync to “clone” a development environment Creating deb/RPM packages Using Jenkins or other continuous integration tools

Slide 9

Slide 9 text

W H A T ' S T H E I S S U E Manual deployment On the ground Production & staging errors Analysis & reporting issues

Slide 10

Slide 10 text

M I N D Y O U R B U S I N E S S In business terms Failure risk Overheads Lack Quality Assurance

Slide 11

Slide 11 text

C O N T I N U O U S D E P L O Y M E N T Continuous delivery (CD) is a software engineering approach in which teams produce software in short cycles, ensuring that the software can be reliably released at any time. It aims at building, testing, and releasing software faster and more frequently. - Wikipedia

Slide 12

Slide 12 text

C O N T I N U O U S D E P L O Y M E N T

Slide 13

Slide 13 text

C O N T I N U O U S D E P L O Y M E N T Reduce cost Improved Quality Data-driven decision making Experimentation = innovation Accelerate time-to-value

Slide 14

Slide 14 text

C O N T I N U O U S D E P L O Y M E N T B A R R I E R S Company Culture 33% Lack of time 33% Technical Issue 10% Understanding 10% Lack of Dev+Ops 15%

Slide 15

Slide 15 text

B U T W H Y ? C U L T U R E A N D L A C K O F T I M E A R E M A J O R B A R R I E R S 125 250 375 500 C ost/Program -22% D evelopm ent-60% Pipeline-140% Innovation-500% 0 HP LaserJet Firmware team re-architected and published about their journey (from 2008 - 2011), they record the outcomes they achieved as above.

Slide 16

Slide 16 text

C O N T I N U O U S I N T E G R A T I O N ( C I ) Continuous Integration (CI) is a development practice that requires developers to integrate code into a shared repository several times a day. Each check-in is then verified by an automated build, allowing teams to detect problems early.

Slide 17

Slide 17 text

C O N T I N U O U S I N T E G R A T I O N ( C I )

Slide 18

Slide 18 text

I M P O R T A N T E L E M E N T S T O C I * Version Control * Unit tests * Dependency Check

Slide 19

Slide 19 text

C O N T I N U O U S D E L I V E R Y ( C D ) Continuous Delivery (CD) is a software development practice in which continuous integration, automated testing, and automated deployment capabilities allow high-quality software to be developed and deployed rapidly, reliably and repeatedly with minimal manual overhead.

Slide 20

Slide 20 text

C O N T I N U O U S D E L I V E R Y ( C D ) CI Acceptance Testing Stage Production

Slide 21

Slide 21 text

C O N T I N U O U S D E L I V E R Y ( C D ) While continuous deployment may not be right for every company, continuous delivery is an absolute requirement.

Slide 22

Slide 22 text

I M P O R T A N T E L E M E N T S T O C D * Ability to build, test and deploy * All development is done on a mainline * Consistent management deployment * Unstable CI “layer” is a sure recipe for failure.

Slide 23

Slide 23 text

C O N T I N U O U S D E P L O Y M E N T ( C D ) With Continuous Delivery your software is always release-ready, yet the timing of when to push it into production is a business decision, and so the final deployment is a manual step. With Continuous Deployment, any updated working version of the application is automatically pushed to production.

Slide 24

Slide 24 text

C O N T I N U O U S D E P L O Y M E N T ( C D ) CI Acceptance Testing Stage Production

Slide 25

Slide 25 text

C O N T I N U O U S D E P L O Y M E N T ( C D )

Slide 26

Slide 26 text

T O O L S

Slide 27

Slide 27 text

D E M O

Slide 28

Slide 28 text

S U M M A R Y * Continous Integration is must * Continous Delivery is essential * Continous Deployment is better to have * Faster * Better * Happier

Slide 29

Slide 29 text

T H A N K Y O U !