{"id":1114,"date":"2026-08-20T19:43:08","date_gmt":"2026-08-20T17:43:08","guid":{"rendered":"https:\/\/www.alian.it\/devops-2\/"},"modified":"2026-09-16T16:17:51","modified_gmt":"2026-09-16T14:17:51","slug":"devops","status":"publish","type":"page","link":"https:\/\/www.alian.it\/en\/devops\/","title":{"rendered":"DevOps"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Everything that sits under WordPress, the server, DNS, email, backups, security, is the other half of my work. It is not a skill added later, I started in 2001 at a hosting provider, and since then I have never stopped looking after the machines as well as the code that runs on them.<\/p>\n\n<div class=\"wp-block-group alignfull has-superficie-background-color has-background has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\">\n<div class=\"wp-block-stackable-spacer stk-block-spacer stk--no-padding stk-block stk-6746dad\" data-block-id=\"6746dad\"><style>.stk-6746dad {height:50px !important;}@media screen and (max-width:689px){.stk-6746dad {height:50px !important;}}<\/style><\/div>\n\n\n\n<div class=\"wp-block-stackable-columns stk-block-columns stk-block stk-c33a2a8\" data-block-id=\"c33a2a8\"><div class=\"stk-row stk-inner-blocks stk-block-content stk-content-align stk-c33a2a8-column\">\n<div class=\"wp-block-stackable-column stk-block-column stk-column stk-block stk-945aa9f\" data-v=\"4\" data-block-id=\"945aa9f\"><div class=\"stk-column-wrapper stk-block-column__content stk-container stk-945aa9f-container stk--no-background stk--no-padding\"><div class=\"stk-block-content stk-inner-blocks stk-945aa9f-inner-blocks\">\n<h2 class=\"wp-block-heading\">Servers and hosting<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">I manage production servers on my own infrastructure and work daily on third party hosting platforms, each with different configurations and constraints. The difference is made by what control panels do not show. When a site goes down with no error in the logs, the answer often lies in the account resource limits, in a process killed by the system or in an interaction between caching layers. That is where I go looking.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Migrations are a recurring part of the work, across PHP version changes on live sites, moves between providers and domain and DNS switches. The approach is always the same, compatibility analysis first, a defined intervention window, a rollback procedure ready. On an e-commerce site open to the public there is no \u201clet us try and see\u201d.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I use staging environments as a rule, not as an exception. They are clones of the site with outgoing email isolated and scheduled jobs disabled, because a test environment that writes to real customers is a liability, not a tool.<\/p>\n<\/div><\/div><\/div>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-stackable-spacer stk-block-spacer stk--no-padding stk-block stk-8dd79d1\" data-block-id=\"8dd79d1\"><style>.stk-8dd79d1 {height:50px !important;}@media screen and (max-width:689px){.stk-8dd79d1 {height:50px !important;}}<\/style><\/div>\n<\/div>\n\n<div class=\"wp-block-group alignfull has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\">\n<div class=\"wp-block-stackable-spacer stk-block-spacer stk--no-padding stk-block stk-5f2df94\" data-block-id=\"5f2df94\"><style>.stk-5f2df94 {height:50px !important;}@media screen and (max-width:689px){.stk-5f2df94 {height:50px !important;}}<\/style><\/div>\n\n\n\n<div class=\"wp-block-stackable-columns stk-block-columns stk-block stk-1a69292\" data-block-id=\"1a69292\"><div class=\"stk-row stk-inner-blocks stk-block-content stk-content-align stk-1a69292-column\">\n<div class=\"wp-block-stackable-column stk-block-column stk-column stk-block stk-ffd217b\" data-v=\"4\" data-block-id=\"ffd217b\"><div class=\"stk-column-wrapper stk-block-column__content stk-container stk-ffd217b-container stk--no-background stk--no-padding\"><div class=\"stk-block-content stk-inner-blocks stk-ffd217b-inner-blocks\">\n<h2 class=\"wp-block-heading\">Server side performance<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The speed of a site is decided on several levels, application cache, server cache, CDN. Knowing how these levels interact matters more than switching them all on, because a badly configured cache can mask compromised content or freeze an error, and generic optimisation applied without a diagnosis is wasted time. When a page is slow, I find the real cause first, then I act.<\/p>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-stackable-column stk-block-column stk-column stk-block stk-4aec5d9\" data-v=\"4\" data-block-id=\"4aec5d9\"><div class=\"stk-column-wrapper stk-block-column__content stk-container stk-4aec5d9-container stk--no-background stk--no-padding\"><div class=\"stk-block-content stk-inner-blocks stk-4aec5d9-inner-blocks\">\n<h2 class=\"wp-block-heading\">DNS, email and certificates<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">I manage the DNS of the domains I look after in full, from mail records to SPF, DKIM and DMARC authentication, through to diagnosing delivery problems. Email deliverability is one of the most underestimated problems of a business site. When a shop\u2019s emails end up in spam, the damage is real and the cause almost always lies in the details of the configuration. Added to this are SSL certificates, SMTP sending from sites and moving mailboxes between providers.<\/p>\n<\/div><\/div><\/div>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-stackable-spacer stk-block-spacer stk--no-padding stk-block stk-70e0fbf\" data-block-id=\"70e0fbf\"><style>.stk-70e0fbf {height:50px !important;}@media screen and (max-width:689px){.stk-70e0fbf {height:50px !important;}}<\/style><\/div>\n<\/div>\n\n<div class=\"wp-block-group alignfull has-superficie-background-color has-background has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\">\n<div class=\"wp-block-stackable-spacer stk-block-spacer stk--no-padding stk-block stk-d784dfa\" data-block-id=\"d784dfa\"><style>.stk-d784dfa {height:50px !important;}@media screen and (max-width:689px){.stk-d784dfa {height:50px !important;}}<\/style><\/div>\n\n\n\n<div class=\"wp-block-stackable-columns stk-block-columns stk-block stk-23f05c4\" data-block-id=\"23f05c4\"><div class=\"stk-row stk-inner-blocks stk-block-content stk-content-align stk-23f05c4-column\">\n<div class=\"wp-block-stackable-column stk-block-column stk-column stk-block stk-bf600eb\" data-v=\"4\" data-block-id=\"bf600eb\"><div class=\"stk-column-wrapper stk-block-column__content stk-container stk-bf600eb-container stk--no-background stk--no-padding\"><div class=\"stk-block-content stk-inner-blocks stk-bf600eb-inner-blocks\">\n<h2 class=\"wp-block-heading\">Backups and restores<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A backup that has never been restored is a hope, not a backup. I define application and system backup policies with suitable retention, and I check the integrity of the dumps and the restore procedure periodically. Before any work in production, the precautionary backup is not negotiable.<\/p>\n<\/div><\/div><\/div>\n\n\n\n<div class=\"wp-block-stackable-column stk-block-column stk-column stk-block stk-0a5b954\" data-v=\"4\" data-block-id=\"0a5b954\"><div class=\"stk-column-wrapper stk-block-column__content stk-container stk-0a5b954-container stk--no-background stk--no-padding\"><div class=\"stk-block-content stk-inner-blocks stk-0a5b954-inner-blocks\">\n<h2 class=\"wp-block-heading\">Security and incident response<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">This is the area where the double skill, code and systems, counts most. I take care of preventive hardening (web application firewall, malware scanning, a log of administrative activity, control of updates) and of full incident handling when prevention has not been enough, with identification, containment, cleanup and verification, keeping the evidence for any later analysis.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The method is the same in every intervention, hypotheses verified with evidence and not with hunches; an explicit distinction between what is proven and what is likely; a written report at the end, because the value of a diagnosis also lies in not having to do it again.<\/p>\n<\/div><\/div><\/div>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-stackable-spacer stk-block-spacer stk--no-padding stk-block stk-4e5401c\" data-block-id=\"4e5401c\"><style>.stk-4e5401c {height:50px !important;}@media screen and (max-width:689px){.stk-4e5401c {height:50px !important;}}<\/style><\/div>\n<\/div>\n\n<div class=\"wp-block-group alignfull has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\">\n<div class=\"wp-block-stackable-spacer stk-block-spacer stk--no-padding stk-block stk-0dc657f\" data-block-id=\"0dc657f\"><style>.stk-0dc657f {height:50px !important;}@media screen and (max-width:689px){.stk-0dc657f {height:50px !important;}}<\/style><\/div>\n\n\n\n<div class=\"wp-block-stackable-columns stk-block-columns stk-block stk-bf66962\" data-block-id=\"bf66962\"><div class=\"stk-row stk-inner-blocks stk-block-content stk-content-align stk-bf66962-column\">\n<div class=\"wp-block-stackable-column stk-block-column stk-column stk-block stk-577f25a\" data-v=\"4\" data-block-id=\"577f25a\"><div class=\"stk-column-wrapper stk-block-column__content stk-container stk-577f25a-container stk--no-background stk--no-padding\"><div class=\"stk-block-content stk-inner-blocks stk-577f25a-inner-blocks\">\n<p class=\"has-large-font-size wp-block-paragraph\"><strong>The method is the same in every intervention, hypotheses verified with evidence and not with hunches; an explicit distinction between what is proven and what is likely; a written report at the end, because the value of a diagnosis also lies in not having to do it again.<\/strong><\/p>\n<\/div><\/div><\/div>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-stackable-spacer stk-block-spacer stk--no-padding stk-block stk-3658f5c\" data-block-id=\"3658f5c\"><style>.stk-3658f5c {height:50px !important;}@media screen and (max-width:689px){.stk-3658f5c {height:50px !important;}}<\/style><\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>I manage the servers that run sites and applications, across hosting, migrations, DNS, backups, performance and security, through to incident handling.<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":60,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1114","page","type-page","status-publish","hentry"],"blocksy_meta":{"styles_descriptor":{"styles":{"desktop":"","tablet":"","mobile":""},"google_fonts":[],"version":8}},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>DevOps and server management, security and incident response<\/title>\n<meta name=\"description\" content=\"I manage the servers that run sites and applications, across hosting, migrations, DNS, backups, performance and security, through to incident handling.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.alian.it\/en\/devops\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"DevOps and server management, security and incident response\" \/>\n<meta property=\"og:description\" content=\"I manage the servers that run sites and applications, across hosting, migrations, DNS, backups, performance and security, through to incident handling.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.alian.it\/en\/devops\/\" \/>\n<meta property=\"og:site_name\" content=\"Alian Schiavoncini\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-16T14:17:51+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.alian.it\\\/en\\\/devops\\\/\",\"url\":\"https:\\\/\\\/www.alian.it\\\/en\\\/devops\\\/\",\"name\":\"DevOps and server management, security and incident response\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.alian.it\\\/en\\\/#website\"},\"datePublished\":\"2026-08-20T17:43:08+00:00\",\"dateModified\":\"2026-09-16T14:17:51+00:00\",\"description\":\"I manage the servers that run sites and applications, across hosting, migrations, DNS, backups, performance and security, through to incident handling.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.alian.it\\\/en\\\/devops\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.alian.it\\\/en\\\/devops\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.alian.it\\\/en\\\/devops\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.alian.it\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"DevOps\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.alian.it\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/www.alian.it\\\/en\\\/\",\"name\":\"Alian Schiavoncini\",\"description\":\"Full stack and DevOps, specialising in WordPress\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.alian.it\\\/#\\\/schema\\\/person\\\/183cd05da50a1d724142d17b245b79ae\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.alian.it\\\/en\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.alian.it\\\/#\\\/schema\\\/person\\\/183cd05da50a1d724142d17b245b79ae\",\"name\":\"Alian Schiavoncini\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.alian.it\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/alian-logo-scuro.png\",\"url\":\"https:\\\/\\\/www.alian.it\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/alian-logo-scuro.png\",\"contentUrl\":\"https:\\\/\\\/www.alian.it\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/alian-logo-scuro.png\",\"width\":2400,\"height\":565,\"caption\":\"Alian Schiavoncini\"},\"logo\":{\"@id\":\"https:\\\/\\\/www.alian.it\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/alian-logo-scuro.png\"},\"sameAs\":[\"https:\\\/\\\/www.alian.it\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/alianschiavoncini\\\/\",\"https:\\\/\\\/github.com\\\/alianschiavoncini\",\"https:\\\/\\\/profiles.wordpress.org\\\/alian\\\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"DevOps and server management, security and incident response","description":"I manage the servers that run sites and applications, across hosting, migrations, DNS, backups, performance and security, through to incident handling.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.alian.it\/en\/devops\/","og_locale":"en_US","og_type":"article","og_title":"DevOps and server management, security and incident response","og_description":"I manage the servers that run sites and applications, across hosting, migrations, DNS, backups, performance and security, through to incident handling.","og_url":"https:\/\/www.alian.it\/en\/devops\/","og_site_name":"Alian Schiavoncini","article_modified_time":"2026-09-16T14:17:51+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.alian.it\/en\/devops\/","url":"https:\/\/www.alian.it\/en\/devops\/","name":"DevOps and server management, security and incident response","isPartOf":{"@id":"https:\/\/www.alian.it\/en\/#website"},"datePublished":"2026-08-20T17:43:08+00:00","dateModified":"2026-09-16T14:17:51+00:00","description":"I manage the servers that run sites and applications, across hosting, migrations, DNS, backups, performance and security, through to incident handling.","breadcrumb":{"@id":"https:\/\/www.alian.it\/en\/devops\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.alian.it\/en\/devops\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.alian.it\/en\/devops\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.alian.it\/en\/"},{"@type":"ListItem","position":2,"name":"DevOps"}]},{"@type":"WebSite","@id":"https:\/\/www.alian.it\/en\/#website","url":"https:\/\/www.alian.it\/en\/","name":"Alian Schiavoncini","description":"Full stack and DevOps, specialising in WordPress","publisher":{"@id":"https:\/\/www.alian.it\/#\/schema\/person\/183cd05da50a1d724142d17b245b79ae"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.alian.it\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.alian.it\/#\/schema\/person\/183cd05da50a1d724142d17b245b79ae","name":"Alian Schiavoncini","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.alian.it\/wp-content\/uploads\/2026\/08\/alian-logo-scuro.png","url":"https:\/\/www.alian.it\/wp-content\/uploads\/2026\/08\/alian-logo-scuro.png","contentUrl":"https:\/\/www.alian.it\/wp-content\/uploads\/2026\/08\/alian-logo-scuro.png","width":2400,"height":565,"caption":"Alian Schiavoncini"},"logo":{"@id":"https:\/\/www.alian.it\/wp-content\/uploads\/2026\/08\/alian-logo-scuro.png"},"sameAs":["https:\/\/www.alian.it","https:\/\/www.linkedin.com\/in\/alianschiavoncini\/","https:\/\/github.com\/alianschiavoncini","https:\/\/profiles.wordpress.org\/alian\/"]}]}},"_links":{"self":[{"href":"https:\/\/www.alian.it\/en\/wp-json\/wp\/v2\/pages\/1114","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.alian.it\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.alian.it\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.alian.it\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.alian.it\/en\/wp-json\/wp\/v2\/comments?post=1114"}],"version-history":[{"count":2,"href":"https:\/\/www.alian.it\/en\/wp-json\/wp\/v2\/pages\/1114\/revisions"}],"predecessor-version":[{"id":1137,"href":"https:\/\/www.alian.it\/en\/wp-json\/wp\/v2\/pages\/1114\/revisions\/1137"}],"wp:attachment":[{"href":"https:\/\/www.alian.it\/en\/wp-json\/wp\/v2\/media?parent=1114"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}