@DevOpsSummit Authors: Liz McMillan, Pat Romanski, Elizabeth White, Yeshim Deniz, Mehdi Daoudi

Related Topics: @DevOpsSummit, Recurring Revenue, Artificial Intelligence

@DevOpsSummit: Blog Post

How to Ditch Scheduled Maintenance By @PagerDuty | @DevOpsSummit [#DevOps]

Scheduled maintenance tends to take place late at night on weekends—a tough proposition for operations engineers and admins

How to Ditch Scheduled Maintenance

By Julie Arsenault

You like sleep and weekends. Customers hate losing access to your system due to maintenance. PagerDuty operations engineer Doug Barth has the solution:

Ditch scheduled maintenance altogether.

That sounds like a bold proposition. But as Doug explained at DevOps Days Chicago, it actually makes a lot of sense.

Scheduled maintenance tends to take place late at night on weekends-a tough proposition for operations engineers and admins. Customers require access at all hours, not just daylight ones. And scheduled maintenance implies your system is less reliable than you think, because you're afraid to change it during the workday.

The solution? Avoid it altogether, and replace it with fast, iterative maintenance strategies that don't compromise your entire system.

That might sound a bit ‘out there.' But shelving scheduled maintenance is easier than you think. In his talk, Doug offered four ways to do it.

Deploy in stages

First thing's first: if you discard scheduled maintenance, your deployments need to be rock-solid. They should be scripted, fast and rolled back quickly, as well as tested periodically to ensure rollbacks don't lag.

They also need to be forward and backward compatible by one version. It's not an option to stop the presses when you push out a new version. Red-blue-green deployments are crucial here, as they ensure only a third of your infrastructure undergoes changes at any given time.

Lastly, stateless apps must be the norm. You should be able to reboot an app without any effect on the customer (like forced logouts or lost shopping carts).

Send canaries into the coal mine

Use canary deploys judiciously to test rollouts, judge their integrity and compare results. These test deployments affect only a small segment of your system, so bad code or an unexpected error doesn't spell disaster for your entire service.

Doug suggested a few practical ways to accomplish this:

  • Gate features so you can put out code dark and slowly apply new features to a subset of customers.
  • Find ways to slowly bleed traffic over from one system to another, to reduce risk from misconfiguration or cold infrastructure.
  • Run critical path code on the side. Execute it and log errors, but don't depend on it right away.

As Doug summed it up for the DevOps Days crowd: "Avoid knife-edge changes like the plague."

Make retries your new best friend

Your system should be loaded with retries. Build them into all service layer hops, and use exponential backoffs to avoid overwhelming the downstream system. The requests between service layers must be idempotent, Doug emphasized. When they are, you'll be able to reissue requests to new servers without double-applying changes.

Use queues where you don't care about the response to decouple the client from the server. If you're stuck with a request/response flow, use a circuit breaker approach, where your client library delivers back minimal results if a service is down-reducing front-end latency and errors.

Don't put all of your eggs in one basket

Distribute your data to many servers, so that no one server is so important you can't safely work on it.

At PagerDuty, the team uses multi-master clusters, which help with operations and vertical scaling. They also use multiple database servers like Cassandra: No one server is that special, which means operational work can happen during the day.

Put together, these strategies help admins and operational engineers sleep more, worry less and maintain better-all ahead of schedule.

Questions? Share your thoughts in the comments below.

The post How to Ditch Scheduled Maintenance appeared first on PagerDuty Blog.

Read the original blog entry...

More Stories By PagerDuty Blog

PagerDuty’s operations performance platform helps companies increase reliability. By connecting people, systems and data in a single view, PagerDuty delivers visibility and actionable intelligence across global operations for effective incident resolution management. PagerDuty has over 100 platform partners, and is trusted by Fortune 500 companies and startups alike, including Microsoft, National Instruments, Electronic Arts, Adobe, Rackspace, Etsy, Square and Github.

@DevOpsSummit Stories
Enterprises have taken advantage of IoT to achieve important revenue and cost advantages. What is less apparent is how incumbent enterprises operating at scale have, following success with IoT, built analytic, operations management and software development capabilities - ranging from autonomous vehicles to manageable robotics installations. They have embraced these capabilities as if they were Silicon Valley startups.
Digital transformation is about embracing digital technologies into a company's culture to better connect with its customers, automate processes, create better tools, enter new markets, etc. Such a transformation requires continuous orchestration across teams and an environment based on open collaboration and daily experiments. In his session at 21st Cloud Expo, Alex Casalboni, Technical (Cloud) Evangelist at Cloud Academy, explored and discussed the most urgent unsolved challenges to achieve full cloud literacy in the enterprise world.
Daniel Jones is CTO of EngineerBetter, helping enterprises deliver value faster. Previously he was an IT consultant, indie video games developer, head of web development in the finance sector, and an award-winning martial artist. Continuous Delivery makes it possible to exploit findings of cognitive psychology and neuroscience to increase the productivity and happiness of our teams.
As DevOps methodologies expand their reach across the enterprise, organizations face the daunting challenge of adapting related cloud strategies to ensure optimal alignment, from managing complexity to ensuring proper governance. How can culture, automation, legacy apps and even budget be reexamined to enable this ongoing shift within the modern software factory? In her Day 2 Keynote at @DevOpsSummit at 21st Cloud Expo, Aruna Ravichandran, VP, DevOps Solutions Marketing, CA Technologies, was joined by a panel of industry experts and real-world practitioners who shared their insight into an emerging set of best practices that lie at the heart of today's digital transformation.
The standardization of container runtimes and images has sparked the creation of an almost overwhelming number of new open source projects that build on and otherwise work with these specifications. Of course, there's Kubernetes, which orchestrates and manages collections of containers. It was one of the first and best-known examples of projects that make containers truly useful for production use. However, more recently, the container ecosystem has truly exploded. A service mesh like Istio addresses many of the challenges faced by developers and operators as monolithic applications transition towards a distributed microservice architecture. A tracing tool like Jaeger analyzes what's happening as a transaction moves through a distributed system. Monitoring software like Prometheus captures time-series events for real-time alerting and other uses. Grafeas and Kritis provide security polic...