As developers, we’re passionate about creating and delivering high-quality software to our end-users and customers. Simply knowing that our software was shipped, deployed, and is being used is a great achievement.
And it looks like we did a good job. Everything around us in our lives depends on high-quality software. Software needs to run for us to get water, energy, electricity, transportation, food, etc. Developers have a huge responsibility to keep this software updated and running efficiently. We write the software that runs the world today, and the only way to ensure we are improving efficiency, productivity, enhancement to products in our code is to continuously push our updates to production.
A massive hurdle developers face is pushing out those updates at a rapid pace. Developers manifest a fear of updates so they often put the burden of software updates on consumers or end users. Like the illustrations below we task the end user with clicking a button to install an update. If we think of liquid software – flowing seamlessly from code to production – this creates a big boulder in the ‘software river’s’ way. How do we remove that boulder? We update with confidence.
Updating Software with Confidence – The Liquid Software Vision
Software updates have made a lot of progress. From having a technician at the shop update our phones or cars to over-the-air updates, today our software updates are getting better but we can still continue to improve the process.
Imagine a world without software versions
As soon as you release your software to the world and your users interact with it, they may want something different that’s not in the version you released. We push updates when we discover and fix bugs but we also need to continuously meet the demands of a changing world and environment. We need to embrace software updates on all fronts – the bug fixes and the feedback we receive from our consumers. Once we change our mindset, We realize that software updates are a core component of software development. As soon as you write a line of code, you need to think that this line of code needs to be updated. To me the 3 secrets of creating powerful DevOps pipelines are to automate, automate, automate. We need to create more automation processes using tools that help us deliver secure software faster. Embracing this as the standard way of maintaining and improving your software will strengthen your confidence level and will take the fear out of the act of continuous updates.
This is the liquid software vision. Software is not made of packages anymore, it’s liquid. As soon as it’s deployable on a piece of hardware or in a Kubernetes cluster, it needs to be connected to the source code. We need to start thinking of software development and software updates as liquid flowing through pipes.
At JFrog, we create all the tools that enable the software developer to automate their updates, automate their DevOps pipeline, and automate their workflow.
- Manage your binaries, binary code, all dependencies and the software you develop.
- Scan all your binaries and verify that you have robust code that cannot be attacked.
- Over the air update all the way to end devices and embedded devices.
The problem of software updates is a software problem. Software needs to be updated and embracing continuous updates and continuous delivery of those updates is the solution. Innovation is happening every day. The realm of possibility when you write software is gigantic. This is what is amazing about software – if you write the code, deploy the code, and continuously update and deliver those updates to your runtimes – if you embrace the updates – you achieve liquid software.