Click here to Skip to main content
15,031,219 members

Dominic Burford - Professional Profile



Summary

Follow on Twitter LinkedIn      Blog RSS
6,538
Author
2,053
Authority
9,849
Debator
8
Editor
100
Enquirer
212
Organiser
2,947
Participant
I am a professional software engineer and technical architect with over twenty years commercial development experience with a strong focus on the design and development of web and mobile applications.

I have experience of architecting scalable, distributed, high volume web applications that are accessible from multiple devices due to their responsive web design, including architecting enterprise service-oriented solutions. I have also developed enterprise mobile applications using Xamarin and Telerik Platform.

I have extensive experience using .NET, ASP.NET, Windows and Web Services, WCF, SQL Server, LINQ and other Microsoft technologies. I am also familiar with HTML, Bootstrap, Javascript (inc. JQuery and Node.js), CSS, XML, JSON, Apache Cordova, KendoUI and many other web and mobile related technologies.

I am enthusiastic about Continuous Integration, Continuous Delivery and Application Life-cycle Management having configured such environments using CruiseControl.NET, TeamCity and Team Foundation Services. I enjoy working in Agile and Test Driven Development (TDD) environments.

Outside of work I have two beautiful daughters. I am also an avid cyclist who enjoys reading, listening to music and travelling.

 

Reputation

Weekly Data. Recent events may not appear immediately. For information on Reputation please see the FAQ.

Privileges

Members need to achieve at least one of the given member levels in the given reputation categories in order to perform a given action. For example, to store personal files in your account area you will need to achieve Platinum level in either the Author or Authority category. The "If Owner" column means that owners of an item automatically have the privilege. The member types column lists member types who gain the privilege regardless of their reputation level.

ActionAuthorAuthorityDebatorEditorEnquirerOrganiserParticipantIf OwnerMember Types
Have no restrictions on voting frequencysilversilversilversilver
Bypass spam checks when posting contentsilversilversilversilversilversilvergoldSubEditor, Mentor, Protector, Editor
Store personal files in your account areaplatinumplatinumSubEditor, Editor
Have live hyperlinks in your profilebronzebronzebronzebronzebronzebronzesilverSubEditor, Protector, Editor
Have the ability to include a biography in your profilebronzebronzebronzebronzebronzebronzesilverSubEditor, Protector, Editor
Edit a Question in Q&AsilversilversilversilverYesSubEditor, Protector, Editor
Edit an Answer in Q&AsilversilversilversilverYesSubEditor, Protector, Editor
Delete a Question in Q&AYesSubEditor, Protector, Editor
Delete an Answer in Q&AYesSubEditor, Protector, Editor
Report an ArticlesilversilversilversilverSubEditor, Mentor, Protector, Editor
Approve/Disapprove a pending ArticlegoldgoldgoldgoldSubEditor, Mentor, Protector, Editor
Edit other members' articlesSubEditor, Protector, Editor
Create an article without requiring moderationplatinumSubEditor, Mentor, Protector, Editor
Approve/Disapprove a pending QuestionProtector
Approve/Disapprove a pending AnswerProtector
Report a forum messagesilversilverbronzeProtector, Editor
Approve/Disapprove a pending Forum MessageProtector
Create a new tagsilversilversilversilver
Modify a tagsilversilversilversilver

Actions with a green tick can be performed by this member.


 
GeneralBlog updates Pin
Dominic Burford13-May-21 1:37
professionalDominic Burford13-May-21 1:37 
GeneralPublishing events into an ASP.NET Core webhook with Octopus Pin
Dominic Burford13-May-21 1:33
professionalDominic Burford13-May-21 1:33 
GeneralA quick update Pin
Dominic Burford2-Nov-20 8:33
professionalDominic Burford2-Nov-20 8:33 
GeneralHow do you know when it's time to move on? Pin
Dominic Burford19-Aug-20 0:19
professionalDominic Burford19-Aug-20 0:19 
GeneralInitial thoughts on deploying with Octopus Pin
Dominic Burford17-Aug-20 4:25
professionalDominic Burford17-Aug-20 4:25 
GeneralWhat makes for a good DevOps process? Pin
Dominic Burford5-Aug-20 23:00
professionalDominic Burford5-Aug-20 23:00 
There seem to be plenty of articles relating to the creation of a DevOps process, or the creation of a Continuous Integration and / or Continuous Delivery (CI / CD) pipeline. But there seem to be very few that relate to what makes for a good DevOps process. Or in other words, what makes for a good CI / CD pipeline? If you're creating a DevOps process, what makes for a good one? What makes for a good CI / CD pipeline? In this article I will try to describe what makes for a good DevOps process, and what doesn't.

Let's start with a brief summary for those not familiar with the concept of DevOps. In a nutshell, DevOps is a relatively new concept. It's aim is to align and integrate the following core IT disciplines.
  • Software Development
  • Quality Assurance
  • IT Operations
Through a set of processes, tooling and cultural changes, it helps remove / reduce barriers between these disciplines to enhance the quality and reliability of software products, and to accelerate the delivery of those software products.

What makes a good DevOps tool?


Agile tools are very often mistaken for DevOps tools due to their close relationship with the iterative and incremental framework of software development. While a good DevOps tool is inherently Agile, that doesn't necessarily imply that all Agile tools will be fit for purpose within the confines of a DevOps environment.

In reality, there are probably very few Agile development tools that are integrated or flexible enough to provide the full scope of features that DevOps requires. And all within a collaborative environment.

The primary goal of DevOps is to bring together the previously isolated disciplines of software development (whose goal is to create features within the software products), QA (whose goal is to ensure that those features meet customer needs and are fit for purpose) and Operations (whose goal is to main the infrastructure that these disciplines rely upon).

A good DevOps tool therefore provides these disciplines with the necessary insights they require. It provides insights not just for their own disciplines, but so that each discipline can gain insights into the other disciplines. It therefore brings them together by forming part of the overarching development lifecycle.

What makes for a good CI / CD pipeline?


A good DevOps process therefore is one that is closely aligned with Agile (from where the concept originated). What makes for a good CI and / or CD pipeline? I won't create an exhaustive list (that could form the basis for a book), but instead give a few broad tips when building your own pipeline(s).
  • Repeatable, reliable, consistent: This is the mantra for a good pipeline. It cannot be overstated how important these attributes are. These are the cornerstones for a good pipeline.
Repeatable - You can run your pipeline as often as necessary and the exact same steps will be executed in the exact same order each and every time.

Reliable - Your pipeline should be robust and should not be reliant upon temporal resources. Build your pipelines using the same engineering rigour and discipline that you would apply to your code. A good pipeline should be able to withstand whatever changes the software developers commit to it during the development of a feature.

Consistent - A good pipeline should be predictable. A pipeline should create only the artifacts that it has been designed to create. It should only run the unit tests that have been designed to be executed. It should only deploy to the endpoints that have been configured. A good pipeline should be consistent and predictable to the point of being boring. In fact, with regards to pipelines, the more boring the better.
  • Automation: As far as possible, the entire pipeline should be automated with no manual intervention. Other than manually triggering certain events (such as your deployment into production), the steps involved in your pipelines should all be capable of running without the need for human intervention.

Summary


This has hopefully give you an overview of what makes for a good DevOps process, and what makes for a good CI / CD pipeline. If you create your processes and pipelines with these in mind, you should be on the right tracks.
"There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult." - C.A.R. Hoare

Home | LinkedIn | Google+ | Twitter

GeneralExecuting async code from non async code Pin
Dominic Burford19-Jul-20 23:21
professionalDominic Burford19-Jul-20 23:21 
GeneralPassing dynamic queries between client and backend server Pin
Dominic Burford29-Jun-20 4:55
professionalDominic Burford29-Jun-20 4:55 
GeneralManaging your Azure resources using Powershell scripting Pin
Dominic Burford13-Mar-20 6:42
professionalDominic Burford13-Mar-20 6:42 
GeneralIntroduction to Azure Cognitive Search Pin
Dominic Burford28-Feb-20 5:39
professionalDominic Burford28-Feb-20 5:39 
GeneralUpdating the version number in your .NET build pipeline Pin
Dominic Burford24-Feb-20 5:33
professionalDominic Burford24-Feb-20 5:33 
GeneralFinding a solution to an Azure web app deployment problem Pin
Dominic Burford23-Jan-20 23:51
professionalDominic Burford23-Jan-20 23:51 
GeneralStructured Logging Pin
Dominic Burford24-Dec-19 1:28
professionalDominic Burford24-Dec-19 1:28 
GeneralEnabling TLS 1.2 on your .NET application Pin
Dominic Burford11-Dec-19 23:11
professionalDominic Burford11-Dec-19 23:11 
GeneralThe new version of the app is (almost) ready for release Pin
Dominic Burford7-Nov-19 23:28
professionalDominic Burford7-Nov-19 23:28 
GeneralChunking your lists into multiple smaller lists Pin
Dominic Burford11-Sep-19 3:40
professionalDominic Burford11-Sep-19 3:40 
GeneralWriting flexible filters for your data using Predicates Pin
Dominic Burford16-Jul-19 6:11
professionalDominic Burford16-Jul-19 6:11 
GeneralRe: Writing flexible filters for your data using Predicates Pin
Slacker00716-Jul-19 22:09
professionalSlacker00716-Jul-19 22:09 
GeneralRe: Writing flexible filters for your data using Predicates Pin
Dominic Burford17-Jul-19 1:17
professionalDominic Burford17-Jul-19 1:17 
GeneralBlocking Asynchronous Code Pin
Dominic Burford4-Jul-19 22:11
professionalDominic Burford4-Jul-19 22:11 
GeneralDesigning and implementing flexible RESTful services Pin
Dominic Burford14-Jun-19 0:50
professionalDominic Burford14-Jun-19 0:50 
GeneralWriting asynchronous code with .NET Pin
Dominic Burford10-Jun-19 3:34
professionalDominic Burford10-Jun-19 3:34 
GeneralWeird Minification Behaviour in ASP.NET Core Pin
Dominic Burford28-May-19 3:54
professionalDominic Burford28-May-19 3:54 
GeneralThe Importance of Structure and Dilligence Pin
Dominic Burford24-May-19 6:14
professionalDominic Burford24-May-19 6:14 
GeneralWhen should you rewrite that legacy application? Pin
Dominic Burford22-May-19 0:03
professionalDominic Burford22-May-19 0:03 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.