Agenda
Devops Overview
Definition
How to Implement
Devops Automation
Infrastructure
Deployment
Testing
Devops Overview
Adopt Culture (C)
Implement Automation (A)
Measure Implementation
(M)
Share Everything (S)
What is DevOps
Devops is a software development method that makes companies to adopt new principles, practices and
technologies which help developers, QA and operations team to work together and deliver better Quality
software in lesser time and risk
What is required for DevOps implementation
For Devops implementation companies need to adopt Devops Culture and Automation tools/technologies with focus on communication, collaboration, integration and cooperation between IT and Operations team that should create continues Deployment/Delivery environment
Devops Implementation
Adopt Devops Culture
Implement Agile methodology. Kill long duration deliveries with break down of requirements in small continues and meaningful deliveries
Bridge IT and Operations by collaboration and highly communicative working
Environment
Create cross functional team
(analyst, developer, testers ,operations…..) with skilled, flexible and problem solving resources.
Adopt Devops Automation
Automate Infrastructure
- - Create Scalable, always available servers
which utilizes 100% hardware resources and reduces provisioning time for creation of software development environments
- - VMware, Citrix, Oracle, Linux Vserver,
Delphix………
Automate Code, Configuration and deployment
- - Always create deployment packages
Which deploy full functionality as executable And reduces human error risk
- - Chef, Puppet Labs, Jenkins…... Automate Testing
- - Fully automate to reduce execution time and human error
- - HP QTP, Selenium, Jenkins, Oracle ATS………….
Measure
• Measuring what is implemented is extremely important to for any organization. Right matrices are vital for
Devops implementation Success
• Implementation should be measure on speed of deliveries, customer response, frequency of failure , failure fix time Etc.
• Measure criteria should help to find out how Devops implementation can be improved, modified or extended.
Sharing
Improve transparency by creating culture where team shares ideas, Project Goals and objectives, problems,
Responsibilities, Knowledge and most important success and failure
Next Topic
Devops Overview
Definition
How to Implement
Devops Automation
Infrastructure
Deployment
Testing
Why Automate Infrastructure
Agile development model requires multiple teams to work parallel on continues incremental deliveries which requires instant provisioning of multiple copies of development and QA environments. Automation of infrastructure provisioning helps individual teams to instantly create their own instances without any help from server administrators, it also helps team to work on near production environment which improves quality and reduces risk of failure
How to Automat infrastructure
Cloud Computing :- Buy IaaS (Infrastructure as a services) IaaS providers can easily provision development and QA instances on need bases
Virtualization :- implement virtualization software for in premise servers, virtualization software can create Multiple instances and helps 100% usage of purchased hardware resources
Automate Infrastructure
What is virtualization
• Today’s x86 servers designed to run on only single operating system at a time, which requires to deploy many servers running just 30% of its capacity • Virtualization software enable several operating system and application to run on one physical server by creating virtual machines which uses as much of host’s computing resources as required.
Problems with ERP Infrastructure
Cloud computing will not work because of big size of ERP database and also current investment for in premise servers. Virtualization works fine to provision four computing resources CPU, RAM, Storage and Network and retains prior investments but it does not understand ERP applications and databases running on these resources
Virtualization faces challenges to provision development and QA environment instantly on need bases as copy and refresh of ERP suites takes several days and it has dependency on server administrators
ERP applications has big size of production database and replicating it to multiple instances required big storage which is 10 time bigger than actual production server storage size
Because of all above issues Software development team works in outdated environment and faces more issues in production
Delphix VDB (Virtual Database)
What is Delphix
Delphix is Daas (Data as a Service) platform that brings virtualization benefit to in premises ERP applications like SAP, J D Edwards,
Peoplesoft, Oracle E-business suite. It provides self service database provisioning service for internal developers to create databases on-demand
Delphix captures and stores compressed copy of production database including ongoing changes . From this data footprint it can provision virtual database for different development and QA instances. This virtual database will use storage spaces only for changed data
Production-1TB Dev :1TB QA :1TB Reporting: 1TB VDB Dev : 1 GB VDB QA : 1 GB VDB Reporting : 1 GB Traditional Environment Virtual DB Environment
Compressed full Prod Copy : 1/3 TB Production-1TB
What is VDB – Virtual Database
VDB is multiple cloned copy of source database which shares storage with source and other VDB. Each VDB maintains its own read/writable changed version without impacting source or other VDB. VDB is created with almost no storage and it accumulates only changed blocks during usage
Delphix VDB Creation
Detailed VDB (Virtual Database) Creation Process
1) Crete initial full copy of production application
Install Delphix engine on separatemachine and provide source application and destination storage
Delphix will create initial full copy of production application at destination No impact on production operation as it makes one time full copy as additional application accessing database
Full snapshot in 1/2 time of traditional refresh and also one time only
2) Compress and store collected data as initial footprint
Delphix will copy original datacompress it up to 30% and stores in destination storage
Delphix VDB Creation Continued…
Detailed VDB (Virtual Database Creation) Process
3) Delphix stays in sync with production by collecting only
changed data
It maintains synchronization with source databases based on configurable policy (E.g.. 1 day, 1 hour)
It maintains TimeFlow of source data changes – a rolling record of file and log changes retained by policy (E.g. 2 weeks, 1 Month)
Redo Logs A B C D E F F F G H G H
Week1 Week2 Week 3 Week 4
B l o c k s TimeFlow Delphix Engine Delphix Storage D a i l y S y n c 4 W e e k R e t e n t i o n
Delphix VDB Creation Continued…
Detailed VDB (Virtual Database Creation) Process
4) Create any number of virtual database that can run
independently with their own version
.
VDB can be provisioned from delphix server within the Retention Window. VDB can be created in minutes Created with almost no storage as initially it will use data from compressed and shared storage
Multiple VDB can be created from any point in time from the TimeFlow
Each VDB acts as read/write copy of database. It Maintains its own change data blocks and shares unchanged data blocks from shared storage
Redo Logs A C D E F F F G H G H
Week1 Week2 Week 3 Week 4
B l o c k s TimeFlow Delphix Engine VDB : Dev VDB : QA VDB : Reports
Delphix Features
Delphix Features VDB (Virtual Database) Fast Provisioning Data masking Database Branching ERP Virtualization Support to Configuration ToolsIt creates compressed copy of production database and runs multiple copies on single server saves storage and
utilizes 100% computing resources of the server
It reduces development and QA instance provisioning time by 80% and supports full and incremental refresh
Provides automated data masking for development and QA instances refreshed
from production Provides API support to
configuration management tools like Chef and Puppet
labs
Provides inbuilt support to oracle E-business suite and
SAP with GUI tools and command line packages
Create new VDB by branching existing VDB instance that will copy all changes done on source VDB from
How it can help us
Fast Provisioning
:-• Delphix can refresh the instance in few hours so team can work on near production environment. It has also feature of fast incremental refresh which can help support team to work on any production issue directly in support instance
Near Prod Environment for Each Project
:-• One team do not need to wait on another team to finish testing for refresh . Virtualization can easily
create new instances with minimum use of computing resources and also can release resources when one team finishes testing.
Save Storage
:-• It creates compressed DB copy of production database and uses this copy to create virtual database(VDB). VDB will stores only changed data so no need to size QA and development instance same as Prod.
Auto Masking
• The inbuilt masking feature of Delphix can help to update production email addresses and other important data in non prod environment during provisioning
Need to Verify
• How Applying patch will work with VDB
• How DB code can be version and migrated to multiple VDB • How OA Framework will work
Next Topic
Devops Overview
Definition
How to Implement
Devops Automation
Infrastructure
Deployment
Testing
Automate Deployment
Though deployment activity makes everyone panic in organization Devops insist continues deployment and delivery which require organization to build deployment framework which is automated, fast, painless and human error free. Manual or semi automated deployment framework is highly unreliable and can become biggest bottleneck in achieving DevOps goals
Roadblocks on deployment automation
Developers think automated deployment is
unaccounted additional effort which will steal time from their development activities
Organization thinks developers should more
concentrate on development rather creating deployment scripts which are not visible to higher management
Everyone has mindset that our deployment has many moving parts and dependencies which can not be fully automated
Consideration
• Fast :-If company automate infrastructure provisioning and its available in minutes, deployment should be completed less than 50% of instance provisioning time.
•Repeatable and consistent :-Create single deployment process which is repeatable and consistent
•Package Driven :-Create deployment package for each delivery by consolidating and organizing depended deployment activities in single package which should be independently executable in any instance and Can be roll backed at any point of time.
•High Visibility and Centralized Control :- Clear visibility for what is deployed, where it is deployed and deployed by whom, it should be centrally controllable and should give clear picture of deployment state (success and Failure)
Benefits of deployment Automation
It will help in creation of continues deployment
environment and helps to adopt/implement Devops for organization
Deployment becomes much less human error-prone and much more repeatable
Anyone can deploy the code so it eliminates person dependency
Any new functionality can be moved to any instance very fast and painless so more time for regression testing and bug fixing
R12 Deployment Process
Oracle E-Business Suite deployment is consists of four deployable objects. Code (PLSQL,DDL,WS,Java), AOL (DFF, Value Set, Concurrent Request), Standard Setups and Patches. There are available tools like Kintana, Migration LogiK, Dell Stat that helps to version, package and deploy DB and AOL objects but there is no tool that help automation of Standard E-business suite Setup.
Code Objects AOL Objects Patches E-Buss Setups E-Business Suite deployable objects
Kintana Code Repository AP 322 AD Utl
Release Rollout Plan
Package-1 Package-2
Dev SIT Prod
Code Version Control
Current Implementation Process
Code and new AOL objects are migrated through Kintana that also line by line
Changed AOL objects and E-buss setups are maintained in AP 322 and migrated Manually
Patches are maintained in Excel sheet during migration across the instances
RRP has Multiple manual steps and required coordination with multiple teams
Always required to review and verify changes after execution of RRP to find and correct human errors
Devops Requirement for Deployment Automation
•Deployment process should not include any manual or semi manual activities
•All deployment resources should be packaged together and should be executable by resolving dependencies by itself
• It required to package technical and functional objects like oracle patch which can be apply with single command execution
Use application change management pack for code, AOL, E-Bussiness setups and Patch.
R12 Deployment Automation Options
Currently we have only below options to achieve deployment Automation Requirements for Devops
Application Change Management Pack
Packages custom code and configuration into custom packages that can be migrated across instances using patch Manager or AD Utility
Can be linked with any code version tool
Deploy standard oracle patches across the instances from GUI tool Patch Manager Extends i-support capability to migrate functional setups across instances
Licensing is the problem
E-Buss
Setups AOL
Application Change Management Pack Change Management Tools
Customization Manager Patch Manager
Setup Manager