Should I #DockerAllTheThings?

A while back I was in a discussion about whether there was a benefit for all organizations to adopt Docker. I was of the opinion that there are scenarios where it just wasn’t a fit. The more I thought about this, the more I realized that the benefits are always there, but some organizations have some issues they have to work out first before they can start reaping those benefits.

When you start looking into containers and their benefits you may come to the conclusion that “this would not work here“. Maybe that’s right. Are you sure?

You need to ask yourself why that is. Why is it that your organization cannot benefit from container tech? Perhaps there’s an underlying issue that needs to be addressed first, like a lack of priority on infrastructure automation. Or a lack of a DevOps culture. Or any number of things. Ultimately, there is one thing I believe is true:

YOU. CAN. NOT. FIX. ORGANIZATION. ISSUES. WITH. TECHNOLOGY.

If you are struggling with your digital transformation, suddenly deciding to Kuberneti-All-The-Dockers is not going to solve that.

(I have decided that Kuberneti is the verb form)

I put together some key benefits of containers for organizations up on sitecore.com, as well as the challenges you might face and how to tackle them. Following this article (linked below) is a good series by my colleague Rob Earlam that can help you get started with Docker:

Are Docker and Kubernetes the right fit for my team?

How to decide if your organization should adopt a container strategy.

I’d love to hear back your thoughts on this and how I could make this better!

Should we host Sitecore on IaaS or PaaS? (Jan 2020)

This started as a question on the community forums, and my answer got so long I decided to capture it here as well.

In general, when you are choosing an infrastructure model the first question you need to ask is what your team is comfortable having responsibility over, and what your organization is willing to pay to have somebody else worry about. You could do it in-house, pay a managed services group or Sitecore partner, or have Sitecore do things for you. Figure out what your team wants to have responsibility for and then that will guide you towards the best hosting model for your production environment.

Continue reading “Should we host Sitecore on IaaS or PaaS? (Jan 2020)”

Sitecore Symposium 2019 – So you think you can DevOps?

This year at Sitecore Symposium we launched a new DevOps track, with two rooms of sessions delivering what you need for day-to-day tactical solutions, but also bigger-picture, strategic guidance. Do you want to know how to deploy your code with Azure DevOps? We got you covered. Or maybe you are wondering how to fit an agile process into a waterfall organization? We got you there too! This track can appeal to both the technical and the business, it’s not all about Solr (though we got that too, thanks Jeremy!)

devops-memes-emcworld-2015-8-638

I am really proud of the sessions that Rob Earlam and I selected for the track this year, I think we have a little bit of something for everybody. Below, find your guide to all things DevOps at this year’s event!

Continue reading “Sitecore Symposium 2019 – So you think you can DevOps?”

Continuous Improvement for Sitecore DevOps

Did you miss out on my Montreal SUG presentation a few weeks back? Not to worry, I got your back!

I recorded a run-through of my presentation and uploaded it so you can hear my thoughts on how we can continuously improve and invest in DevOps practices for our Sitecore projects. It’s not exactly what was in Montreal, but close enough 🙂

Want more? Come hear the Effective DevOps for Sitecore panel at Symposium 2017 on Wednesday, October 18th, at 11:15am. I’ll be moderating panelists Kam Figy, Derek Hunziker, and Joe Bissol. Great panel, great content!

 

Eleventh day of Christmas… Blogs A-Plenty!

On the eleventh day of Christmas, my true blog gave to me… eleven re-blogged posts!

ten women of Sitecorenine sessions of trainingeight tweets a-tweetingseven VSTS featuressix GIFS a-dancingfive Golden Rules!
Four Community Sitesthree Maturity Modelstwo Sitecore PaaS features, and Sitecore in a NuGet feed.

As a fun twist, each post has been given a new classic ‘link-bait’ title. You won’t believe your eyes!

  1. Three Easy Sitecore Instance Role Configurations
  2. Six Steps to custom TDS Post Deploy Steps
  3. Need Continuous Everything now? Read more!
  4. 7 Sitecore Burst videos… number 4 will surprise you!
  5. You wouldn’t believe what happened at Sitecore Symposium!
  6. This Big Bad Wolf won’t scare you after you read this post
  7. Are you using VSTS and NuGet? You need to read this now!
  8. Got Sitecore? Want HTTP/2? Your IT team is probably telling you no. Here’s why!
  9. Multi-tenant? Multi-site? And SSL? With Sitecore? Yes you can!
  10. I hate best practices and so do you (okay, so this one was already pretty link-baity…)
  11. Can’t find the roles in your TDS package? Read this to unlock the secret.

Third day of Christmas… Maturity Models!

On the third day of Christmas my true blog gave to me… three maturity models!

.. two Sitecore PaaS features, and Sitecore in a NuGet feed.

Customer Experience Maturity Model

Sitecore released a maturity model a while back to guide organizations through the various stages of engaging a customer.  Great for seeing where you line up and how you can get to the next stage. You can download the PDF here:

Sitecore Customer Experience Maturity Model

DevOps Maturity Model

Last year I released a maturity model for continuous improvement of your DevOps practices. I use this as a guide for helping put together a roadmap for organizations looking to improve their delivery. Download it here:

DevOps Maturity Model

SEO Maturity Curve

Nothing like a little search engine optimization to ring in the holiday season! Details of SEO might be constantly changing, but the maturity of investment in SEO is always there. Check it out:

the-seo-maturity-model-across-microsoft

Sitecore Production Deployments: The Big Bad Wolf

SPECIAL NOTE: This article is a lead up for my November 30th #SCUniversity session on Continuous Integration and Deployment. Register for the webinar now!

Do you need to secure 14 signatures and present technical documentation just to run a script on your production database? Does it take a group of enterprise architects to approve a change to your application? Or do you have no restrictions whatsoever but are so afraid of touching the production server in case the slightest change brings everything down?

You are not alone… the word ‘Production’ has become synonymous with ‘Hallowed’ and a culture of fear dominates all changes made to a working production environment. An upcoming production deployment can feel like the Big Bad Wolf is coming to blow your house down.

Big Bad Wolf reading bedtime story to wolf pup

Continue reading “Sitecore Production Deployments: The Big Bad Wolf”

Continuous Everything: The Art of Repetition

It is very fashionable to apply a single word to pretty much ANYTHING to try to get in on the latest trend. The current ‘Whatever-Ops’ trend (MarketingOps, ChatOps, OpsOps) is one such example. For a while, though, we’ve been having the word ‘Continuous’ thrown in front of a whole lot of activities in the software development world: Continuous Delivery, Continuous Improvement, Continuous Management. There’s a reason for this… repeatable processes are a key ingredient to predictable delivery. And predictable delivery means money in the bank!

Continue reading “Continuous Everything: The Art of Repetition”

TeamCity FTP plugin 501 error: Cannot accept argument

While investigating options for deploying Sitecore to Azure, I found a TeamCity deploy plugin that supported FTP (among other things). Unfortunately, after trying to get it up and running I ran into the following 501 error while using FTPES (explicit FTPS):

“Failed to upload artifacts via FTP. Reply was: 501 server cannot accept argument”

Investigating on the server, I found the following in the IIS server logs:

“Client IP on the control channel didn’t match the client IP on the data channel”

A little bit of Google digging later, I found some chatter on the issue on the plugin’s GitHub issues list. That thread pointed to a patch build with options to specify Active versus Passive in the FTP mode. It turns out I needed Passive, but the original plugin download didn’t support it.

If you also need this functionality, this is the link to the plugin developer’s build which supports an option to specify Passive versus Active on the FTP mode:

https://teamcity.jetbrains.com/guestAuth/repository/download/bt402/662499:id/deploy-runner.zip?guest=1