<?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: Ajustee</title>
    <description>The latest articles on DEV Community by Ajustee (@ajustee).</description>
    <link>https://dev.to/ajustee</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%2F409871%2Fe47ce496-b047-4914-9047-4f2fdbd53ffb.png</url>
      <title>DEV Community: Ajustee</title>
      <link>https://dev.to/ajustee</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ajustee"/>
    <language>en</language>
    <item>
      <title>Ajustee and twelve-factor app methodology</title>
      <dc:creator>Ajustee</dc:creator>
      <pubDate>Wed, 07 Jul 2021 15:44:31 +0000</pubDate>
      <link>https://dev.to/ajustee/ajustee-and-twelve-factor-app-methodology-56gd</link>
      <guid>https://dev.to/ajustee/ajustee-and-twelve-factor-app-methodology-56gd</guid>
      <description>&lt;p&gt;In the modern era, software is commonly delivered as a service: called web apps, or software-as-a-service.&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://12factor.net/"&gt;twelve-factor app&lt;/a&gt; is a methodology for building software-as-a-service apps that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use declarative formats for setup automation, to minimize time and cost for new developers joining the project.&lt;/li&gt;
&lt;li&gt;Have a clean contract with the underlying operating system, offering maximum portability between execution environments.&lt;/li&gt;
&lt;li&gt;Are suitable for deployment on modern cloud platforms, obviating the need for servers and systems administration.&lt;/li&gt;
&lt;li&gt;Minimize divergence between development and production, enabling continuous deployment for maximum agility.&lt;/li&gt;
&lt;li&gt;And can scale up without significant changes to tooling, architecture, or development practices.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The twelve-factor methodology can be applied to apps written in any programming language, and which use any combination of backing services (database, queue, memory cache, etc).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://12factor.net/config"&gt;One of those twelve-factors&lt;/a&gt; describes the best way to manage app configuration. One of the requirements listed there is “strict separation of config form code”. Config varies substantially across deploys, code does not.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://ajustee.com"&gt;Ajustee&lt;/a&gt; allows to move settings from codebase to a secure cloud storage with lot of extra functionality. That approach allows you to share your code without a risk of compromising some credentials. You can easily manage settings using &lt;a href="https://ajustee.com"&gt;Ajustee&lt;/a&gt; console between deployments, change configuration values on a run, partially replace config values for subset of users or use cases.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://ajustee.com"&gt;Ajustee&lt;/a&gt; uses HTTP REST API that can be accessed using any language from any platform. On top of REST API &lt;a href="https://ajustee.com"&gt;Ajustee&lt;/a&gt; has several SDKs in your languages that wraps REST API calls into language-friendly modules.&lt;/p&gt;

&lt;p&gt;This article was first published on Medium &lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag__link"&gt;
  &lt;a href="https://ajustee.medium.com/ajustee-and-twelve-factor-app-methodology-12b951a0dee1" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--HnXHqyzB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/fit/c/56/56/2%2A912GY4YptlqbfbeOLvMGuw.png" alt="Ajustee"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="https://ajustee.medium.com/ajustee-and-twelve-factor-app-methodology-12b951a0dee1" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;Ajustee and twelve-factor app methodology | by Ajustee | May, 2021 | Medium&lt;/h2&gt;
      &lt;h3&gt;Ajustee ・ &lt;time&gt;May 26, 2021&lt;/time&gt; ・ 
      &lt;div class="ltag__link__servicename"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ze5yh_2q--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/medium_icon-90d5232a5da2369849f285fa499c8005e750a788fdbf34f5844d5f2201aae736.svg" alt="Medium Logo"&gt;
        ajustee.Medium
      &lt;/div&gt;
    &lt;/h3&gt;
&lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


&lt;p&gt;Visit &lt;a href="https://ajustee.medium.com/"&gt;Ajustee Blog&lt;/a&gt; for more articles on how to manage configuration. &lt;/p&gt;

</description>
      <category>beginners</category>
      <category>cloud</category>
    </item>
    <item>
      <title>Why it’s important to move configuration to cloud.</title>
      <dc:creator>Ajustee</dc:creator>
      <pubDate>Wed, 07 Jul 2021 01:20:49 +0000</pubDate>
      <link>https://dev.to/ajustee/why-it-s-important-to-move-configuration-to-cloud-14bc</link>
      <guid>https://dev.to/ajustee/why-it-s-important-to-move-configuration-to-cloud-14bc</guid>
      <description>&lt;h2&gt;
  
  
  Change is needed
&lt;/h2&gt;

&lt;p&gt;Every software product has settings. Those can have many forms and types. Some settings are sensitive security keys, like database connection string, an API subscription key or push notifications endpoints. Others are business settings that relate to particular use cases, like amount of processing items per batch, supported data types, or communication settings, like email server settings. There are UI related settings like URLs to logos, fonts, and colors. Even text within an app may be considered as a setting, especially if application supports multiple localizations. Feature toggles are also popular configuration keys that can modify system behavior without changing code.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;A feature toggle is a technique in software development that attempts to provide an alternative to maintaining multiple branches in source code, such that a software feature can be tested even before it is completed and ready for release. A feature toggle is used to hide, enable, or disable the feature during runtime.&lt;br&gt;
&lt;a href="https://en.wikipedia.org/wiki/Feature_toggle"&gt;Feature toggle — Wikipedia&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Let’s look on the example below. It’s a simple web app that returns weather current conditions &amp;amp; forecasts. Entire application fits into shy thirty lines of code, including comments.&lt;/p&gt;


&lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;


&lt;p&gt;The code is simple, just look closer to line 9, the app reads sensitive configuration key from a config file. At line 8 there is an URL address to original weather REST API where app takes the data. This should be moved to settings. As a result, there are thirty lines of code and several places where application reads configuration values.&lt;/p&gt;

&lt;p&gt;Each company deals with configuration storage separately. Some companies store settings in code or config files like app\web configs, others store settings in database. All those options have severe limitations. Settings stored in source code is build type configuration that requires to recompile &amp;amp; redeploy application to apply changes, configs in files are runtime but require access to hosting machine and application restart — which is a security issue and bad user experience. Settings stored in database are more dynamic, changes can be applied in runtime with no application restarts, but still require access to database and compromise security — to address that companies develop admin UI that executed CRUD operations.&lt;/p&gt;

&lt;p&gt;With modern ways to develop software and continuous delivery practices, software businesses must be very flexible and support real time configuration changes.&lt;/p&gt;

&lt;h2&gt;
  
  
  How does Ajustee help?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://ajustee.com"&gt;Ajustee&lt;/a&gt; is a cloud hosted solution that takes care of configuration storage and management. Instead of reading values from file or database, teams can retrieve configuration from simple REST API and get tons of extras.&lt;br&gt;
There are some major features, but this list goes on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;retrieve single configuration key, subset of keys or entire configuration set&lt;/li&gt;
&lt;li&gt;set up default values for entire product, plus different values for environments&lt;/li&gt;
&lt;li&gt;override config values for a subset of users based on myriad of application parameters, including percentage redirect &amp;amp; schedule&lt;/li&gt;
&lt;li&gt;build setting forms with rich data validation rules to ensure there are no typos or other human errors that easy to make and difficult to troubleshoot&lt;/li&gt;
&lt;li&gt;automated audit log to review who has accessed the system or what operations have been performed&lt;/li&gt;
&lt;li&gt;automatic scheduled backups to restore to previous configuration sets at any time&lt;/li&gt;
&lt;li&gt;retrieve slack notifications every time there is a change in configuration values&lt;/li&gt;
&lt;li&gt;Secure access to settings based on IP addresses and configuration namespaces&lt;/li&gt;
&lt;li&gt;Secure access to web console with two-factor authentication and IP address restrictions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This article was first published on Medium &lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag__link"&gt;
  &lt;a href="https://ajustee.medium.com/why-its-important-to-move-configuration-to-cloud-cb5d9d8724b5" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--HnXHqyzB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/fit/c/56/56/2%2A912GY4YptlqbfbeOLvMGuw.png" alt="Ajustee"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="https://ajustee.medium.com/why-its-important-to-move-configuration-to-cloud-cb5d9d8724b5" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;Why it’s important to move configuration to cloud. | by Ajustee | Jun, 2021 | Medium&lt;/h2&gt;
      &lt;h3&gt;Ajustee ・ &lt;time&gt;Jun 1, 2021&lt;/time&gt; ・ 
      &lt;div class="ltag__link__servicename"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ze5yh_2q--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/medium_icon-90d5232a5da2369849f285fa499c8005e750a788fdbf34f5844d5f2201aae736.svg" alt="Medium Logo"&gt;
        ajustee.Medium
      &lt;/div&gt;
    &lt;/h3&gt;
&lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


&lt;p&gt;Visit &lt;a href="https://ajustee.medium.com/"&gt;Ajustee Blog&lt;/a&gt; for more articles on how to manage configuration. &lt;/p&gt;

</description>
      <category>cloud</category>
      <category>csharp</category>
      <category>flutter</category>
    </item>
    <item>
      <title>How to move configuration into cloud with Ajustee</title>
      <dc:creator>Ajustee</dc:creator>
      <pubDate>Tue, 16 Jun 2020 01:09:41 +0000</pubDate>
      <link>https://dev.to/ajustee/how-to-move-configuration-into-cloud-with-ajustee-2945</link>
      <guid>https://dev.to/ajustee/how-to-move-configuration-into-cloud-with-ajustee-2945</guid>
      <description>&lt;p&gt;Hello all. If you’re in software development, you definitely deal with settings or parameters management. Some of you store settings in files (config or external), others — in databases. And, if you have multiple instances or some DevOps practices like delivery pipelines, you know how challenging it can be to manage different values for multiple instances.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://ajustee.com"&gt;Ajustee&lt;/a&gt; is designed to fix this problem. It’s a cloud based solution that hosts configuration parameters of your software products with an ability to pass different values for all environments, applications, tenants or pretty much anything else. The service has a UI for managing parameters and API to accessing parameter values from your applications.&lt;/p&gt;

&lt;p&gt;If you want to learn more about Ajustee, check out our &lt;a href="https://ajustee.com"&gt;website&lt;/a&gt; and blog.&lt;/p&gt;

&lt;p&gt;A full article that covers migration of configuration into the cloud can be read on medium:&lt;/p&gt;


&lt;div class="ltag__link"&gt;
  &lt;a href="https://medium.com/@ajustee/how-to-move-configuration-into-cloud-with-ajustee-d19138cbf1c4" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4vhZ_m0F--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/fit/c/96/96/2%2A912GY4YptlqbfbeOLvMGuw.png" alt="Ajustee"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="https://medium.com/@ajustee/how-to-move-configuration-into-cloud-with-ajustee-d19138cbf1c4" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;How to move configuration into cloud with Ajustee - Ajustee - Medium&lt;/h2&gt;
      &lt;h3&gt;Ajustee ・ &lt;time&gt;Feb 5, 2020&lt;/time&gt; ・ 5 min read
      &lt;div class="ltag__link__servicename"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--KBvj_QRD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://practicaldev-herokuapp-com.freetls.fastly.net/assets/medium_icon-90d5232a5da2369849f285fa499c8005e750a788fdbf34f5844d5f2201aae736.svg" alt="Medium Logo"&gt;
        Medium
      &lt;/div&gt;
    &lt;/h3&gt;
&lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


</description>
      <category>csharp</category>
      <category>config</category>
      <category>cloud</category>
      <category>saas</category>
    </item>
  </channel>
</rss>
