We have been JFrog Partners for six months now and this strategic collaboration just had to be the next logical step, as a large number of our clients has been using JFrog Artifactory initiated by us for a long time.
In the following blog post, we will describe how we successfully implement customer projects using the JFrog tool stack.
Which technology does JFrog offer?
Artifactory was originally invented by the first JFrog team to solve one of the oldest problems developers had when coding - remote repositories not being accessible because of timeout issues. That made it impossible for projects to be complied or built at all. They solved this case with an internal mechanism, which cached the libraries in Artifactory. Now every time a project compiles, it locally searches for the dependency on Artifactory or moves to the remote repository when failing. So Artifactory is capable of being a proxy between the internal company network and the open world.
Furthermore, JFrog developed many more products to help modern companies in their line of work. For instance, for developers all around the globe, an Artifactory should be placed in each continent. With JFrogs’ Mission Control, a web-UI to administrate all Artifactories, we can push an artifact around the globe by configuring a trigger that we can create with just a few clicks. X-Ray, however, scans and analyses all layers of an artifact in order to check its version, security, license, etc.. The tool is directly connected to Artifactory, which means that if an artifact does not acquire the desired dependencies, the deployment of that artifact will be stopped. The 3rd tool, Bintray, is basically a repository distribution tool, which spreads out your product to your team or customers. You can easily configure who can view, download, and upload the artifacts from it. Bintray can be fully integrated into Artifactory and provides a lot of metric data.
Which JFrog technology is used at Scandio and why?
At Scandio, Artifactory is used for our own Java Maven development, giving us a variety of workflows for our projects:
One of the standard approaches is using only two local repositories, for the SNAPSHOTS (for developers during their sprint and simultaneous development of feature requests) and as RELEASE repository (when the developing team decides to make a release with a version). The release can be executed by promoting the Artifact with a CURL command or the CLI tool (developed by JFrog) that copies the artifact from one repository to another one in the background.
Another workflow includes repositories for each stage to deploy the artifact in a validation repository where it first undergoes all testing scenarios and is later being “promoted” to the next stage. Commonly, we also use plugins like Jenkins or Bamboo in Artifactory to work much faster and easier on our CI/CD pipeline scripts. This offers possibilities like writing properties to an artifact where we can later receive information from, like the name of the project, the version of the artifact, or the commit the artifact is based on. This is just to name a few features of Artifactory - many more exist, which are very useful and assist developers in working more easily and efficient.
Besides Maven, it also supports many other types of projects, like the Docker registry. In this way, all custom images can be managed in Artifactory by adding remote docker hubs as a remote repository. At Scandio we use it in terms of the administration for our Node images built by Jenkins or Kubernetes, in order to dynamically create a build node container inside the Kubernetes Pod. There we also run a project-based container that builds and deploys the artifact back to the Artifactory.
For customers, the simplicity of Artifactory combined with good documentation and an automated configuration generator build, is very convenient: Nowadays, high availability is also crucial for most customers because a huge amount of their simultaneously working users are relying on their system to continuously work without any issues. JFrog provides us with solutions, suitable for our customers’ needs.
The requirements for a High Availability (HA) Artifactory solution are not huge. Only three things need to be taken into account: You need a Load Balancer (preferably one that is able to do round robin and supports sticky sessions), a shared storage device (like an NFS, Amazons EFS or S3 bucket) for storing the artifacts and a shared database which all nodes are connecting to. And that’s it – with these requirements met and an automated installation, we are just a few steps away from a ready to serve HA Artifactory deployment.
But let’s take a look from another perspective: Artifactory is also quite easy to administer from an installation and configuration point of view. Out of the box, there are not many configs that you have to modify to let it run on a production level. And this simplicity also applies to an orchestration engine like Ansible. That takes away a big chunk of work, as there is close to nothing left to configure in order to get Artifactory running.
More than 4,000 paying customers, 60,000 installations and millions of developers globally rely on JFrog’s world-class infrastructure for software management and distribution. Customers include some of the world’s top brands, such as Amazon, Google and MasterCard. The company is privately held and operated from California, France and Israel.