Should the developer in you care about Unified Platform?
Published: 2020-03-04 03:25:20

There has been a lot of buzz around unification of services to provide a single window for end users to work within our new JFrog Platform.  What does this single window look like for developers?  This is an important question we asked ourselves when we were building a [Unified JFrog Platform](https://devclass.com/2020/02/27/jfrog-pulls-together-products-spawns-joyful-devops-platform/).  These were the services we saw that needed to be unified to ensure developers and administrators were able to optimize  their work.

1. Unified UI: As a developer, one of the most important features of a binary store is an ability to search the repo to pick the right package for use. We introduced [global search]( https://www.jfrog.com/confluence/display/JFROG/Application+Search), in the unified UI, which can help you search across any packages, get details on the downloads, license information, security issues, and versions available in the package. Especially helpful to developers is a keyword-based search that enables you to dive right into the package you are looking for.
For example, you might perform a complex search for all packages that: 
  - were uploaded after Feb 1st
  - have a high violation severity
  - have vulnerability CVE-2019-12 
    
    These conditions can be expressed in a simple search string: 
    ```after:2020-02-01 cve:CVE-2019-12 severity: high```

2. Unified Configuration. Artifactory alone offers a great many configuration options,.  so one might expect that configuring a unified platform will be complex by an order of magnitude. But the reality is that it has become much more simplified. The secret behind this is that all products are each configured through their own system.yaml file that shares the same common structure across the platform. This enables more consistency and re-usability of configuration  snippets, streamlining automation of configuration changes. (For a  detailed look a the new and shining system.yaml see [here](https://www.jfrog.com/confluence/display/JFROG/System+YAML+Configuration+File)

3. Unified Installation. Our goal was to have all JFrog products install similarly to aid developers in automating installations and upgrading across all products...as if it were one product.   This led to more consistency and faster turnaround of fixes. A more depth discussion on this topic can be seen in Vivek Kodira’s article on {% post https://dev.to/jfrog/lessons-learned-building-jfrog-platform-installers-applying-the-template-pattern-to-shell-scripts-4ac7 %}

4. Unified Folder structure.  Extending the principle of common configuration, we adopted a common folder structure for all our products,  to  allow a clear segregation of immutable and mutable software components. Eldad Assis elaborates in more detail on this topic in 
{% post  https://dev.to/jfrog/the-jfrog-platform-the-new-file-system-layout-f1n %}

5. Unified Communication. We also streamlined all the communication across our  products and services. This enables net-native architecture to be used even in a  standard VM based installation, while allowing cloud native services to leverage net-nativeness of the overall architecture. Introducing router services in the new platform which allowed us to remove  redundant code across all products to handle communication, service registrations, SSL services, routing logic, health-check services and meshing of services. More details about this bundled service is [here](https://www.jfrog.com/confluence/display/JFROG/System+Architecture)

6. Unified Naming. We took this opportunity to streamline the  names of all the  different packages. This enables a simplified continuous upgrade by watching  out assets in Bintray. The table below shows the new naming conventions:

|Installer type |Artifactory| MC/Xray/Distribution|
|---------------|-----------|----------------------|
|Linux|jfrog-artifactory-oss-7.0.0-linux.tar.gz| jfrog-xray-3.0.0-linux.tar.gz|
|Mac|jfrog-artifactory-jcr-7.0.0-darwin.tar.gz|jfrog-mc-4.0.0-darwin.tar.gz|
|Windows|jfrog-artifactory-pro-7.0.0-windows.zip|Not Available|
|rpm|jfrog-artifactory-pro-7.0.0.rpm|jfrog-mc-4.0.0-rpm.tar.gz|
|Debian|jfrog-artifactory-pro-7.0.0.deb|jfrog-xray-3.0.0-deb.tar.gz|
|Docker Compose| jfrog-artifactory-pro-7.0.0-compose.tar.gz| jfrog-mc-4.0.0-compose.tar.gz|

We at JFrog hope you will love these features as much as we did working on them. Keep those feedback coming!