I’ve been speaking a lot on the topic of DevOps lately, and there’s a question I like to ask. What is the purpose of your organization? I get all kinds of answers. “We make software that delights our customers and makes their jobs easier.” “Our company makes low-cost widgets. “ “We make the best gizmos … Read more
I hear from a lot of database administrators who are worried about being automated out of a job. These kinds of worries are not new. Over the course of my career, I’ve seen CTOs outsource large groups of IT jobs to different regions around the world to save money. IT has long been regarded as … Read more
Unit testing and even Test-Driven Development is possible for databases. In this article Samuel Nitsche makes the case for introducing unit tests to your database development, and suggests some lightweight ways to get started.… Read more
If your development team needs to work on anonymised copies of the current production database, and if changes are being delivered rapidly as well, that could mean a lot of time and routine DevOps work copying databases. SQL Clone was designed for tasks like this. Grant Fritchey investigates whether you save time, effort and scripting over the more traditional approach, and at what point it makes sense to use it.… Read more
Database code analysis will reduce the number of 'code smells' that creep into your database builds. It will alert the team to mistakes or omissions, such as missing indexes, that are likely to cause performance problems in production. It will allow the Governance and Operations team visibility into production readiness of the code, warning them of security loopholes and vulnerabilities. William Brewer describes the two technical approaches to database code analysis, static and dynamic, and suggests some tools that can help you get started.… Read more
Database Lifecycle Management aims to make the development and modification of databases more predictable. Bugs are the source of more unpredictability than anything else, purely because it is so difficult to guess how long it will take to fix them. Good testing at all stages may take some time and effort, but it greatly reduces likelihood of the wildcard factor of the bug that is first detected during the deployment process; or worse, that gets into the production release.… Read more
Although the techniques of Database Lifecycle Management can reduce the timescales for the delivery of new functionality to business systems, what if the database 'layer' consists of several large interdependent databases and data flows with replication and audit? Does DLM scale to this level of complexity? Margaret Cruise O'Brien starts a series of articles that describes the practicalities of improving DLM within an existing framework and team supporting a multi-database multi-server system, by describing some of the database management problems and solutions in an enterprise-scale database.
… Read more
When there are several SSIS projects with packages in a SQL Server Database or Data Warehouse development, automated deployments as part of Continuous Integration can get tricky. Nat Sundar describes how he created a Deployment script that is intended to provision a Data Warehouse for System Integrated testing (SIT).… Read more
If you are introducing DevOps workflows into a large organization, you’ll need to plan carefully and prioritize tasks, adapt, maintain a thick skin, communicate constantly, and ensure that all teams have a chance to contribute their solutions. Bob Walker explains how FCSA set up a DevOps Workgroup, its philosophy and its goals for improving database and application deployment processes.… Read more
SSIS was not originally designed with automated deployment in mind. However, any database that uses SSIS projects and their packages needs a way of scripting the deployment of them if the database is to be deployed rapidly, or via a build server. Nat Sundar shows a technique that can be extended to manage the scripted deployment of SSIS projects. … Read more
Identifying a need for better collaboration between teams is only the first step to introducing DevOps workflows into your organization. You also need to define a common DevOps goal, a strategy to achieve it, and then to break down this strategy into series of manageable tasks for each team. Bob Walker describes how Farm Services of America started to "do DevOps".… Read more
The easiest way of explaining how a DevOps approach to database deployment can dramatically speed up the process is to use the term ‘shift-left’. By performing, or at least preparing for, all the processes and tasks that are necessary for deployment as soon as possible in the development cycle, it is possible to move from big, infrequent releases to “little and often”. Stephanie Herr explains how ‘shifting left’ can get deployment pipelines moving.… Read more
Virtual machines are easier to manage via PowerShell than with the the Hyper-V Manager console. PowerShell Direct takes this further by allowing you to interact easily with the virtual machines on the Hyper-V host without needing network access. With Windows Nano Server, PowerShell Direct is an essential because this OS requires you to use remote management via PowerShell scripts.
… Read more
Let's forget the actual PowerShell code for a moment: Why is PowerShell important? Why should I use it? Where did it come from? Why did it take so long to arrive? These and many other basic questions are answered in William Brewer's latest addition to the series that answers those seemingly simple questions that you were too shy to ask in public.… Read more
Database Lifecycle Management (DLM) aims to provide a roadmap of what is required, and when, to deliver and maintain effective databases that can respond quickly to business change. How does the DevOps movement, as it applies to databases, fit into this? William Brewer explains how DevOps provides the organisational change between delivery and operations to make important parts of the process easier to introduce.… Read more
On both Windows and Linux, the chore of setting up a development workstation can take several days, and there always seem to be a few configuration settings that get missed. You can reduce the time and tedium dramatically by automating the process by using Vagrant to set up the operating system, followed by your choice of provisioning, configuration management and orchestration applications such as Puppet, Chef, Ansible, Salt, Docker, Chocolatey and Boxstarter. Vishwas shows how to make it easy to do with Vagrant, Chocolatey and Boxstarter.… Read more
Subscribe for more articles
Fortnightly newsletters help sharpen your skills and keep you ahead, with articles, ebooks and opinion to keep you informed.