NoA Ignite logo

Keep your Optimizely platform in top shape with these maintenance best practices

February 1, 2024 / 7 min read

person with a computer

Maintaining your Optimizely platform is crucial if you want a smooth-running app free from unwanted surprises. Here, you’ll learn the best practices to keep Optimizely in top shape.

Limited time free Optimizely consultations

Let's talk

Why regular maintenance of Optimizely is so important

Simply put, “a stitch in time saves nine”, meaning if you don’t keep up with regular maintenance throughout the year, you risk accumulating massive technical debt, which could increase critical errors and the costs associated with fixing them.

Regular maintenance ensures that your Optimizely operates at peak performance, remains secure, and provides a seamless user experience. This means not only staying on top of the latest updates and NuGets but also regularly reviewing your logs. Doing so makes you best prepared to deal with critical errors quicker and at a lower cost than otherwise. So, to help you keep your head above the water, our effective maintenance best practices for Optimizely offer you the following:

  • Reduced time reviewing logs:
    Regular maintenance means you avoid sifting through piles of logs when something goes wrong.
  • Incremental updates:
    Staying on top of your Optimizely updates means you won’t face the overwhelming task of updating half your solution all at once. It also helps to keep updates manageable and less risky.
  • Cost efficiency:
    Save time (and money) by limiting your downtime for fixing bugs and implementing new features. Without regular code maintenance, implementing new features takes much longer.
  • Strategic scheduling:
    With a whole-year maintenance plan, you can strategically schedule your more time-consuming tasks during your quieter periods of the year.

To guide you through this process, we have created a list of the most critical areas that require your attention. Additionally, our detailed checklist can provide you with an overview of tasks to keep your Optimizely setup running efficiently.

Documentation: Building a strong foundation

From the outset, it’s important to know how your developers have configured the key functionalities of your Optimizely setup. The documentation should include architecture, requirements documentation, system integration, and how the environment is configured. This should be supported with relevant links and screenshots to make it crystal clear exactly how your systems are set up.

You really don’t have to document every line of code.

Having solid documentation has many benefits for you: It makes team transitions and onboarding easier by reducing the system’s learning curve, boosts efficiency within your established teams by providing quick access to key information, and bridges the gap for cross-team knowledge sharing, allowing developers to get up to speed on parts of a project they’re not familiar with.

Remember, your documentation isn’t just a record; it should be a living document that is regularly reviewed and updated to reflect the current state of your system.

Updates: Little by little, but sometimes not

Keeping on top of your Optimizely updates should be a key part of your regular maintenance schedule. It will keep your Optimizely system secure, efficient, and compatible with other technologies. This means updates for your libraries, NuGets, integrations, APIs, and Optimizely CMS itself, including commerce components and add-ons. It might seem like a lot to do, but fall behind at your own peril!

How often should you update?

It depends.

For minor updates, a regular schedule is best. Optimizely frequently releases minor updates with small tweaks to enhance usability or patch a vulnerability. It's best to accommodate these updates regularly; try for once a month, or better yet, every two weeks! Ensure your teams are kept informed by having them follow Optimizely news for any critical updates or vulnerabilities that need immediate action.

Optimizely minor releases Weekly releases at Optimizely, source: world.optimizely.com/releases

For major updates, a wait-and-see attitude is better. They often bring significant changes that may affect your application’s stability. Therefore, waiting a month or two after a major release gives you breathing room to ensure these versions have no critical failures which might affect your operations. During this time, you can prepare your app and teams for the update, making it smoother when it’s time to update for real.

Why should you stay updated?

Regular updates mean your Optimizely app is never too far behind the latest version. This makes accommodating newer updates more manageable and less time-consuming. It means your app is secure and benefits from the latest security patches. It also means incorporating new features becomes more streamlined; being several versions behind can mean that an update is not just an update but a complete overhaul, requiring more time and resources to implement.

Logging: Don’t get lost in the forest

If you’re not regularly reviewing your logs, how can you know the health and performance of your Optimizely platform? You can’t!

Logging is essential for providing insights into how your app is functioning and whether you have any issues to resolve. Ensure your developers regularly monitor for failures and slow response times. They should identify any frequent errors which affect performance and might indicate underlying issues.

After each release, dedicate 2-4 dev hours to log monitoring to identify and add new issues to your backlog quickly. Integrate these backlog issues into your sprints to make error resolution an ongoing task. Of course, you should adjust your developers' bug-fixing frequency based on the severity of the issue and prioritise those with the potential to cause major disruptions or irreversible damage.

Testing: Click everything, everything clicks

Regular manual or automatic testing ensures your Optimizely app meets standard performance metrics to guarantee a top user experience. It's best to integrate automatic testing directly into your DevOps pipeline; this makes sure that each component and interaction within your application works smoothly, catching potential issues before they escalate.

Performance tests are necessary to see if your site is up to the challenge of a heavy traffic load. If you fail to do them before going live, you risk serious performance issues, which will cost you sales.

Automatic testing is great for system components, but sometimes you need a more human touch. Manual testing is useful tool for delivering a fantastic user journey. Test as though you are a customer being guided through your user journey; click the most important UI functions to test they work.

For each project, you need to keep a list of key functions where you’ll conduct manual testing, as well as a list of key automatic tests. These tests should be kept at a reasonable level so you don’t overload your employees. The best practice is to prioritise areas where the consequence of any error is larger, for example, a page that allows users to make a purchase.

Rollback plan: Flip reverse it

If a release doesn’t match your expectations (or your users’), you need a rollback plan to return quickly to a previous, stable version with minimal disruption.

One way is to implement feature flags, as they allow you to deploy new features without making them immediately available. This allows you to enable them as you see fit with the peace of mind that you can disable them just as fast to return to a previous version if needed.

A better way is available with Optimizely Feature Experimentation, which offers a nuanced way to roll out feature updates gradually. You will have the ability to control what percentage of your users will be exposed to the new features, which allows you to monitor performance and user feedback in real time.

Optimizely Feature Experimentation Feature flags in Optimizely Feature Experimentation

It’s best to start with a small percentage, say 10%, to see how the feature performs. If any issues arise, you have the flexibility to dial back instantly, minimising impact and allowing your team to solve any issues without affecting all your users.

A rollback plan provides risk mitigation and means every new release contributes positively to your user experience.

Backups: Break out in case of emergency

Backups are a crucial component of any site maintenance plan. They serve as a lifeline in case of catastrophic data loss or corruption.

Usually, we create backups at different intervals depending on the type of data. However, luckily for us, Optimizely DXP provides a number of backup options.

Here are a few ways Optimizely DXP provides redundancy precautions:

  • Content Database Backups:
    Very frequent, with transaction logs being backed up every 5 minutes with a full backup every hour. This means in case of disaster, you can restore your system to a very recent state. Optimizely also keeps historical data for up to 35 days, meaning you can point-in-time restore if an issue isn’t immediately apparent.
  • Configuration and Code:
    Your entire application and its configurations are backed up every 24 hours, meaning you can restore the entire environment to a previous point in time.
  • Azure Storage Account (BLOBS):
    Any of your assets stored as BLOBs (Binary Large Objects) have geo-redundancy, meaning that your data is backed up in multiple geographical locations, protecting it against regional disasters.

For most business cases, Optimizely’s backup schedule will provide enough protection in case of emergency. However, you can also implement stronger precautions depending on the critical nature of your business.

Monitoring: Keeping an eye on things

Establishing monitoring for your platform’s most crucial endpoints, like login or payment service, means you can quickly identify and solve any issues as they arise. Tools like HTTP health checks and real-time monitoring solutions will allow your team to assess the health and responsiveness of your endpoints continuously, flagging any issues immediately. This allows for a rapid response and prevents major disruptions to your users.

Nowadays, users expect a high standard of service and reliability, and if that is disrupted, it can affect your platform’s reputation, so make sure to keep an eye on things.

Security: Access denied

Periodic security maintenance of your platform is another key area for consideration. Optimizely DXP comes equipped with its own security measures, but if you’re hosting the platform yourself, you should ensure your environment is secure. You need to run security audits, and if you don’t have the capabilities in-house, it is recommended that you hire an expert to help.

Aside from audits, you should track your access management closely. Regularly review and manage admin rights to secure your system from unauthorised users who might have malicious intent. Use tools like Active Directory to make this process easier; for example, you can create policies which automatically revoke access when an employee leaves their role. Additionally, consider extra layers of security, such as hiding access behind a VPN, to further control and monitor access to your platform.

Optimizely gives you a bunch of handy tools for access management. You can create precise user roles and groups and set each access according to their role. It has many available options, so it’s worth reading the documentation to get an idea of how specific your access management can be.

Conclusion: A stitch in time makes Optimizely shine

Each of these maintenance best practices plays a role in keeping your Optimizely platform in top shape. These proactive measures mean your system is ready for anything and guarantee a smooth user experience. Time spent on maintenance is time saved in the future.

If you need a more in-depth list of specific tasks associated with these critical maintenance areas, we have prepared a checklist for you. Use it as a tool for standard recurring tasks essential for operating Optimizely effectively.

However, each project is unique, and if you need help with something not in our guide, reach out to us for some expert advice.

People discussing. The photo focuses on the laptops and a cup of coffee.

Seeking to harness the full potential of Optimizely for your business?

Connect with us for expert guidance and let’s make it happen.

Authors

Marcin Żak, Senior Systems Consultant at NoA Ignite

Marcin Żak

Senior Systems Consultant

Marcin is a full-stack developer with a proven track record of successfully delivering a wide range of web projects. He caters to the client's needs at each and every step. With over 10 years in IT and a comparable time within Optimizely products: Content Management and Commerce, Marcin improves any team he’s on.

marcin.zakxyz@noaignite.com

Wojciech Seweryn, Senior .Net Developer at NoA Ignite

Wojciech Seweryn

Senior .Net Developer

Wojciech is a seasoned back-end developer with over six years of experience in software development. Wojciech's proficiency extends to the full spectrum of Optimizely products, including both CMS and Commerce solutions. He delivers successful projects, from large corporate platforms to bespoke solutions, ensuring client expectations are met.

wojciech.sewerynxyz@noaignite.com

Related articles

Back to all articles