SlideShare une entreprise Scribd logo
1  sur  28
SDLC &
DevOps
1
www.intrercom.com.eg 2
Businessin thefast lane
Timeto 50million users
Internet
4 years
Radio
38 years
Television
13 years
Facebook
1,096 days
Google+
88 days
Did not exist 15 years ago, and today havemillions of subscribers and offer high-qualityservices at no-charge
Innovation, efficiency andagility are requirements for survival
ParadigmShift
www.intrercom.com.eg 3
SDLC Overview
Aprocessfor planning, creating, testing, and deploying a softwareproject.
WhatisSDLC?
 Initiation –ReleasePlanning
 Requirementand Analysis – Story Writing
 Design/ IterationZero
 Development/Implementation
 Testing/ Integration
 Stabilization / Last Iteration
 Deploymenton UAT
 Deploymenton Production
 Maintenance /Support / Warranty
SDLCPhases
www.intrercom.com.eg 4
Agile ScrumOverview
Scrum is an iterativeand incrementalSDLC frameworkforagile softwareprojectmanagement.
Scrum has the following characteristics:
 A short, fixed duration inweekswithadjustable scope, called sprints or iterations.
 A repeatingsequenceof events,milestones,and meetings.
 A practice of implementingand testing newrequirements,called stories,to ensuresomeworkis release-readyafter eachsprint.
 An practiceof gaining the knowledgenecessaryto reducethe riskof a technical approach, betterunderstand a requirement,or increasethe
reliability of a Story estimate,called spikes.
 Commonly used roles suchas product owner,scrummaster,and teammember.
WhatisScrum?
www.intrercom.com.eg 5
Need for DevOps
The development teamDevproducesworkingfunctionalityattheend ofevery iteration/ sprint.However, thecompleted functionalitywouldhaveto
waituntilthe releasedatearrives.
The IToperationsteam Ops takesover thecompleted "deployable"binariesfromthe Devteam andputsthem intoproduction.
Agileproject Scenario
• TheDEV team gives full attention to the functional requirements at the expense ofdeployment, configuration, support
and othernon-functional requirements.
• Tests conducted locally are not accurate.
• Lack of deepcodereview
• Lack of central repository for codeand libraries used
• Lack of environment profiles (Development / Testing /Staging /Production)
• Lack of Release Management
• Lack of Test Automation
• A lot of regression tests to beperformed
This leads to surprises during UAT deployment, production warranty and support.
Problems
www.intrercom.com.eg 6
Need for DevOps
Theresult
www.intrercom.com.eg 7
Need for DevOps
DevOpsis a set of practices to automate the process of software delivery andinfrastructure changes.
It aims at establishing a culture and environment where building, testing, and releasing software can happen rapidly,
frequently, andmore reliably.
It needsa cross-functional team from:
• Software Development (SDS)
• Quality ProcessEngineer (QA)
• Quality TestingEngineer(QC)
• ITOperations (IT Services)
Solution -DevOps
www.intrercom.com.eg 8
DevOps
Toolchain
www.intrercom.com.eg 9
DevOps Toolchain
BecauseDevOps applied to all phases of SDLC, there is no single "DevOps tool": it is rather a set (or"DevOps Toolchain")
This toolchain aims to follow our SDLC processes at the tool level, to minimize the required effort in applying and
reviewing them later
DevOpstools fit into one ormoreof these categories:
Code — Code development and review, version control tools, codemerging.
Build —Continuous integration tools, build status.
Test— Test and results determine performance.
Package — Artifact repository, application pre-deployment staging.
Release — Change management, release approvals, release automation.
Configure— Infrastructure configuration and management, Infrastructure as Code tools.
Monitor — Applications performance monitoring, end–userexperience.
Collaborate –Team Interactive Communication Tool
Solution -DevOps
www.intrercom.com.eg 10
DevOps Toolchain –VersionControlorSCM
Version control is a system that records changes to a file or set of files over time so that you can recall specific versions later
Weareusing SVN and Git, but our plan is to moveall projects to Git
Weneed also to request a private GitHub repository for Intercom projects
https://svn.intercom.com.eg/svn https://git.intercom.com.eg/
www.intrercom.com.eg 11
DevOps Toolchain –IDE
An IDE is a software development tool that consists of a source code editor, WYSIWYG editor, compiler, build automation
tools, code completion tools and a debugger. Most modern IDEs have plugins to integrate with VCS, TFS, CI, bug trackers,
databases, web browsers and application servers.
Weareusing IBM RAD for WebSphere-based projects, and recently IntelliJ IDEA
Ourplan is to use IntelliJ IDEA – Ultimate Edition for all our Java projects
www.intrercom.com.eg 12
DevOps Toolchain –Project Management Tool
We are using Microsoft® Team Foundation Server (TFS) that provides source code management (with Git), reporting,
requirements management, project management, bug tracking, testing andrelease managementcapabilities.
It coversthe entire application lifecycle, and enables DevOps capabilities.
Westill use Microsoft Project Web Access 2007 to submit our timesheet
https://tfs.intercom.com.eg:8080/tfs https://projectsrv.intercom.com.eg/PWA/default.aspx
www.intrercom.com.eg 13
DevOps Toolchain –ContinuousIntegration Tool
Weareusing Jenkins asa CI Server
Jenkins is an open source automation server written in Java. Jenkins helps to automate the non-human part of software
development process, with continuous integration and facilitating technical aspects of continuous delivery
Weareplanned to try its modern brother: Jenkins Blue Ocean
https://dev.intercom.com.eg:8080/
www.intrercom.com.eg 14
DevOps Toolchain –ContinuousIntegration Tool
www.intrercom.com.eg 15
DevOps Toolchain –Build Automation Tool
Oneof the important things in CI transition is to havea Build Automation Tool and Dependency Management Tool
Maven is used to refer to commonlibraries without actually including them within the project files or the version control
Gradle has the samefeatures and is mandatory for building Android-based projects
Artifactory is used to make a local maven repository, that give us an intranet-level, copy of the central repository and
minimize repeated network calls
https://dev.intercom.com.eg:8081/
www.intrercom.com.eg 16
DevOps Toolchain –Build Automation Tool
www.intrercom.com.eg 17
DevOps Toolchain –Build Automation Tool
www.intrercom.com.eg 18
DevOps Toolchain –Unit &Integration Testing
JUnit 5 is the next generation of JUnit. The goal is to create an up-to-date foundation for developer-side testing on the JVM.
This includes focusing on Java 8 and above,aswell asenabling many different styles of testing
Mockito is a testing framework for Java. It allows the creation of test double objects in automated unit tests for the
purpose of Test-driven Development (TDD) or BehaviourDriven Development (BDD)
www.intrercom.com.eg 19
DevOps Toolchain –ContinuousCode Quality
SonarQube is an open source platform for continuous inspection of code quality to perform automatic reviews with static
analysis of codeto detect bugs, codesmells andsecurity vulnerabilities
It provides the capability to not only show health of an application but also to highlight issues newly introduced. With a
Quality Gatein place, you can fix the leak and therefore improvecodequality systematically
www.intrercom.com.eg 20
DevOps Toolchain –ContinuousCode Quality
www.intrercom.com.eg 21
DevOps Toolchain –Application SecurityQuality
IBM Security AppScan is used to enhance web and mobile application security and strengthen regulatory compliance
prior to deployment by identify security risks, generatereports and fix recommendations.
Recently, wegot license for Nessus Vulnerability Scannerand will useit very soon
www.intrercom.com.eg 22
DevOps Toolchain –Team Collaboration
Slack is a cloud-based collaboration tool that is integrated with our CI components, and provide real-time notifications for
Desktop and mobile devices.
Currently, it is integrated with Jenkins, Gitlab
It is faster and morerealistic than E-Mail
It becamethe modern tool for development communities across the globe
www.intrercom.com.eg 23
DevOps Toolchain –TheFull Cycle
Code Editor
& Compiler
• IntelliJ IDEA
• Eclipse
• XCode
Dependency
Manager
• Maven
• Gradle
• Cocoapods
• npm
Version
Control
• SVN
• Git
Build
Manager
• Jenkins
• TeamCity
Code Review
• SonarQube
• JUnit
Release
Manager
• Artifactory
Deployment
• Docker
• Scripts
www.intrercom.com.eg 24
Where to go?
“Future Plans”
www.intrercom.com.eg 25
DevOps - Whereto go
OpenStack is a free and open-source software platform for cloud computing, mostly deployed as
infrastructure-as-a-service, whereby virtual servers and otherresources are made available to customers
Wecan use it to createourownprivate cloud
www.intrercom.com.eg 26
DevOps - Whereto go
Docker is an open platform for developers and system admins to build, ship, and run distributed applications,
whether onlaptops, data canter VMs,orthe cloud
Wecan use it to createourownprivate cloud
www.intrercom.com.eg 27
DevOps - Whereto go
Amazon Web Services (AWS) is a securecloud services platform, offering compute power, database storage,
content delivery and other functionality to help businesses scale andgrow
Wehave to have a good experiencein AWS to beable to deploy ourapplications on top of it or provide a
complete AWS Solution Architecture in ourfuture offers if required
www.intrercom.com.eg 28
DevOps - Whereto go

Contenu connexe

Tendances

Tendances (20)

Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
 
DevOps and Tools
DevOps and ToolsDevOps and Tools
DevOps and Tools
 
DevOps
DevOpsDevOps
DevOps
 
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...
 
DevOps Powerpoint Presentation Slides
DevOps Powerpoint Presentation SlidesDevOps Powerpoint Presentation Slides
DevOps Powerpoint Presentation Slides
 
Devops Devops Devops, at Froscon
Devops Devops Devops, at FrosconDevops Devops Devops, at Froscon
Devops Devops Devops, at Froscon
 
DevOps Foundation
DevOps FoundationDevOps Foundation
DevOps Foundation
 
Agile vs Waterfall | Difference between Agile and Waterfall | Edureka
Agile vs Waterfall | Difference between Agile and Waterfall | EdurekaAgile vs Waterfall | Difference between Agile and Waterfall | Edureka
Agile vs Waterfall | Difference between Agile and Waterfall | Edureka
 
DevOps Overview
DevOps OverviewDevOps Overview
DevOps Overview
 
"Platform Engineering in practice — Why and How to start", Serg Hospodarets
"Platform Engineering in practice — Why and How to start", Serg Hospodarets "Platform Engineering in practice — Why and How to start", Serg Hospodarets
"Platform Engineering in practice — Why and How to start", Serg Hospodarets
 
DevOps - A Gentle Introduction
DevOps - A Gentle IntroductionDevOps - A Gentle Introduction
DevOps - A Gentle Introduction
 
Agile
AgileAgile
Agile
 
Managing Product Development Chaos with Jira Software and Confluence
Managing Product Development Chaos with Jira Software and ConfluenceManaging Product Development Chaos with Jira Software and Confluence
Managing Product Development Chaos with Jira Software and Confluence
 
Intro to GitOps & Flux.pdf
Intro to GitOps & Flux.pdfIntro to GitOps & Flux.pdf
Intro to GitOps & Flux.pdf
 
DevSecOps
DevSecOpsDevSecOps
DevSecOps
 
About DevOps in simple steps
About DevOps in simple stepsAbout DevOps in simple steps
About DevOps in simple steps
 
DevOps explained
DevOps explainedDevOps explained
DevOps explained
 
GitOps w/argocd
GitOps w/argocdGitOps w/argocd
GitOps w/argocd
 
Introduction to devops
Introduction to devopsIntroduction to devops
Introduction to devops
 
ScrumOps - Scrum + Practical DevOps
ScrumOps - Scrum + Practical DevOpsScrumOps - Scrum + Practical DevOps
ScrumOps - Scrum + Practical DevOps
 

Similaire à SDLC & DevOps Transformation with Agile

Introduction To Development And Operations
Introduction To Development And OperationsIntroduction To Development And Operations
Introduction To Development And Operations
teekhesawaal
 

Similaire à SDLC & DevOps Transformation with Agile (20)

Intro to DevOps 4 undergraduates
Intro to DevOps 4 undergraduates Intro to DevOps 4 undergraduates
Intro to DevOps 4 undergraduates
 
DevSecOps | DevOps Sec
DevSecOps | DevOps SecDevSecOps | DevOps Sec
DevSecOps | DevOps Sec
 
The DevOps paradigm - the evolution of IT professionals and opensource toolkit
The DevOps paradigm - the evolution of IT professionals and opensource toolkitThe DevOps paradigm - the evolution of IT professionals and opensource toolkit
The DevOps paradigm - the evolution of IT professionals and opensource toolkit
 
The DevOps Paradigm
The DevOps ParadigmThe DevOps Paradigm
The DevOps Paradigm
 
Code review automation and functional tests on Carrefour
Code review automation and functional tests on CarrefourCode review automation and functional tests on Carrefour
Code review automation and functional tests on Carrefour
 
Dev ops essentials v2
Dev ops essentials v2Dev ops essentials v2
Dev ops essentials v2
 
SCALABLE CI CD DEVOPS
SCALABLE CI CD DEVOPSSCALABLE CI CD DEVOPS
SCALABLE CI CD DEVOPS
 
DevOps For Everyone: Bringing DevOps Success to Every App and Every Role in y...
DevOps For Everyone: Bringing DevOps Success to Every App and Every Role in y...DevOps For Everyone: Bringing DevOps Success to Every App and Every Role in y...
DevOps For Everyone: Bringing DevOps Success to Every App and Every Role in y...
 
MACHINE LEARNING AUTOMATIONS PIPELINE WITH CI/CD
MACHINE LEARNING AUTOMATIONS PIPELINE WITH CI/CDMACHINE LEARNING AUTOMATIONS PIPELINE WITH CI/CD
MACHINE LEARNING AUTOMATIONS PIPELINE WITH CI/CD
 
Introduction To Development And Operations
Introduction To Development And OperationsIntroduction To Development And Operations
Introduction To Development And Operations
 
Agile Chennai 2021 | Achieving High DevOps Maturity through Platform Engineer...
Agile Chennai 2021 | Achieving High DevOps Maturity through Platform Engineer...Agile Chennai 2021 | Achieving High DevOps Maturity through Platform Engineer...
Agile Chennai 2021 | Achieving High DevOps Maturity through Platform Engineer...
 
Part 2 improving your software development v1.0
Part 2   improving your software development v1.0Part 2   improving your software development v1.0
Part 2 improving your software development v1.0
 
Devops phase-1
Devops phase-1Devops phase-1
Devops phase-1
 
How to go from waterfall app dev to secure agile development in 2 weeks
How to go from waterfall app dev to secure agile development in 2 weeks How to go from waterfall app dev to secure agile development in 2 weeks
How to go from waterfall app dev to secure agile development in 2 weeks
 
DevOps to DevSecOps Journey..
DevOps to DevSecOps Journey..DevOps to DevSecOps Journey..
DevOps to DevSecOps Journey..
 
Balaji Resume
Balaji ResumeBalaji Resume
Balaji Resume
 
The Evolution from Agile to DevOps
The Evolution from Agile to DevOpsThe Evolution from Agile to DevOps
The Evolution from Agile to DevOps
 
Introduction to dev ops
Introduction to dev opsIntroduction to dev ops
Introduction to dev ops
 
DevOps in Practice
DevOps in PracticeDevOps in Practice
DevOps in Practice
 
DevOps CD and Multispeed IT in regulated industries (FUG Presentation)
DevOps CD and Multispeed IT in regulated industries (FUG Presentation)DevOps CD and Multispeed IT in regulated industries (FUG Presentation)
DevOps CD and Multispeed IT in regulated industries (FUG Presentation)
 

Dernier

%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
masabamasaba
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
masabamasaba
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 

Dernier (20)

%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
Harnessing ChatGPT - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT  - Elevating Productivity in Today's Agile EnvironmentHarnessing ChatGPT  - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT - Elevating Productivity in Today's Agile Environment
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 

SDLC & DevOps Transformation with Agile

  • 2. www.intrercom.com.eg 2 Businessin thefast lane Timeto 50million users Internet 4 years Radio 38 years Television 13 years Facebook 1,096 days Google+ 88 days Did not exist 15 years ago, and today havemillions of subscribers and offer high-qualityservices at no-charge Innovation, efficiency andagility are requirements for survival ParadigmShift
  • 3. www.intrercom.com.eg 3 SDLC Overview Aprocessfor planning, creating, testing, and deploying a softwareproject. WhatisSDLC?  Initiation –ReleasePlanning  Requirementand Analysis – Story Writing  Design/ IterationZero  Development/Implementation  Testing/ Integration  Stabilization / Last Iteration  Deploymenton UAT  Deploymenton Production  Maintenance /Support / Warranty SDLCPhases
  • 4. www.intrercom.com.eg 4 Agile ScrumOverview Scrum is an iterativeand incrementalSDLC frameworkforagile softwareprojectmanagement. Scrum has the following characteristics:  A short, fixed duration inweekswithadjustable scope, called sprints or iterations.  A repeatingsequenceof events,milestones,and meetings.  A practice of implementingand testing newrequirements,called stories,to ensuresomeworkis release-readyafter eachsprint.  An practiceof gaining the knowledgenecessaryto reducethe riskof a technical approach, betterunderstand a requirement,or increasethe reliability of a Story estimate,called spikes.  Commonly used roles suchas product owner,scrummaster,and teammember. WhatisScrum?
  • 5. www.intrercom.com.eg 5 Need for DevOps The development teamDevproducesworkingfunctionalityattheend ofevery iteration/ sprint.However, thecompleted functionalitywouldhaveto waituntilthe releasedatearrives. The IToperationsteam Ops takesover thecompleted "deployable"binariesfromthe Devteam andputsthem intoproduction. Agileproject Scenario • TheDEV team gives full attention to the functional requirements at the expense ofdeployment, configuration, support and othernon-functional requirements. • Tests conducted locally are not accurate. • Lack of deepcodereview • Lack of central repository for codeand libraries used • Lack of environment profiles (Development / Testing /Staging /Production) • Lack of Release Management • Lack of Test Automation • A lot of regression tests to beperformed This leads to surprises during UAT deployment, production warranty and support. Problems
  • 7. www.intrercom.com.eg 7 Need for DevOps DevOpsis a set of practices to automate the process of software delivery andinfrastructure changes. It aims at establishing a culture and environment where building, testing, and releasing software can happen rapidly, frequently, andmore reliably. It needsa cross-functional team from: • Software Development (SDS) • Quality ProcessEngineer (QA) • Quality TestingEngineer(QC) • ITOperations (IT Services) Solution -DevOps
  • 9. www.intrercom.com.eg 9 DevOps Toolchain BecauseDevOps applied to all phases of SDLC, there is no single "DevOps tool": it is rather a set (or"DevOps Toolchain") This toolchain aims to follow our SDLC processes at the tool level, to minimize the required effort in applying and reviewing them later DevOpstools fit into one ormoreof these categories: Code — Code development and review, version control tools, codemerging. Build —Continuous integration tools, build status. Test— Test and results determine performance. Package — Artifact repository, application pre-deployment staging. Release — Change management, release approvals, release automation. Configure— Infrastructure configuration and management, Infrastructure as Code tools. Monitor — Applications performance monitoring, end–userexperience. Collaborate –Team Interactive Communication Tool Solution -DevOps
  • 10. www.intrercom.com.eg 10 DevOps Toolchain –VersionControlorSCM Version control is a system that records changes to a file or set of files over time so that you can recall specific versions later Weareusing SVN and Git, but our plan is to moveall projects to Git Weneed also to request a private GitHub repository for Intercom projects https://svn.intercom.com.eg/svn https://git.intercom.com.eg/
  • 11. www.intrercom.com.eg 11 DevOps Toolchain –IDE An IDE is a software development tool that consists of a source code editor, WYSIWYG editor, compiler, build automation tools, code completion tools and a debugger. Most modern IDEs have plugins to integrate with VCS, TFS, CI, bug trackers, databases, web browsers and application servers. Weareusing IBM RAD for WebSphere-based projects, and recently IntelliJ IDEA Ourplan is to use IntelliJ IDEA – Ultimate Edition for all our Java projects
  • 12. www.intrercom.com.eg 12 DevOps Toolchain –Project Management Tool We are using Microsoft® Team Foundation Server (TFS) that provides source code management (with Git), reporting, requirements management, project management, bug tracking, testing andrelease managementcapabilities. It coversthe entire application lifecycle, and enables DevOps capabilities. Westill use Microsoft Project Web Access 2007 to submit our timesheet https://tfs.intercom.com.eg:8080/tfs https://projectsrv.intercom.com.eg/PWA/default.aspx
  • 13. www.intrercom.com.eg 13 DevOps Toolchain –ContinuousIntegration Tool Weareusing Jenkins asa CI Server Jenkins is an open source automation server written in Java. Jenkins helps to automate the non-human part of software development process, with continuous integration and facilitating technical aspects of continuous delivery Weareplanned to try its modern brother: Jenkins Blue Ocean https://dev.intercom.com.eg:8080/
  • 14. www.intrercom.com.eg 14 DevOps Toolchain –ContinuousIntegration Tool
  • 15. www.intrercom.com.eg 15 DevOps Toolchain –Build Automation Tool Oneof the important things in CI transition is to havea Build Automation Tool and Dependency Management Tool Maven is used to refer to commonlibraries without actually including them within the project files or the version control Gradle has the samefeatures and is mandatory for building Android-based projects Artifactory is used to make a local maven repository, that give us an intranet-level, copy of the central repository and minimize repeated network calls https://dev.intercom.com.eg:8081/
  • 16. www.intrercom.com.eg 16 DevOps Toolchain –Build Automation Tool
  • 17. www.intrercom.com.eg 17 DevOps Toolchain –Build Automation Tool
  • 18. www.intrercom.com.eg 18 DevOps Toolchain –Unit &Integration Testing JUnit 5 is the next generation of JUnit. The goal is to create an up-to-date foundation for developer-side testing on the JVM. This includes focusing on Java 8 and above,aswell asenabling many different styles of testing Mockito is a testing framework for Java. It allows the creation of test double objects in automated unit tests for the purpose of Test-driven Development (TDD) or BehaviourDriven Development (BDD)
  • 19. www.intrercom.com.eg 19 DevOps Toolchain –ContinuousCode Quality SonarQube is an open source platform for continuous inspection of code quality to perform automatic reviews with static analysis of codeto detect bugs, codesmells andsecurity vulnerabilities It provides the capability to not only show health of an application but also to highlight issues newly introduced. With a Quality Gatein place, you can fix the leak and therefore improvecodequality systematically
  • 20. www.intrercom.com.eg 20 DevOps Toolchain –ContinuousCode Quality
  • 21. www.intrercom.com.eg 21 DevOps Toolchain –Application SecurityQuality IBM Security AppScan is used to enhance web and mobile application security and strengthen regulatory compliance prior to deployment by identify security risks, generatereports and fix recommendations. Recently, wegot license for Nessus Vulnerability Scannerand will useit very soon
  • 22. www.intrercom.com.eg 22 DevOps Toolchain –Team Collaboration Slack is a cloud-based collaboration tool that is integrated with our CI components, and provide real-time notifications for Desktop and mobile devices. Currently, it is integrated with Jenkins, Gitlab It is faster and morerealistic than E-Mail It becamethe modern tool for development communities across the globe
  • 23. www.intrercom.com.eg 23 DevOps Toolchain –TheFull Cycle Code Editor & Compiler • IntelliJ IDEA • Eclipse • XCode Dependency Manager • Maven • Gradle • Cocoapods • npm Version Control • SVN • Git Build Manager • Jenkins • TeamCity Code Review • SonarQube • JUnit Release Manager • Artifactory Deployment • Docker • Scripts
  • 24. www.intrercom.com.eg 24 Where to go? “Future Plans”
  • 25. www.intrercom.com.eg 25 DevOps - Whereto go OpenStack is a free and open-source software platform for cloud computing, mostly deployed as infrastructure-as-a-service, whereby virtual servers and otherresources are made available to customers Wecan use it to createourownprivate cloud
  • 26. www.intrercom.com.eg 26 DevOps - Whereto go Docker is an open platform for developers and system admins to build, ship, and run distributed applications, whether onlaptops, data canter VMs,orthe cloud Wecan use it to createourownprivate cloud
  • 27. www.intrercom.com.eg 27 DevOps - Whereto go Amazon Web Services (AWS) is a securecloud services platform, offering compute power, database storage, content delivery and other functionality to help businesses scale andgrow Wehave to have a good experiencein AWS to beable to deploy ourapplications on top of it or provide a complete AWS Solution Architecture in ourfuture offers if required