3. This session is an introduction to DevOps for Database
Administrators. The focus is not only to discuss the concepts,
tools and processes, but cultural changes for DBAs to
become more agile in a DevOps world.
I now have to go tell upper management of my findings
What I learned from this- When only development is agile or embraces an increased development cycle, it’s not the same as DevOps and this was the type of use case that showed proof of why its needed.
DevOps derives from both development and operations, groups that DBAs often have a foot in each of.
There is a high focus on collaboration, geared on methodologies, process and practice.
The goal is to release more frequently, more successfully and with less bugs.
Agile 2008 conference, Andrew Clay Shafer and Patrick Debois discussed "Agile Infrastructure”
The term DevOps was popularized through a series of "devopsdays" starting in 2009 in Belgium
Agile and DevOps aren’t one in the same, but as it’s well known, DevOps came out of Agile’s success.
Agile= culture, where DevOps focuses more on the organization changes.
Build automation is the process of automating the creation of a software build and the associated processes including: compiling computer source code into binary code, packaging binary code, and running automated tests.
Configuration management (CM) is a systems engineering process for establishing and maintaining consistency of a product's performance, functional, and physical attributes with its requirements, design, and operational information throughout its life.
Continuous delivery (CD) is a software engineering approach in which teams produce software ... incremental updates to applications in production. A straightforward and repeatable deployment process is important for continuous delivery.
Functional testing is a software testing process used within software development in which software is tested to ensure that it conforms with all requirements.Functional testing is a way of checking software to ensure that it has all the required functionality that's specified within its functional requirements.
Unit testing is a software development process in which the smallest testable parts of an application, called units, are individually and independently scrutinized for proper operation. Unit testing can be done manually but is often automated.
A rapid deployment force is a military formation capable of quick deployment of its forces. Such forces typically consist of elite military units (special ops, paratroopers, marines, etc.) and are usually trained at a higher intensity than the rest of their country's military.
Release Orchestration is the use of tools like XLRelease which manage software releases from the development stage to the actual software release itself.
Test-driven development (TDD) is a development technique where you must first write a test that fails before you write new functional code. TDD is being quickly adopted by agile software developers fordevelopment of application source code and is even being adopted by Agile DBAs for database development.
Over 80% of time is waiting for RDBMS, (relational databases) to be refreshed. Developers and Testers are waiting for data to do their primary functions.
This allows for faster and less costly migrations to the cloud, too.
In computing, virtualization means to create a virtual version of a device or resource, such as a server, storage device, network or even a database. The framework divides the resource into one or more execution environments. For data, this can result in a golden copy or source that is used for a centralized location and removal of duplicated data. For read and writes, having unique data for that given copy, while duplicates are kept to singular.
Point out the engine and size after we’ve compressed and de-duplicated.
Note that each of the VDBs will take approximately 5-10G vs. 1TB to offer a FULL read/write copy of the production system
It will do so in just a matter of minutes.
That this can also be done for the application tier!
Package software into standardized units for development, shipment and deployment. A container image is a lightweight, stand-alone, executable package of a piece of software that includes everything needed to run it: code, runtime, system tools, system libraries, settings.
We refer to a container as a template in our product.
Why the DBA needs to be part of this? This is a hand-in-hand process. The DBA can provide as much value as DevOps can offer the DBA.
As the norm, we’re in the center of everything.
As data touches so much in the environment, this is expected and why DBAs are pivotal to the success of DevOps
Releases are continuous, for some companies like Toyota, 100-300 per day.
The goal is to remove obstacles and to experience less bugs/issues.
And this is how we see them, right?
Methods provide a format or guide to work from. Hybrid approaches often implement best.
Collaboration methods ensure that communication continues when team members return to their desks
Deployment tools help with documenting and lessons learned
Build tools help with automation and orchestration
Scrum focuses on features, bug fixes and backlog debt. Serves very large teams, including those 800+
Lean’s goal is to eliminate all waste, over demand on resources and ability to deliver faster and more effectively each time.
XP is one of the most controversial due to the ability to deliver even to large companies every 1-3 weeks. Very disciplined approach.
Crystal is often known under Crystal Clear, Yellow Orange and others.
First Quarter of 2017
If the ssn is the reference key, then the numbers should be masked identically across the objects to ensure integrity is maintained.
Article 29 makes it unlawful in EMEA to not just encrypt, but to mask data in non production systems and when handling data outside of secure environments.
HIPAA protects medical information
PCI protects payment information, via the internet, inside companies and in the public eye.
PII protects personably identify information between systems, (big brother) for demographics and information collections
SOX protects investor information
I’m going to add to this definition with Data version control.
This is a cornerstone to developers and testers, so as DBAs, we know the pain when a developer comes to us to flashback a database and before that, recover or logically recover, (import or datapump) independent objects. What is The developer/tester could do this for themselves?
This may appear to be a traffic disaster of changes, but for developers with Agile experience, a “sprint” looks just like this. You have different sprints that are quick runs and merges where developers are working separately on code that must merge successfully at the correct intersection and be deployed.
Versioning with source control is displayed at the top, using Virtual images. You can see each iteration of the sprints.
In the middle section is the branches of that occur during the development process. A virtual can be spun from a virtual, which means that it’s easier for developers to work from the work another developer has produced.
Stopping points and release via a clone is simply minutes vs. hours or days.