Tools for Sitecore DevOps with Habitat Architecture

May 29, 2017

By Venkata Phani Abburi

DevOps With Sitecore and Habitat: TA Digital’s Favorite Tools

Does your organization deploy mobile apps or rich web apps as major releases — full of updates and new features — that take months to develop, test and deploy? Around the world, organizations have decreased the time between new releases and increased customer satisfaction by implementing DevOps. With DevOps, your development and operations teams work collaboratively to build a constant cycle of creating, testing and implementing new features.

Implementing DevOps means that your projects never stop improving. We use the term “Infinity Cycle” to refer to the constant state of application improvement — and integrating Habitat with Sitecore is the best way to optimize and automate much of the DevOps process. If you’re using Sitecore and Habitat already, we’d like to suggest some additional tools that can make your DevOps environment even more productive.

Planning

During the planning phase of DevOps, Visual Studio Online, Jira, TFS and VersionOne are some of the most useful tools that your organization can use. Your development and operations teams should use the planning phase to collaborate on ideas and set concrete goals for the project. Only with concrete goals can you definitively measure the project’s success.

Development

We suggest using the Sitecore Instance Manager along with NuGet, Bower, and Yeoman during the development phase of a DevOps project. When developing, you should look for as many opportunities as possible to automate repetitive tasks. Proper versioning is key during the development of any DevOps project. Use a central repository to store code versions and track changes in case you need to roll back a portion of the code during the testing phase.

Sitecore-DevOps

Image courtesy: Team Development for Sitecore

 Sitecore-DevOps

Image courtesy: Sitecore Habitat

Sitecore-DevOps

 Sitecore-DevOps

Image courtesy: Team Development for Sitecore

Building

Some of our favorite DevOps tools for the building include Sitecore Instance Manager, PowerShell, AppVeyor and Microsoft Team Foundation Server. During the building phase, we like to use a dedicated build system to ensure that the build that’s already in production mode and the new build that we intend to integrate will remain separate until we’re certain that the integration build is free of errors and ready to use. The build phase also benefits greatly from automation. With automation, you can queue a new build for integration with your production build and delay integration until the development team approves it. When the development team certifies that the integration build is free of errors, the automation system can integrate the build automatically. If the development team doesn’t approve the build, the system can reject it before it reaches the production server.

Sitecore-DevOps

Image courtesy: Sitecore Habitat

Testing

During the testing phase of DevOps, we suggest utilizing tools such as Visual Studio, Xamarin Test Labs, JMeter, and Selenium. Remember that testing a build isn’t just about ensuring that the code works and is free of bugs. It’s also about testing the user experience and the load on your servers. It’s also important to perform a dry run of the integration process to ensure that the integration will be successful before you push the build to a production server. We also test our builds on multiple devices to ensure that no mobile-specific bugs exist.

Deployment

The most important thing to remember about the deployment phase of DevOps is that deployment of code doesn’t have to refer to pushing the code to the production server. The only thing that you need to accomplish during the deployment phase is to confirm that the code is ready for deployment and that you can implement it at any time. You’ve completed the deployment phase successfully when you’ve confirmed that an unforeseen negative event will not occur when you move the code to production. Some of the tools that we utilize during the deployment phase include Azure Resource Manager, Chocolatey, Octopus Deploy and PowerShell DSC.

Monitoring

On the production server, the monitoring phase never truly ends. There is always a possibility that bugs could exist in production code and that customers could encounter unforeseen issues. The best way to keep your environment running smoothly and maintain the best possible user experience is to be proactive about finding and fixing bugs before your users discover them. We believe that the top tools on the market for monitoring are Zabbix, Application Insights, Sitecore Log Analyzer, Dynatrace, and NewRelic.

Collaboration

Collaboration is the core of what DevOps is about. Your organization’s decision makers, developers, testers and customer service personnel need to work together to ensure that your code remains in a constant state of improvement, testing, and deployment. Your company’s departments can communicate by chatting online, sharing documents or through automated means. At TA Digital, we have created chatbots for Skype and Slack that enhance the collaborative aspect of DevOps by streamlining, and approving publishing of content. Some of the other collaborative tools that we recommend for DevOps include SharePoint, Confluence, Hipchat, Github Wiki, and Yammer.

Explore Additional Resources

Our Certified Sitecore Experience Platform and Sitecore MVP’s specialize in helping you deliver seamless contextually personalized customer experiences.

Our team of DevOps and managed services experts help our clients effectively manage their entire IT operations.


GET HELP FROM OUR EXPERTS

Over the past 19 years, we have completed thousands of digital projects globally. We have one of the largest and deepest multi-solutions digital consulting teams in the world. Our proprietary processes and years of Digital Experience expertise have earned us a 97% customer satisfaction rating with our clients ranging from Global Fortune 1000 to Mid-Market Enterprises, leading educational institutions, and Non-Profits.

Contact us if your organization needs assistance with your Sitecore DevOps tools using Habitat Architecture.

About TA Digital

TA Digital is an innovative digital transformation agency, specializing in delivering the digital experience, commerce, and marketing solutions.  For nearly two decades, we have been helping traditional businesses transform and create dynamic digital cultures through disruptive strategies and agile deployment of innovative solutions.