Back in the day, all applications ran on physical servers deployed and managed by IT organizations in data centers. Today, IT is moving headlong into cloud-native infrastructures, and IT managers and staff are now coming to grips with how to cope with a radically different infrastructure environment.
Cloud-native infrastructures are used to build and run applications in runtime environments where the underlying operating system, as well as security, scalability, fault-tolerance, backups and other components are abstracted away and managed by the cloud infrastructure provider, explained Mike Duensing, CTO of Skuid, an app development platform provider. "A key feature is that infrastructure and environment configuration is done through APIs and declarative interfaces, which enables remarkable opportunities for automation and agility," he added.
Ned Bellavance, director of cloud solutions for Anexinet, an IT platform developer and provider, noted that it would be extremely difficult to run a cloud-native application on a non-cloud-native infrastructure, largely due to the dynamic nature of cloud applications. "Think about traditional infrastructure management," he said. "Even with the rise of virtualization, traditional infrastructure is full of manual processes, heterogeneous environments and static configurations."
Trying to effectively run a cloud-native application on a traditional foundation is a recipe for failure, Bellavance said. "The operators of the infrastructure will quickly become the bottleneck for the software development lifecycle, and developers will go out and provision their own resources in the public cloud to avoid the issue."
Shamik Mishra, assistant VP for technology and innovation at software design and engineering firm Aricent, also believes that a cloud-native infrastructure is the best way to move forward. "A cloud-native infrastructure provides a lightweight, low footprint, abstracted, distributed computing and networking capability," he observed. "Abstraction enables application developers to develop products that are designed for scaling."
A cloud-native infrastructure also incorporates the design principles necessary to handle and host applications designed to use data lakes and machine learning tools. "This enables developers to focus on the problem they are solving rather than worrying about the underlying infrastructure and platform," Mishra added.
On the other hand, existing infrastructures can often continue to accommodate cloud-native applications in certain situations. "There are some components of existing infrastructure that can still be leveraged by cloud-native applications," Bellavance said. "The ones that immediately come to mind are identity and access management (IAM), backup and replication and state storage services."
Regardless of the infrastructure used, all cloud-native applications make certain assumptions about the underlying infrastructure and expect to interact with it in specific ways. "Without some of these features and characteristics, primarily proper API integration and pervasive automation, cloud native-apps can’t run effectively, if at all," said Steve Bishop, CTO at Veristor, an IT consulting and solution integrator.
"Cloud-native Infrastructure isn’t something you buy and pull out of a box," Bishop observed. "It's the combination of technologies processes, and organizational characteristics and culture."
Taking the plunge
When first building a cloud-native infrastructure, Bishop recommended plunging into automation, containerization, and learning to think and operate like a software developer. "Make sure every infrastructure component is API-enabled/software-defined, automate all on-going infrastructure lifecycle functions/tasks, and manage that automation code in a code repository," he advised. "Learn containerization and how to provide container services to your developers."
To create an optimal cloud-native infrastructure, Lee Atchison, senior director of strategic architecture at software analytics specialist New Relic, recommended focusing on industry best practices associated with building highly scalable and highly available applications. "This includes processes and procedures such as DevOps, infrastructure as code, CI/CD, 12-factor application architecture and infrastructure capabilities, such as containers, container orchestration, dynamic routing and capacity/redundancy management," he said. "It also includes understanding and leveraging cloud security best practices."
Jeff Slapp, VP of cloud services and support at 365 Data Centers, said building and launching a cloud-native infrastructure also requires input and support from staff members or external consultants possessing relevant knowledge and experience. "Alternatively, a business could acquire a purpose built, web-scale-based architecture, such as Nutanix," he suggested. Once the infrastructure is operational and accessible, applications should be easily deployed via native management interfaces.
If an IT organization prizes speed and responsiveness, it has to have a cloud-native infrastructure, Duensing said. "If you need to rapidly build, iterate and deploy applications to address continually emerging business imperatives, then cloud-native practices should be central to IT strategy," he explained. "I do not think it is possible to stay relevant with employees, customers and partners without the enabling super powers that you get from cloud native."