<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>DevOps on Sandro Cirulli</title>
    <link>https://sandrocirulli.net/tags/devops/</link>
    <description>Recent content in DevOps on Sandro Cirulli</description>
    <generator>Hugo</generator>
    <language>en-gb</language>
    <lastBuildDate>Wed, 27 Sep 2023 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://sandrocirulli.net/tags/devops/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Bristol DevOps &amp; Cloud Native Meetup</title>
      <link>https://sandrocirulli.net/bristol-devops-cloud-native-meetup/</link>
      <pubDate>Wed, 27 Sep 2023 00:00:00 +0000</pubDate>
      <guid>https://sandrocirulli.net/bristol-devops-cloud-native-meetup/</guid>
      <description>&lt;figure&gt;&lt;img src=&#34;../../img/bristol_devops_and_cloud_native_meetup_logo.png&#34;&#xA;    alt=&#34;Bristol DevOps &amp;amp; Cloud Native Meetup logo&#34; width=&#34;600&#34;&gt;&lt;figcaption&gt;&#xA;      &lt;p&gt;&#xA;          &lt;a href=&#34;https://www.meetup.com/bristol-devops-cloud-native/&#34;&gt;Image: Bristol DevOps &amp;amp; Cloud Native Meetup ©&lt;/a&gt;&lt;/p&gt;&#xA;    &lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;Today I’m giving a talk on GreenOps in the cloud at &lt;a href=&#34;https://www.meetup.com/bristol-devops-cloud-native/events/295631139&#34;&gt;Bristol DevOps &amp;amp; Cloud Native Meetup&lt;/a&gt;. The slides of my presentation are &lt;a href=&#34;../talks/greenops_in_the_cloud_bristol_meetup.pdf&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>DevOpsDays London 2023</title>
      <link>https://sandrocirulli.net/devopsdays-london-2023/</link>
      <pubDate>Thu, 21 Sep 2023 00:00:00 +0000</pubDate>
      <guid>https://sandrocirulli.net/devopsdays-london-2023/</guid>
      <description>&lt;figure&gt;&lt;img src=&#34;../../img/devopsdays_london_logo.png&#34;&#xA;    alt=&#34;DevOpsDays London logo&#34;&gt;&lt;figcaption&gt;&#xA;      &lt;p&gt;&#xA;          &lt;a href=&#34;https://devopsdays.org/events/2023-london/welcome/&#34;&gt;DevOpsDays London ©&lt;/a&gt;&lt;/p&gt;&#xA;    &lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;Today I’m giving a talk on GreenOps in the cloud at &lt;a href=&#34;https://devopsdays.org/events/2023-london/program/sandro-cirulli&#34;&gt;DevOpsDays London&lt;/a&gt;, the slides of my presentation are &lt;a href=&#34;../talks/greenops_in_the_cloud_devops_days_london.pdf&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;It’s a great conference with very interesting presentations and a relaxed atmosphere. Kudos to the organizers for the organization and for making this conference such an inclusive event!&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Update&lt;/strong&gt;: the organisers published the videos of the conference on their YouTube channel, you can watch my presentation on &lt;a href=&#34;https://www.youtube.com/watch?v=HeXmTvsT0h8&#34;&gt;YouTube&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>DevOpsDays Geneva 2022</title>
      <link>https://sandrocirulli.net/devopsdays-geneva-2022/</link>
      <pubDate>Fri, 13 May 2022 00:00:00 +0000</pubDate>
      <guid>https://sandrocirulli.net/devopsdays-geneva-2022/</guid>
      <description>&lt;figure&gt;&lt;img src=&#34;../../img/devopsdays_geneva_logo.png&#34;&#xA;    alt=&#34;DevOpsDays Geneva Logo&#34; width=&#34;500&#34;&gt;&lt;figcaption&gt;&#xA;      &lt;p&gt;&#xA;          &lt;a href=&#34;https://devopsdays.org/events/2022-geneva/welcome&#34;&gt;Image: DevOpsDays Geneva ©&lt;/a&gt;&lt;/p&gt;&#xA;    &lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;Today I’m giving a talk on &lt;a href=&#34;https://devopsdays.org/events/2022-geneva/program/sandro-cirulli&#34;&gt;Docs-as-Code at DevOpsDays Geneva&lt;/a&gt;, the slides of my presentation are &lt;a href=&#34;../talks/docs-as-code.pdf&#34;&gt;here&lt;/a&gt;. It’s a great conference with lots of interesting presentations on DevOps culture and tooling and I’m very glad to be part of it. Kudos to the organizers for the organization and for making it such a friendly event!&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Update&lt;/strong&gt;: the organisers published the videos of the conference on their YouTube channel, you can find my presentation on &lt;a href=&#34;https://www.youtube.com/watch?v=n5_9LRRt0wY&amp;amp;list=PLshE-vthggjveeVl-XJIFy-Or2Uj5W6TM&amp;amp;index=4&#34;&gt;YouTube&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Validate a Jenkinsfile</title>
      <link>https://sandrocirulli.net/how-to-validate-a-jenkinsfile/</link>
      <pubDate>Wed, 16 Oct 2019 00:00:00 +0000</pubDate>
      <guid>https://sandrocirulli.net/how-to-validate-a-jenkinsfile/</guid>
      <description>&lt;figure&gt;&lt;img src=&#34;../../img/pipeline-parallel-stages-e1566145513114.png&#34;&#xA;    alt=&#34;Jenkins Pipeline Parallel Stages&#34;&gt;&lt;figcaption&gt;&#xA;      &lt;p&gt;&#xA;          &lt;a href=&#34;https://www.jenkins.io/blog/2017/09/25/declarative-1/&#34;&gt;Image: jenkins.io ©&lt;/a&gt;&lt;/p&gt;&#xA;    &lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;As I’m using more and more often &lt;a href=&#34;https://jenkins.io/doc/book/pipeline/&#34;&gt;Jenkins Pipelines&lt;/a&gt;, I found the need to validate a Jenkinsfile in order to fix syntax errors before committing the file into version control and running the pipeline job in Jenkins. This can saves some time during development and allows to follow best practices when writing a Jenkinsfile as validation returns both errors and warnings.&lt;/p&gt;&#xA;&lt;p&gt;There are &lt;a href=&#34;https://jenkins.io/doc/book/pipeline/development/#linter&#34;&gt;several ways to validate a Jenkinsfile&lt;/a&gt; and some editors like VS Code even have a &lt;a href=&#34;https://jenkins.io/blog/2018/11/07/Validate-Jenkinsfile/&#34;&gt;built-in linter&lt;/a&gt;. Personally, the easiest way I found is to validate a Jenkinsfile is to run the following command from the command line (provided you have Jenkins running somewhere):&lt;/p&gt;</description>
    </item>
    <item>
      <title>CD Summit and Jenkins Days 2016</title>
      <link>https://sandrocirulli.net/cd-summit-and-jenkins-days-2016/</link>
      <pubDate>Tue, 04 Oct 2016 00:00:00 +0000</pubDate>
      <guid>https://sandrocirulli.net/cd-summit-and-jenkins-days-2016/</guid>
      <description>&lt;figure&gt;&lt;img src=&#34;../../img/cd-summit-and-jenkins-days-berlin-2016.png&#34;&#xA;    alt=&#34;CD Summit and Jenkins Days Berlin Splash Screen&#34;&gt;&lt;figcaption&gt;&#xA;      &lt;p&gt;&#xA;          &lt;a href=&#34;http://www.devopsconnect.com/&#34;&gt;Image: DevOps Connect ©&lt;/a&gt;&lt;/p&gt;&#xA;    &lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;This week I’m giving a talk about Continuous Security with Jenkins, Docker Bench, and Amazon Inspector at CD Summit &amp;amp; Jenkins Days in Amsterdam and in Berlin. CD Summit &amp;amp; Jenkins Days are a series of conferences in the US and in Europe focusing on Continuous Integration (CI) and Continuous Delivery (CD).&lt;/p&gt;&#xA;&lt;p&gt;This is the abstract of my talk:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Continuous Security with Jenkins and Amazon Inspector</title>
      <link>https://sandrocirulli.net/continuous-security-with-jenkins-and-amazon-inspector/</link>
      <pubDate>Sat, 01 Oct 2016 00:00:00 +0000</pubDate>
      <guid>https://sandrocirulli.net/continuous-security-with-jenkins-and-amazon-inspector/</guid>
      <description>&lt;figure&gt;&lt;img src=&#34;../../img/amazon_inspector.png&#34;&#xA;    alt=&#34;Amazon Inspector logo&#34;&gt;&lt;figcaption&gt;&#xA;      &lt;p&gt;&#xA;          &lt;a href=&#34;https://aws.amazon.com/inspector&#34;&gt;Image: Amazon Web Services, Inc. ©&lt;/a&gt;&lt;/p&gt;&#xA;    &lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;Amazon Inspector is an automated security assessment service on Amazon Web Services (AWS). It allows to identify security vulnerabilities at operating system and network levels by scanning the host against a knowledge base of security best practices and rules.&lt;/p&gt;&#xA;&lt;p&gt;I recently integrated Amazon Inspector to run in a Jenkins job so that security testing can be automated and performed prior to deployment to production.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Continuous Security with Jenkins and Docker Bench</title>
      <link>https://sandrocirulli.net/continuous-security-with-jenkins-and-docker-bench/</link>
      <pubDate>Wed, 31 Aug 2016 00:00:00 +0000</pubDate>
      <guid>https://sandrocirulli.net/continuous-security-with-jenkins-and-docker-bench/</guid>
      <description>&lt;figure&gt;&lt;img src=&#34;../../img/docker_bench.png&#34;&#xA;    alt=&#34;Docker Bench&#34; width=&#34;700&#34;&gt;&lt;figcaption&gt;&#xA;      &lt;p&gt;&#xA;          &lt;a href=&#34;https://github.com/docker/docker-bench-security&#34;&gt;Image: Docker Bench - Apache 2.0 License&lt;/a&gt;&lt;/p&gt;&#xA;    &lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&#34;https://github.com/docker/docker-bench-security&#34;&gt;Docker Bench&lt;/a&gt; is an open source tool for automatically validating the configuration of a host running Docker containers. The tool has been written among others by Diogo Mónica, security lead at Docker, and performs security checks at the container level following &lt;a href=&#34;https://www.cisecurity.org/cis-benchmarks&#34;&gt;Docker’s CIS Benchmark recommendations&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;As you would expect, the easiest way to run Docker Bench is via a Docker container. Just make sure you have Docker 1.10 or better, download the Docker image:&lt;/p&gt;</description>
    </item>
    <item>
      <title>DevOps Oxford Meetup</title>
      <link>https://sandrocirulli.net/devops-oxford-meetup/</link>
      <pubDate>Wed, 25 May 2016 00:00:00 +0000</pubDate>
      <guid>https://sandrocirulli.net/devops-oxford-meetup/</guid>
      <description>&lt;figure&gt;&lt;img src=&#34;../../img/devopsoxford-1.png&#34;&#xA;    alt=&#34;DevOps Oxford Meetup logo&#34;&gt;&lt;figcaption&gt;&#xA;      &lt;p&gt;&#xA;          &lt;a href=&#34;https://www.meetup.com/devopsoxford/&#34;&gt;Image: DevOps Oxford Meetup ©&lt;/a&gt;&lt;/p&gt;&#xA;    &lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;Today I’m presenting at &lt;a href=&#34;https://www.meetup.com/doxford/events/230204937/&#34;&gt;DevOps Oxford Meetup&lt;/a&gt; at the &lt;a href=&#34;https://www.ocfi.co.uk/&#34;&gt;Oxford Centre for Innovation&lt;/a&gt; in my &amp;lsquo;home town&amp;rsquo; Oxford. This is a short version of the talk &lt;a href=&#34;../dockercon2015/&#34;&gt;Continuous Integration with Jenkins, Docker and Compose&lt;/a&gt; I gave at DockerCon Europe 2015 but with a few updates. The slides of the talk are &lt;a href=&#34;../talks/devops_oxford_meetup.pdf&#34;&gt;here&lt;/a&gt; and the sample code is on &lt;a href=&#34;https://github.com/cirulls/dockercon2015&#34;&gt;GitHub&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>API Days Nordic 2016</title>
      <link>https://sandrocirulli.net/apidaysnordic2016/</link>
      <pubDate>Thu, 19 May 2016 00:00:00 +0000</pubDate>
      <guid>https://sandrocirulli.net/apidaysnordic2016/</guid>
      <description>&lt;figure&gt;&lt;img src=&#34;../../img/apidaysnordic2016.png&#34;&#xA;    alt=&#34;API Days Nordic logo&#34;&gt;&lt;figcaption&gt;&#xA;      &lt;p&gt;Image: API Days Nordic ©&lt;/p&gt;&#xA;    &lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;This week I’m attending API Days Nordic at the University of Tampere (Finland), a technical conference on heavy industry and APIs, government driven API platforms, and APIOps (APIs, DevOps, containers, testing, micro services, and monitoring). This is part of the API Days series of conferences and it is the first time that it is organised in Finland.&lt;/p&gt;&#xA;&lt;p&gt;My presentation focuses on how to deploy an API gateway with Docker. The slides are available &lt;a href=&#34;../talks/apidays2016.pdf&#34;&gt;here&lt;/a&gt; and the code is on &lt;a href=&#34;https://github.com/cirulls/docker-api-gateway&#34;&gt;GitHub&lt;/a&gt;. This is the summary of my presentation:&lt;/p&gt;</description>
    </item>
    <item>
      <title>DockerCon Europe 2015</title>
      <link>https://sandrocirulli.net/dockercon2015/</link>
      <pubDate>Sun, 15 Nov 2015 00:00:00 +0000</pubDate>
      <guid>https://sandrocirulli.net/dockercon2015/</guid>
      <description>&lt;figure&gt;&lt;img src=&#34;../../img/dockercon_logo.png&#34;&#xA;    alt=&#34;DockerCon Europe 2015 logo&#34; width=&#34;300&#34;&gt;&lt;figcaption&gt;&#xA;      &lt;p&gt;Image: DockerCon Europe 2015 ©&lt;/p&gt;&#xA;    &lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;This week I am attending DockerCon Europe 2015 in Barcelona where I am going to talk about &lt;a href=&#34;https://dockerconeu2015.sched.com/event/1e41fe2a959175626386f07c5efd439f&#34;&gt;Continuous Integration with Jenkins, Docker and Compose&lt;/a&gt;. This is a reviewed version of a &lt;a href=&#34;../continuous-integration-with-jenkins-docker-and-compose/&#34;&gt;previous blog post on Jenkins and Docker&lt;/a&gt;. The slides or my presentation are &lt;a href=&#34;../talks/dockercon2015.pdf&#34;&gt;here&lt;/a&gt; and the sample code is on &lt;a href=&#34;https://github.com/cirulls/dockercon2015&#34;&gt;GitHub&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;&#xA;      &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/Q102CquSTNk?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;&#xA;    &lt;/div&gt;</description>
    </item>
    <item>
      <title>Continuous Integration with Jenkins, Docker and Compose</title>
      <link>https://sandrocirulli.net/continuous-integration-with-jenkins-docker-and-compose/</link>
      <pubDate>Wed, 02 Sep 2015 00:00:00 +0000</pubDate>
      <guid>https://sandrocirulli.net/continuous-integration-with-jenkins-docker-and-compose/</guid>
      <description>&lt;p&gt;Oxford University Press (OUP) recently started the &lt;a href=&#34;https://languages.oup.com/oxford-global-languages/&#34;&gt;Oxford Global Languages (OGL)&lt;/a&gt; initiative which aims at providing language resources for digitally under represented languages. In August 2015 OUP launched two African languages websites for &lt;a href=&#34;http://zu.oxforddictionaries.com/&#34;&gt;Zulu&lt;/a&gt; and &lt;a href=&#34;http://nso.oxforddictionaries.com/&#34;&gt;Northern Sotho&lt;/a&gt;. The backend of these websites is based on an API retrieving data in RDF from a triple store and delivering data to the frontend in JSON-LD.&lt;/p&gt;&#xA;&lt;p&gt;The entire micro-service infrastructure for development, staging, and production runs on Docker containers in Amazon EC2 instances. In particular, we use Jenkins to rebuild the Docker image for the API based on a Python Flask application and Docker Compose to orchestrate the containers. A typical CI workflow is as follows:&lt;/p&gt;</description>
    </item>
    <item>
      <title>XML London 2015</title>
      <link>https://sandrocirulli.net/xml-london-2015/</link>
      <pubDate>Fri, 05 Jun 2015 00:00:00 +0000</pubDate>
      <guid>https://sandrocirulli.net/xml-london-2015/</guid>
      <description>&lt;figure&gt;&lt;img src=&#34;../../img/xml-london.png&#34;&#xA;    alt=&#34;XML London 2015 logo&#34;&gt;&lt;figcaption&gt;&#xA;      &lt;p&gt;&#xA;          &lt;a href=&#34;http://xmllondon.com&#34;&gt;Image: XML London ©&lt;/a&gt;&lt;/p&gt;&#xA;    &lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;This weekend I am attending &lt;a href=&#34;http://xmllondon.com/&#34;&gt;XML London&lt;/a&gt; at University College London, a 2 day conference on XML and Semantic Web technologies. I am presenting a paper on Continuous Integration for XML and RDF Data. The paper is available &lt;a href=&#34;../talks/continuous_integration_with_xml_and_rdf_data.pdf&#34;&gt;here&lt;/a&gt; and the slides of my presentation are available &lt;a href=&#34;../talks/xml_london_presentation.pdf&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Update: XML London put online &lt;a href=&#34;http://xmllondon.com/2015/presentations/cirulli&#34;&gt;the full video of the presentation&lt;/a&gt;:&lt;/p&gt;&#xA;&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;&#xA;      &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/NWRUImSITU4?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;&#xA;    &lt;/div&gt;</description>
    </item>
  </channel>
</rss>
