Movatterモバイル変換


[0]ホーム

URL:


13,197 views

Software Deployment Principles & Practices

The document discusses software deployment principles and practices, outlining four key principles: repeatable builds, consistent environments, autonomous packages, and ease of doing/undoing releases. It provides details on each principle and how they can be achieved, such as through versioning of artifacts, baselining components together, and developing automated and documented processes.

Embed presentation

Software Deployment  Principles & Practices
Agenda Objective Software Deployment Principles & Practices Repeatable Builds Consistent Environments Autonomous Packages Ease to-do/un-do Releases
Objective Basic introduction to Software Deployment Principles & Practices
What is Software Deployment? Software Deployment is the art of deploying software artefacts (CI’s)  produced as a result of build, on the target environment  (Development, Staging, Production).
Principles of Software Deployment One can consider 4 basic principles for software deployment, but not  limited.  Repeatable Builds Consistent Environments Autonomous Packages Ease to-do/un-do Releases
Repeatable Builds A Typical Application will undergo a simple “build-release-deploy”  process with a defined build steps.  One should have the provision of  rebuilding the application exactly in the same way as it was built at the  time of release, to achieve Repeatable builds One can Achieve Repeatable Builds, by ensuring Versioning of all software artefacts Versioning of all tools and its dependencies Baselining of all artefacts together Automated way of building Documented build process etc
Consistent Environments? An Environment includes all the components needed to build and run the  application. For a JAVA based application, on the server side the following components  forms part of environment: Operating System (like solaris, HP-UX, AIX) System Libraries (like SH, openSSL) Services (like Apache, Oracle/Sybase) Run time Environments (like JDK, SDK) Application Servers (like WPS, Websphere) etc It is very important to keep all the above components consistent in all environments used for the build, release and deployment.  Example: A developer might be doing development on windows based workstations, while the  deployment has to be carried out on the UNIX based environment. In this case, consistency can  be maintained at the Tool or Stack Level, by having the same JDK, SDK,app libraries etc.
Consistent Environments?...continued Consistent Environment means in 2 ways: All Environments (Development, Staging) should use the same components (System, Software) to maintain consistency with the production environment (sometimes non-realistic, due to parallel dev/testing) Consistency with all developer environments (workstation etc) used for development, build and unit test. One can achieve a consistent Environment with the following: Version control of all components (server, workstation configurations etc) Centralizing the storage of the components & its downloads. Developing a strategy to run multiple versions of the components Automated/Scripted way of deploying components (server, application etc) Identifying and Documenting all application dependencies. Good Packaging Strategy Virtualization (VMWare, Virtual Server) Tracking Environment Changes with a good change management tool coupled with a robust process
Autonomous Packages? Autonomous Packages means the deployable package should exist  independently. The more autonomous the deployable package is the more  easier to deploy and maintain. Why software package autonomous is required?  Running multiple instances of the packages independently All relative paths (configuration, logs etc) is relative to the package Application install/un-install, start/stop is independent to each package. Each package contains its own dependencies interms of version and libs required. : :
Easy to-do/un-do Releases? The most important part of the release is to know the environment.  Doing a software release can be easy as installing a new version of the  SW package into a single environment or installing multiple packages on  multiple environments. How to ensure SW Releases can be easy to install/un-install/rollback? Knowing the Environment Understanding the dependencies Automated Release Strategy Testing Backup’s Documentation (release steps/notes, dependencies etc) : :
Thank You

Recommended

PPT
Unit 1 - Introduction to Software Engineering.ppt
PPTX
Platform as a Service (PaaS)
PPTX
Software development life cycle (SDLC)
PDF
Software engineering a practitioners approach 8th edition pressman solutions ...
PPTX
Software Development Process
PDF
Requirement Engineering
PDF
IaaS, SaaS, PasS : Cloud Computing
PPTX
Software Engineering unit 2
PPTX
Software Process Models
PPTX
Introduction to Software Engineering
PPTX
Software testing & Quality Assurance
DOCX
Low level design template (1)
PPTX
Waterfall model ppt final
PPTX
Middleware Technologies ppt
PPTX
Coding standards
PDF
Application of Cloud Computing
PPTX
Non Functional Requirement.
PDF
Infrastructure as a Service ( IaaS)
PDF
Microservice Architecture
PDF
The Architecture of an API Platform
PPSX
APIs as a Product Strategy
PPTX
software requirement specification
PDF
Project Planning in Software Engineering
PPTX
Introduction to microservices
PPTX
Component based software engineering
PPTX
Cloud Computing & Big Data
PPT
Software Engineering Fundamentals
PPTX
Software Engineering Practice
PPT
Software engineering

More Related Content

PPT
Unit 1 - Introduction to Software Engineering.ppt
PPTX
Platform as a Service (PaaS)
PPTX
Software development life cycle (SDLC)
PDF
Software engineering a practitioners approach 8th edition pressman solutions ...
PPTX
Software Development Process
PDF
Requirement Engineering
PDF
IaaS, SaaS, PasS : Cloud Computing
PPTX
Software Engineering unit 2
Unit 1 - Introduction to Software Engineering.ppt
Platform as a Service (PaaS)
Software development life cycle (SDLC)
Software engineering a practitioners approach 8th edition pressman solutions ...
Software Development Process
Requirement Engineering
IaaS, SaaS, PasS : Cloud Computing
Software Engineering unit 2

What's hot

PPTX
Software Process Models
PPTX
Introduction to Software Engineering
PPTX
Software testing & Quality Assurance
DOCX
Low level design template (1)
PPTX
Waterfall model ppt final
PPTX
Middleware Technologies ppt
PPTX
Coding standards
PDF
Application of Cloud Computing
PPTX
Non Functional Requirement.
PDF
Infrastructure as a Service ( IaaS)
PDF
Microservice Architecture
PDF
The Architecture of an API Platform
PPSX
APIs as a Product Strategy
PPTX
software requirement specification
PDF
Project Planning in Software Engineering
PPTX
Introduction to microservices
PPTX
Component based software engineering
PPTX
Cloud Computing & Big Data
PPT
Software Engineering Fundamentals
Software Process Models
Introduction to Software Engineering
Software testing & Quality Assurance
Low level design template (1)
Waterfall model ppt final
Middleware Technologies ppt
Coding standards
Application of Cloud Computing
Non Functional Requirement.
Infrastructure as a Service ( IaaS)
Microservice Architecture
The Architecture of an API Platform
APIs as a Product Strategy
software requirement specification
Project Planning in Software Engineering
Introduction to microservices
Component based software engineering
Cloud Computing & Big Data
Software Engineering Fundamentals

Viewers also liked

PPTX
Software Engineering Practice
PPT
Software engineering
PDF
Fundamentals of Web Development For Non-Developers
PPT
Environments management - A Critical Support Function
PPT
Software Engineering ppt
PDF
Principles and Practices in Continuous Deployment at Etsy
PDF
Deploying and releasing applications
PPTX
How to build a proper software staging environment for testing
PDF
PPTX
Software Engineering- Engineering Practice
PPT
Integration Golden Rules
PPTX
Zero-Downtime Gerrit Code Review Upgrade
PPTX
App Development Evolution: What has changed?
PPT
Continuous Integration System
PDF
Elevate Your Continuous Delivery Strategy Above the Rolling Clouds (Interconn...
PPTX
Introduction To Software Engineering
PDF
Bad camp2016 Release Management On Live Websites
 
PPT
Scm awareness
PPT
Next Step for Virtualization: Pre-production Testing
PDF
ION San Diego - DNSSEC Deployment Panel Introductory Slides
Software Engineering Practice
Software engineering
Fundamentals of Web Development For Non-Developers
Environments management - A Critical Support Function
Software Engineering ppt
Principles and Practices in Continuous Deployment at Etsy
Deploying and releasing applications
How to build a proper software staging environment for testing
Software Engineering- Engineering Practice
Integration Golden Rules
Zero-Downtime Gerrit Code Review Upgrade
App Development Evolution: What has changed?
Continuous Integration System
Elevate Your Continuous Delivery Strategy Above the Rolling Clouds (Interconn...
Introduction To Software Engineering
Bad camp2016 Release Management On Live Websites
 
Scm awareness
Next Step for Virtualization: Pre-production Testing
ION San Diego - DNSSEC Deployment Panel Introductory Slides

Similar to Software Deployment Principles & Practices

PDF
12 factor app - Core Guidelines To Cloud Ready Solutions
PPT
Build And Automation
PDF
8 pipeline
PDF
Subhendu Mohapatra - BearingPoint - Environments Management talk with www.sof...
PDF
Build & Release Engineering
PPTX
Continuous Delivery Applied (Agile Richmond)
PPTX
Continuous Delivery Applied
PPTX
Intro To Continuous Delivery
PDF
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
KEY
Greasing The Wheels
PDF
Bcn devcon jose luis soria - patterns & antipatterns for delivery
PPTX
Linuxtag 2012 - continuous delivery - dream to reality
PPTX
Continuous delivery applied (RJUG)
PPTX
Continuous delivery applied (DC CI User Group)
PPTX
Continuous Delivery Applied
PPTX
Continuous delivery applied
PDF
Deployment is the new build
PPTX
Continuous Delivery Applied (AgileDC)
PDF
Leveraging DevOps Principles for Release and Deploy
KEY
Everything you ever wanted to know about deployment but were afraid to ask
12 factor app - Core Guidelines To Cloud Ready Solutions
Build And Automation
8 pipeline
Subhendu Mohapatra - BearingPoint - Environments Management talk with www.sof...
Build & Release Engineering
Continuous Delivery Applied (Agile Richmond)
Continuous Delivery Applied
Intro To Continuous Delivery
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
Greasing The Wheels
Bcn devcon jose luis soria - patterns & antipatterns for delivery
Linuxtag 2012 - continuous delivery - dream to reality
Continuous delivery applied (RJUG)
Continuous delivery applied (DC CI User Group)
Continuous Delivery Applied
Continuous delivery applied
Deployment is the new build
Continuous Delivery Applied (AgileDC)
Leveraging DevOps Principles for Release and Deploy
Everything you ever wanted to know about deployment but were afraid to ask

Recently uploaded

PPTX
Pig- piggy bank in Big Data Analytics.ppt.pptx
PDF
FAMILY ASSESSMENT FORMAT - CHN practical
PPTX
Searching in PubMed andCochrane_Practical Presentation.pptx
PPTX
How to use search_read method in Odoo 18
PPTX
AI_in_Daily_Life_Presentation and more.pptx
PPTX
ICH Harmonization A Global Pathway to Unified Drug Regulation.pptx
PPTX
How to Manage Line Discounts in Odoo 18 POS
PDF
NAVIGATE PHARMACY CAREER OPPORTUNITIES.pdf
PPTX
Semester 6 UNIT 2 Dislocation of hip.pptx
PDF
M.Sc. Nonchordates Complete Syllabus PPT | All Important Topics Covered
PPTX
York "Collaboration for Research Support at U-M Library"
PDF
BỘ TEST KIỂM TRA CUỐI HỌC KÌ 1 - TIẾNG ANH 6-7-8-9 GLOBAL SUCCESS - PHIÊN BẢN...
PDF
Projecte de la porta d'i5B: Els animals marins
PDF
All Students Workshop 25 Yoga Wellness by LDMMIA
PPTX
Unit I — Introduction to Anatomical Terms and Organization of the Human Body
PDF
DHA/HAAD/MOH/DOH OPTOMETRY MCQ PYQ. .pdf
PPTX
Details of Epithelial and Connective Tissue.pptx
PPTX
ELEMENTS OF COMMUNICATION (UNIT 2) .pptx
PPTX
2025-2026 History in your Hands Class 4 December 2025 January 2026 .pptx
PPTX
Cost of Capital - Cost of Equity, Cost of debenture, Cost of Preference share...
Pig- piggy bank in Big Data Analytics.ppt.pptx
FAMILY ASSESSMENT FORMAT - CHN practical
Searching in PubMed andCochrane_Practical Presentation.pptx
How to use search_read method in Odoo 18
AI_in_Daily_Life_Presentation and more.pptx
ICH Harmonization A Global Pathway to Unified Drug Regulation.pptx
How to Manage Line Discounts in Odoo 18 POS
NAVIGATE PHARMACY CAREER OPPORTUNITIES.pdf
Semester 6 UNIT 2 Dislocation of hip.pptx
M.Sc. Nonchordates Complete Syllabus PPT | All Important Topics Covered
York "Collaboration for Research Support at U-M Library"
BỘ TEST KIỂM TRA CUỐI HỌC KÌ 1 - TIẾNG ANH 6-7-8-9 GLOBAL SUCCESS - PHIÊN BẢN...
Projecte de la porta d'i5B: Els animals marins
All Students Workshop 25 Yoga Wellness by LDMMIA
Unit I — Introduction to Anatomical Terms and Organization of the Human Body
DHA/HAAD/MOH/DOH OPTOMETRY MCQ PYQ. .pdf
Details of Epithelial and Connective Tissue.pptx
ELEMENTS OF COMMUNICATION (UNIT 2) .pptx
2025-2026 History in your Hands Class 4 December 2025 January 2026 .pptx
Cost of Capital - Cost of Equity, Cost of debenture, Cost of Preference share...

Software Deployment Principles & Practices

  • 1.
    Software DeploymentPrinciples & Practices
  • 2.
    Agenda Objective SoftwareDeployment Principles & Practices Repeatable Builds Consistent Environments Autonomous Packages Ease to-do/un-do Releases
  • 3.
    Objective Basic introductionto Software Deployment Principles & Practices
  • 4.
    What is SoftwareDeployment? Software Deployment is the art of deploying software artefacts (CI’s) produced as a result of build, on the target environment (Development, Staging, Production).
  • 5.
    Principles of SoftwareDeployment One can consider 4 basic principles for software deployment, but not limited. Repeatable Builds Consistent Environments Autonomous Packages Ease to-do/un-do Releases
  • 6.
    Repeatable Builds ATypical Application will undergo a simple “build-release-deploy” process with a defined build steps. One should have the provision of rebuilding the application exactly in the same way as it was built at the time of release, to achieve Repeatable builds One can Achieve Repeatable Builds, by ensuring Versioning of all software artefacts Versioning of all tools and its dependencies Baselining of all artefacts together Automated way of building Documented build process etc
  • 7.
    Consistent Environments? AnEnvironment includes all the components needed to build and run the application. For a JAVA based application, on the server side the following components forms part of environment: Operating System (like solaris, HP-UX, AIX) System Libraries (like SH, openSSL) Services (like Apache, Oracle/Sybase) Run time Environments (like JDK, SDK) Application Servers (like WPS, Websphere) etc It is very important to keep all the above components consistent in all environments used for the build, release and deployment. Example: A developer might be doing development on windows based workstations, while the deployment has to be carried out on the UNIX based environment. In this case, consistency can be maintained at the Tool or Stack Level, by having the same JDK, SDK,app libraries etc.
  • 8.
    Consistent Environments?...continued ConsistentEnvironment means in 2 ways: All Environments (Development, Staging) should use the same components (System, Software) to maintain consistency with the production environment (sometimes non-realistic, due to parallel dev/testing) Consistency with all developer environments (workstation etc) used for development, build and unit test. One can achieve a consistent Environment with the following: Version control of all components (server, workstation configurations etc) Centralizing the storage of the components & its downloads. Developing a strategy to run multiple versions of the components Automated/Scripted way of deploying components (server, application etc) Identifying and Documenting all application dependencies. Good Packaging Strategy Virtualization (VMWare, Virtual Server) Tracking Environment Changes with a good change management tool coupled with a robust process
  • 9.
    Autonomous Packages? AutonomousPackages means the deployable package should exist independently. The more autonomous the deployable package is the more easier to deploy and maintain. Why software package autonomous is required? Running multiple instances of the packages independently All relative paths (configuration, logs etc) is relative to the package Application install/un-install, start/stop is independent to each package. Each package contains its own dependencies interms of version and libs required. : :
  • 10.
    Easy to-do/un-do Releases?The most important part of the release is to know the environment. Doing a software release can be easy as installing a new version of the SW package into a single environment or installing multiple packages on multiple environments. How to ensure SW Releases can be easy to install/un-install/rollback? Knowing the Environment Understanding the dependencies Automated Release Strategy Testing Backup’s Documentation (release steps/notes, dependencies etc) : :
  • 11.

[8]ページ先頭

©2009-2025 Movatter.jp