Dominating the Austrian publishing landscape for the last 60 years, Vienna-based Kurier Group delivers one of the country’s largest daily tabloid newspapers. An online publishing pioneer, Kurier’s complementary mega website drives ad sales and energizes readers by offering 200 new articles a day.
Keeping the 5 million unique Kurier.at visitors in the know about the latest news around the globe: a monumental responsibility for Adam Zielinski, Kurier Digital CTO. One that used to tether him to his laptop—virtually around the clock. When Zielinski went out to dinner with his family, his laptop occupied an unwelcome seat at the table.
Historically, Kurier’s dev team split their time between DevOps and development; the latter got the short end of the stick. The team handled a mix of major issues and mundane tasks—from system outages to updating SSL certificates. None of these delivered tangible value to the company.
Highly motivated to make a change that would free their dev team to focus on product, Zielinski selected Platform.sh as their platform-as-a-service (PaaS) provider.
It might take a good DevOps team member 100 minutes to manually set up a new environment, including a new database and web server and all that belongs to it, including Elasticsearch and configuration. With Platform.sh, it takes a minute, and no one has to do anything; it’s completely automated. We push a YAML file that defines we want a database, and two minutes later, we have a database. It can't get better than that. Our developer productivity has increased 25 percent.
The ultimate outcome of gaining dev efficiencies: stakeholder and customer happiness. One example is Kurier’s branch workflow. With its old process, each developer had an instance, and only one active feature branch was allowed per developer. On occasion, this lack of branches meant developers would need to juggle features and fixes, swapping between different versions on the same instance. While that approach was generally acceptable when dealing with different code versions, it often led to challenging, time-consuming issues when varying database schemas were used between versions.
The Platform.sh feature-branch model enables the Kurier dev team to have three times as many throw-away branches in development as staff. To experiment with a new markup, a new component, a new workflow, or a new CSS, the front-end team simply pushes the branch and activates the environment in Platform.sh. Approvers, like on-the-go editors, can test the home page or new features from their smartphones while they’re out in the field scooping stories—a key feature for Zielinski’s team, who can password-protect prototypes and get feedback quickly (from internal stakeholders and external reviewers). Says Zielinski, “I would honestly never do a project of any magnitude without this capability. It has simplified project management. People can focus on their real work and not worry about the technology behind it. And it’s helped accelerate our development and feedback cycles five-fold.”
Instant gratification—we want it, and we want it now—isn’t new when it comes to expectations of technology. In Kurier’s previous process, their deployments were just a Git pull on the servers, making deployment time zero. “Except of course,” Zielinski explains, “when things went south; then, it all exploded.” It may be counter-intuitive, but in those days, the team actually deployed to production more often, but 80 percent of those deployments were devoted to bug fixes rather than to cool, new features.
With Platform.sh, we know our system is stable. Today, we’re not deploying to live as often, but we’re deploying many more feature branches, with more people working on them—instead of spending time on fixes. In fact, we have five times as many deployments per person. It’s the difference between successful and meaningful deployments versus housekeeping. Thanks to improvements like these, our overall costs have decreased by around 66 percent. That is massive.
Timing is everything cannot be more applicable than in the business of delivering news. Making information available to readers in near real time? The prime directive.
In their old system, building the Kurier.at home page took 30 – 60 seconds. Editorial cycles dictated that the page be refreshed every minute. The site wasn’t exactly reliable, either, going offline on a regular, yet unpredictable schedule every week. For staff giving a press conference or reporting out the latest results of a presidential election, which drew peak traffic, these outages were “an embarrassment,“ explained Zielinski. He felt compelled to bring his laptop with him wherever he went, even after work hours, in case something went awry; it often did.
After adopting Platform.sh, Kurier can rebuild an uncached landing page in one or two seconds. And uptime is nearly 100 percent.
Now, when Zielinski goes on his annual skiing vacation, he leaves his laptop at home. In his absence, his team continues to develop feature branches with stakeholders. The editorial staff? Happy campers. On the rare occasion something fails, Kurier can look to the Platform.sh team for 24x7 support. “Honestly, I think it’s part of my job to create an environment where people don’t need me. Platform.sh helps me accomplish just that,” muses Zielinski.