The answer guided his application development. Iodyne opted to connect to Cassandra on AWS, an open source NoSQL database management system, and its MySQL service, Aurora, which had all the necessary features.
“By using Aurora, we can move to any other MySQL-based provider,” explained Williams, who said there were some features with Cassandra that AWS did not provide. To avoid lock-in, Iodyne chose to deploy its own Cassandra cluster.
“We can deploy that anywhere.”
Developers should choose features and decide what clouds the application can support at the beginning of the development process, Williams said. Because the ability to move from AWS to Google or Azure provides redundancy, it’s important to think of the servers that are hosting your application as a commodity. When you do, migrating from one cloud platform to another becomes a lot less painful; although there is still work to be done when making the move, any necessary modifications have been anticipated.
4. AI will augment human developers, not displace them
AI is transforming the cloud and data centers. So much so that everyone is wondering: Will AI replace software developers?
For Iodyne, AI is about seizing an opportunity to add capabilities to its telemetry application, not replacing the humans who created it.
In that spirit, Williams said the first question developers should ask about AI is where it can augment what humans are doing either because people are error-prone or because the task is impossible for a person to do.
“That’s where AI is the best fit,” he suggested.
In Iodyne’s case, AI can help make its storage device and supporting applications more secure while opening avenues to improve storage efficiency, Williams said.
5. Tinkering makes you a better cloud application developer.
Young developers need to know how to write programs. But what Williams has found to be just as helpful is simply playing around with information technology for fun. As a teen, the movie Jurassic Park inspired him to install Linux, which has prepared him well for the challenges he’s encountered building applications.
“Break things at home and not at work because you get to be playful at home in a way that then will help you be more effective at work,” Williams said, adding that it’s never been easier to run your own network infrastructure in your own house or to play with different tools and concepts.
“Playing teaches you far more.”