<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Operous</title>
    <description>The latest articles on DEV Community by Operous (@operous).</description>
    <link>https://dev.to/operous</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F517993%2F8f76a652-3c42-4153-a8d4-1a32d2373053.jpg</url>
      <title>DEV Community: Operous</title>
      <link>https://dev.to/operous</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/operous"/>
    <language>en</language>
    <item>
      <title>How to build a trustworthy curl pipe bash workflow</title>
      <dc:creator>Operous</dc:creator>
      <pubDate>Wed, 23 Dec 2020 00:32:34 +0000</pubDate>
      <link>https://dev.to/operous/how-to-build-a-trustworthy-curl-pipe-bash-workflow-4bb</link>
      <guid>https://dev.to/operous/how-to-build-a-trustworthy-curl-pipe-bash-workflow-4bb</guid>
      <description>&lt;p&gt;&lt;strong&gt;Installing and configuring third-party software for managing servers is usually painful. It comes with a handful of requirements that need to be met to accomplish the simple task of just getting it to work.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Operous will offer you a method to configure your server to be tested by us conveniently, which will not make you waste time not doing productive work. It is as simple as copying and pasting a concise command.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--lCi84NjM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://1.bp.blogspot.com/-gjuprqeOlXU/X9JXGOzvscI/AAAAAAAAfRA/6g5IlT3x1A8_2WvqPZeolsJTf0vGuCwbgCLcBGAsYHQ/s0/curl.png" class="article-body-image-wrapper"&gt;&lt;img alt="Curl" src="https://res.cloudinary.com/practicaldev/image/fetch/s--lCi84NjM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://1.bp.blogspot.com/-gjuprqeOlXU/X9JXGOzvscI/AAAAAAAAfRA/6g5IlT3x1A8_2WvqPZeolsJTf0vGuCwbgCLcBGAsYHQ/s0/curl.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The method we are going to use is known as the “curl pipe bash” method. This particular method has had many discussions around it before, with very strong opinions both in favor and against it.&lt;/p&gt;

&lt;p&gt;Many vendors offer such a method and also call it a “convenience script,” a name that indeed is a good fit and expresses its purpose.&lt;/p&gt;

&lt;p&gt;Bellow, you can check out how simple and fast it is going to be to configure Operous on your server:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--xoc5iH-U--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://1.bp.blogspot.com/-FhVq6Bvsh2U/X9I-UZmy0NI/AAAAAAAAfQY/o0kTiASWto0iMN8U0agbtxXsEOzzsoLoQCLcBGAsYHQ/s0/installer3.gif" class="article-body-image-wrapper"&gt;&lt;img alt="Installer" src="https://res.cloudinary.com/practicaldev/image/fetch/s--xoc5iH-U--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://1.bp.blogspot.com/-FhVq6Bvsh2U/X9I-UZmy0NI/AAAAAAAAfQY/o0kTiASWto0iMN8U0agbtxXsEOzzsoLoQCLcBGAsYHQ/s0/installer3.gif"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This post will discuss the concerns security specialists usually have with running the "curl pipe bash" method and what we did to address them.&lt;/p&gt;

&lt;h3&gt;We believe convenience and security must work together&lt;/h3&gt;

&lt;p&gt;People believed that convenience is a trait that lives at odds with security. The harder it is to access your service, the safer it is.&lt;/p&gt;

&lt;p&gt;This belief changed recently. We’re moving towards a consensus that in order to build a secure system, &lt;em&gt;it needs to be convenient&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;A practical example of the statement above is NIST changes regarding passwords: asking people to create longer, but easier to remember, passwords and change them less frequently (only when compromised) increases security.&lt;/p&gt;

&lt;p&gt;Other advances in this realm are: easier to use multi-factor authentication and password managers with a good user experience. When enough effort is put into building something safe and convenient for users, the result is an increase in overall security and productivity.&lt;/p&gt;

&lt;p&gt;We know that pushing complexity to the user is a path that must be avoided at all costs. We do careful engineering to accommodate that complexity to achieve both a safer and user-friendly product.&lt;/p&gt;

&lt;p&gt;Our convenience script is all about simplifying complexity for you. We worked hard to move complexity away from you and into our product to achieve a more secure, fast, and effortless experience, so you don't waste time with non-productive work.&lt;/p&gt;

&lt;h3&gt;Considered issues&lt;/h3&gt;

&lt;p&gt;Now let’s take a deep dive into some technical considerations about our implementation, so you don't have to worry about them.&lt;/p&gt;

&lt;h4&gt;Man-in-the-middle Attack&lt;/h4&gt;

&lt;p&gt;&lt;em&gt;Concern: An attacker between our web server and your server could change the script’s content and inject code into the script, changing its behavior.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Solution: All of our content will be served with state of the art TLS (HTTP encryption). It won’t be possible to download the script nor access any of our pages through an insecure HTTP connection, significantly reducing the risk of content tampering.&lt;/p&gt;

&lt;h4&gt;Hidden text attack&lt;/h4&gt;

&lt;p&gt;&lt;em&gt;Concern: Current JavaScript clipboard API allows a script to change a copied text’s content without any confirmation or warnings. This could be used to make you run something in your shell different from what you think you copied on our website.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Solution: We have absolutely no reason whatsoever to trick our users like that. JavaScript injection by a third party through content tampering is protected by TLS (HTTP encryption).&lt;/p&gt;

&lt;h4&gt;Client detectiion attack&lt;/h4&gt;

&lt;p&gt;&lt;em&gt;Concern: Make a web server return distinct responses based on the request User-Agent or through other client detection methods. The script you’d see in your browser might not be the same downloaded on your server.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Solution: Again, we have no reason to do such a thing. Nevertheless, in addition to serving our content through TLS, a checksum will be available alongside the script so you can download and validate the script with the checksum before running it.&lt;/p&gt;

&lt;h4&gt;Partial content and network issues&lt;/h4&gt;

&lt;p&gt;&lt;em&gt;Concern: A network error between the script source and the Curl agent could result in an incomplete download, which would result in partial execution of the script. That is indeed dangerous because any incomplete command could be executed.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Solution: We addressed this concern by wrapping the script “body” inside a function that is called at the very end. If something wrong really happens, the script will only define some functions but doesn’t do anything.&lt;/p&gt;

&lt;h4&gt;Compromised web server&lt;/h4&gt;

&lt;p&gt;&lt;em&gt;Concern: Even using TLS to serve all content, there might still be room for tampering with the script content by exploiting a vulnerability on the web server and changing its configuration to serve a different script. A similar attack could be made with a supply-chain attack or exploiting some library vulnerability.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Solution: Our infrastructure is automated to ensure we’re always running up to date software. We’ll also constantly audit the libraries we use in our application to avoid known vulnerabilities.&lt;/p&gt;

&lt;p&gt;We’ll also rely on a separate system that will continuously monitor the script by downloading it and checking the served content against the expected checksum. If this breach ever happens, we’ll be able to cross the monitoring data with our audit events to inform users that may have downloaded a rogue script.&lt;/p&gt;

&lt;h3&gt;Conclusion&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Achieving convenience and security at the same time is not an easy feat.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Operous method for registering a server with a single and concise command is part of our strategy to make you get results from our tests on your servers as fast as possible.&lt;/p&gt;

&lt;p&gt;Installing third-party software does not have to be a hassle. &lt;a href="http://operous.dev/"&gt; Operous will make it easy to configure the server to be tested&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;With our convenient script developed from scratch, you will test your servers quickly and effectively.&lt;/p&gt;

&lt;h3&gt;References&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://auth0.com/blog/security-vs-convenience/"&gt;Security vs. Convenience&lt;/a&gt; &lt;br&gt;
&lt;a href="https://sandstorm.io/news/2015-09-24-is-curl-bash-insecure-pgp-verified-install"&gt;Is curl | bash insecure&lt;/a&gt;&lt;a&gt; &lt;br&gt;
&lt;/a&gt;&lt;a href="https://sysdig.com/blog/friends-dont-let-friends-curl-bash/"&gt;Friends don't let friends Curl | Bash&lt;/a&gt; &lt;br&gt;
&lt;a href="https://www.seancassidy.me/dont-pipe-to-your-shell.html"&gt;Don't Pipe to your Shell&lt;/a&gt; &lt;br&gt;
&lt;a href="https://briantracy.xyz/writing/copy-paste-shell.html"&gt;copy-paste-shell&lt;/a&gt; &lt;br&gt;
&lt;a href="https://0x46.net/thoughts/2019/04/27/piping-curl-to-shell/"&gt;Piping curl to s(hell)&lt;/a&gt; &lt;br&gt;
&lt;a href="https://www.arp242.net/curl-to-sh.html"&gt;Curl to shell isn't so bad&lt;/a&gt; &lt;br&gt;
&lt;a href="https://www.idontplaydarts.com/2016/04/detecting-curl-pipe-bash-server-side/"&gt;Detecting the use of "curl | bash" server side&lt;/a&gt; &lt;br&gt;
&lt;a href="https://gist.github.com/btm/6700524"&gt;Why curl | sudo bash is good&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;a href="https://sshcheck.operous.dev/"&gt;Know more about Operous and how it can help hardening SSH servers with the vulnerability scanner&lt;/a&gt;&lt;/p&gt;

</description>
      <category>security</category>
      <category>servers</category>
    </item>
    <item>
      <title>A first look at how Operous works</title>
      <dc:creator>Operous</dc:creator>
      <pubDate>Wed, 23 Dec 2020 00:25:59 +0000</pubDate>
      <link>https://dev.to/operous/a-first-look-at-how-operous-works-486f</link>
      <guid>https://dev.to/operous/a-first-look-at-how-operous-works-486f</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--YH5_2n0r--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://operous.dev/_nuxt/img/screenshots.svg" class="article-body-image-wrapper"&gt;&lt;img alt="Operous Web" src="https://res.cloudinary.com/practicaldev/image/fetch/s--YH5_2n0r--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://operous.dev/_nuxt/img/screenshots.svg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It is finally time to look at what we are building at Operous and how our approach has some
neat ideas.&lt;/p&gt;

&lt;p&gt;First of all, our primary entity for the product is a server. It doesn’t matter where the server is or which type it might be: physical or virtual, on-premise or public cloud instance, if it is reachable over the Internet, we will support it.&lt;/p&gt;

&lt;p&gt;We need servers for almost everything, including running containers. There are millions of
servers in the world, and that number is not slowing down anytime soon.&lt;/p&gt;

&lt;p&gt;Whereas servers are a solution, they might also be part of the problem, especially if you are a
small team with minimal experience and limited resources and knowledge about adequately
taking care of them.&lt;/p&gt;

&lt;p&gt;That's where Operous kicks-in to power-up your development team!&lt;/p&gt;

&lt;h3&gt;Operous basic usage&lt;/h3&gt;

&lt;p&gt;The first thing you need to do is to register your server. We made this step easy and fast, using
an approach very familiar even for inexperienced people&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--of0HcO6H--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://1.bp.blogspot.com/-IjnAH9lne_o/X5vhJHaSA9I/AAAAAAAAe24/Nl_laXFvHUMhYCbMEU6BhsNO2781nsF_wCLcBGAsYHQ/s2048/Group%252B1154%252B%2525283%252529.jpg" class="article-body-image-wrapper"&gt;&lt;img alt="Curl" src="https://res.cloudinary.com/practicaldev/image/fetch/s--of0HcO6H--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://1.bp.blogspot.com/-IjnAH9lne_o/X5vhJHaSA9I/AAAAAAAAe24/Nl_laXFvHUMhYCbMEU6BhsNO2781nsF_wCLcBGAsYHQ/s2048/Group%252B1154%252B%2525283%252529.jpg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That's it! It is just a single command that you copy and paste, and the registration phase ends.
You can integrate our installer into your provisioning workflow or configuration management
tool. We will provide samples and documentation for that.&lt;/p&gt;

&lt;p&gt;After the server is registered, &lt;a href="http://operous.dev/"&gt; Operous will test it and quickly report possible improvements
regarding configuration, performance, and security&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;All communication between our product and your servers is strongly encrypted using SSH. We
are using a key rotation method that will be detailed soon if that is important to you.&lt;/p&gt;

&lt;p&gt;A test is the smallest unit used to identify and verify the state of a given configuration. Once
Operous executes a given test, it should result in a pass or fail condition.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--igc0nJ9---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://1.bp.blogspot.com/-KccK_IoRZfU/X5vkxllO-9I/AAAAAAAAe3E/US9zv1g8F0oU0JhuL9Y7WZVa0euAxlIDwCLcBGAsYHQ/s1000/Group%252B1155.jpg" class="article-body-image-wrapper"&gt;&lt;img alt="Servers" src="https://res.cloudinary.com/practicaldev/image/fetch/s--igc0nJ9---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://1.bp.blogspot.com/-KccK_IoRZfU/X5vkxllO-9I/AAAAAAAAe3E/US9zv1g8F0oU0JhuL9Y7WZVa0euAxlIDwCLcBGAsYHQ/s1000/Group%252B1155.jpg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We are developing many tests for various purposes, like operating system configuration,
Kubernetes, Docker, Elastic stack, security policies, security hardening, etc.&lt;/p&gt;

&lt;p&gt;A report contains the result of the execution of the tests on a server. This report contains
actionable information and code samples for your team to fix all the issues Operous detected.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--PvlidQ3S--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://1.bp.blogspot.com/--ERgwnmZ8pQ/X5vk8jgCF6I/AAAAAAAAe3I/9HHyaN95qeUIUBTw8ZKB7hvXgQAFlSI1gCLcBGAsYHQ/s961/Group%252B1156.jpg" class="article-body-image-wrapper"&gt;&lt;img alt="Events" src="https://res.cloudinary.com/practicaldev/image/fetch/s--PvlidQ3S--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://1.bp.blogspot.com/--ERgwnmZ8pQ/X5vk8jgCF6I/AAAAAAAAe3I/9HHyaN95qeUIUBTw8ZKB7hvXgQAFlSI1gCLcBGAsYHQ/s961/Group%252B1156.jpg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;CI/CD integration&lt;/h3&gt;

&lt;p&gt;Although you can use Operous' interface to manage the execution of the tests on your servers,
the primary operation mode is integrated with your application CI/CD workflow at a pre or
post-deployment stage.&lt;/p&gt;

&lt;p&gt;So not only is your application tested in a CI/CD workflow, but tests run on your servers as well
in the same workflow.&lt;/p&gt;

&lt;p&gt;Our first integration will be with GitHub Actions, and we will publish an Action on the GitHub
Marketplace.&lt;/p&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Test Production Environment&lt;/span&gt;
&lt;span class="na"&gt;on&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;deployment_status&lt;/span&gt;
&lt;span class="na"&gt;jobs&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;scan&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;runs-on&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;ubuntu-latest&lt;/span&gt;
    &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Test Production Servers&lt;/span&gt;
    &lt;span class="na"&gt;steps&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Test App Server&lt;/span&gt;
        &lt;span class="na"&gt;uses&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;operous/runner@master&lt;/span&gt;
        &lt;span class="na"&gt;if&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;github.event.deployment_status.state == 'success'&lt;/span&gt;
        &lt;span class="na"&gt;with&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
          &lt;span class="na"&gt;api_token&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;${{ secrets.OPEROUS_API_TOKEN }}&lt;/span&gt;
          &lt;span class="na"&gt;server_name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;web01&lt;/span&gt;
          &lt;span class="na"&gt;profiles&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
            &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;linux-baseline&lt;/span&gt;
            &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;ssh&lt;/span&gt;
            &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;nginx&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Test Database Server&lt;/span&gt;
        &lt;span class="na"&gt;uses&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;operous/runner@master&lt;/span&gt;
        &lt;span class="na"&gt;with&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
          &lt;span class="na"&gt;api_token&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;${{ secrets.OPEROUS_API_TOKEN }}&lt;/span&gt;
          &lt;span class="na"&gt;server_name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;db&lt;/span&gt;
          &lt;span class="na"&gt;profiles&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
            &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;linux-baseline&lt;/span&gt;
            &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;ssh&lt;/span&gt;
            &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;postgresql&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Want to be the first to use Operous? Subscribe to the mailing list to receive product updates and join the beta!&lt;/p&gt;




&lt;p&gt;&lt;a href="https://sshcheck.operous.dev/"&gt;Know more about Operous and how it can help hardening SSH servers with the vulnerability scanner&lt;/a&gt;&lt;/p&gt;

</description>
      <category>tests</category>
      <category>githubactions</category>
      <category>servers</category>
    </item>
    <item>
      <title>No servers left behind with Operous</title>
      <dc:creator>Operous</dc:creator>
      <pubDate>Wed, 23 Dec 2020 00:10:53 +0000</pubDate>
      <link>https://dev.to/operous/no-servers-left-behind-with-operous-1i2h</link>
      <guid>https://dev.to/operous/no-servers-left-behind-with-operous-1i2h</guid>
      <description>&lt;p&gt;How frustrating is it when you face problems on the servers and cloud instances hosting your precious application? Your team is probably understaffed. The budget is running out, leaving a lot of responsibility on the developers to keep up with stuff like configuration and security.&lt;/p&gt;

&lt;p&gt;You certainly try to do your best to get it right, but that feeling that something might be wrong or missing keeps haunting you during your sleep.&lt;/p&gt;

&lt;p&gt;What if you could rely on someone to take your hand and guide you through this infinite, and inevitable, loop of constant change and improvement?
We are working hard to create a smooth experience for you and solve that problem.&lt;/p&gt;

&lt;h3&gt;Who is behind the product?&lt;/h3&gt;

&lt;p&gt;The team behind the product is part of Instruct.
&lt;a href="https://instruct.com.br/"&gt;Instruct&lt;/a&gt; is a pioneer in the DevOps space in Brazil, one of the earlier specialists in configuration management automation and infrastructure as code in the country. The company has successfully delivered projects tailored to its clients.&lt;/p&gt;

&lt;h4&gt;Some examples of our experience&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Self-service cloud portals&lt;/li&gt;
&lt;li&gt;Application pipeline creation&lt;/li&gt;
&lt;li&gt;Modernization of legacy environments with configuration management&lt;/li&gt;
&lt;li&gt;Automated log and monitoring analysis&lt;/li&gt;
&lt;li&gt;API and microservices integrations.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;With Operous, you will not worry if the configuration, performance, and security of the servers hosting your applications are up to date. &lt;strong&gt;&lt;a href="http://operous.dev/"&gt; Operous will continuously scan your servers in search of possible improvements and present the result in an actionable and meaningful way&lt;/a&gt;.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We have a long term vision and strategy for Operous. The current feature set represents the foundations under development to support a broader feature set we have envisioned on our roadmap.&lt;/p&gt;

&lt;p&gt;Your Continuous Delivery workflow will get more robust by joining your application’s checks and tests with the &lt;a href="http://operous.dev/"&gt; quality assessment done by Operous on your servers&lt;/a&gt;. The primary operation mode is to use it integrated with an application CI/CD workflow at a pre or post-deployment stage scan of the server hosting the application.&lt;/p&gt;

&lt;p&gt;Your team’s valuable time will be much more productive with the actionable and meaningful way Operous presents its analysis results. Our team will do the heavy lifting for you, developing the best tests containing state-of-the-art practices.&lt;/p&gt;

&lt;p&gt;We have worked thousands and thousands of hours dedicated to deploying tools for many of Instruct's clients. Even with automation tools for configuration management, it could still be a serious challenge depending on many other factors. We will deliver a great out of the box experience based on many painful projects we have worked on.&lt;/p&gt;

&lt;p&gt;We would like to invite you to follow us on this exciting journey by subscribing to our newsletter and soon joining the closed beta of Operous!&lt;/p&gt;




&lt;p&gt;&lt;a href="https://sshcheck.operous.dev/"&gt;Know more about Operous and how it can help hardening SSH servers with the vulnerability scanner&lt;/a&gt;&lt;/p&gt;

</description>
      <category>servers</category>
      <category>cicd</category>
      <category>continuousdelivery</category>
    </item>
  </channel>
</rss>
