Atlantic.Net (www.atlantic.net) is a Solid State Drive-based cloud hosting provider with locations in New York City, San Francisco, Dallas, Toronto, Orlando, and (coming soon) London and Singapore, says Marty Puranik, Founder & CEO, Atlantic.Net. The Atlantic.Net cloud system is an intuitive IaaS server environment for customers who are developers. The company backs its 24/7/365 operation with a deep, full stack DevOps integration throughout the organization.
That means that everyone has enough understanding of everyone else’s area within the company and of how everything is orchestrated so that when there is a change for the organization to make, everyone appreciates everything everyone else needs to touch to make the change successful. “That’s versus operating in a silo as only a database administrator or only a web developer,” says Puranik.
The Atlantic.Net software stack that makes change possible includes Linux, Nginx (http://nginx.org/), PHP (http://php.net/) /Python (https://www.python.org/), RESTful APIs for internal apps linkages, jQuery (https://jquery.com/), Ajax (http://www.w3schools.com/ajax/), MongoDB (/www.mongodb.org), node.js (https://nodejs.org), and KVM Virtualization. “We use serial protocols to communicate over Infiniband (a fast type of networking) so I would add SRP or iSER serial communications protocols, as well,” explains Puranik. (Infiniband is typically applied to high-performance computing applications.) Atlantic.Net applies a particular mindset as it uses these tools to serve its software, its customers, and its DevOps culture.
Mental Agility Key to DevOps Culture
Atlantic.Net teams feel that maintaining a mental agility across human resources and encompassing all stakeholders—customers, departments, and vendors, who often run DevOps teams, too—is a principal element of a thriving DevOps culture, according to Puranik. “Mental agility here means the ability to reformulate your best case scenario using new tools or upgrades to existing tools. Mental agility also means not designing systems that are so married to a legacy piece of technology that it is impossible to move them off that technology,” explains Puranik.
Atlantic.Net strives to design software such that they can easily add, change, or remove old and new technologies from the stack without making major revisions to the codebase. To do this, the Atlantic.Net team puts considerable time into mulling over design considerations prior to implementation to ensure flexibility in the relationships between technologies and the development stack. The team takes the additional time in order to abstract different models of how a new feature could work so they can make the best selection for everyone. That’s a better choice than tightly integrating the new technology simply because it’s easier for them to think through and makes development go faster. “In this sense, mental agility means keeping your options open so you don’t end up with your back against the wall and your best path cut off,” says Puranik.
The benefits of this type of mental agility are two-fold: the ability to continually evolve the codebase without any drag or friction from permanent ties to dated development moves; and, the ability to add functionality for customers with minimal code changes and without breaking the code.
Stretching Out Strategy to Satisfy Stakeholders
The nimble minds at Atlantic.Net take stakeholders into account because of the repercussions on customers, employees, and vendors of misguided changes to the software. “If, for example, we alter how a customer must access a particular feature, this creates a learning process for the customer,” says Puranik. If the change doesn’t carry enough value to make it worth the learning process, then the development team should not have put the customer or themselves through the whole mess.
In the same way, adding a new expression of a software component such as an API from a third-party vendor brings the reliability of the vendor into question. “Can the vendor handle the number of queries we are going to make? If not, it’s bad for the vendor, for us, and ultimately for our customers,” says Puranik.
Atlantic.Net must look at the entire development process from everyone’s angle, putting on their shoes and considering the outcomes of development choices. “Sometimes different people inside Atlantic.Net must be the champion on behalf of different stakeholders internally and externally to make the whole team think differently or at least think through what the outcome of specific actions might be,” says Puranik. That way continuous deployment is fast, and harmless—a win-win!