Are You Ready for Cloud-Native?

publishedabout 2 months ago
2 min read

The world is embracing cloud-native application architectures. Gartner predicted that more than 95% of all new applications will be cloud-native by 2025. This is up from only 30% in 2021.

Cloud-native is here today, and it’s important that you understand what it means. If you aren’t currently building your new applications to be cloud-native, then you are already behind the competition.

Cloud-native applications give you a greater ability to manage your financial risk by reducing the capital costs of your applications and offer the agility, flexibility, scalability and supportability you need to compete. This is because the infrastructure costs of cloud-native apps are more closely tied to application usage than are non-cloud-native application costs. Capital-intensive non-cloud-native applications require greater guesswork to understand your actual infrastructure needs.

So, I have to ask. Are you ready for cloud-native?

What Does it Mean to be Cloud-Native?

Plenty of companies are moving to the public cloud, but many of them are simply moving existing monolithic applications from their on-premises data centers to a cloud-based location. This classic “lift and shift” migration strategy does not take advantage of cloud-native capabilities and benefits. Rather than solving your problems, lift-and-shift strategies move problems from your own data center to a cloud data center. And given that you aren’t effectively using the cloud, you are likely spending more money on infrastructure costs in the cloud than you did on-premises.

This often requires an application re-architecture—for an application to be cloud-native, the application must:

  • Use a service architecture (SOA, microservices, etc.). Splitting an application into manageable components allows you to better manage the infrastructure requirements for each component while making the creation, updating and ongoing support of those components easier and more reliable.
  • Use a continuous release deployment process. Companies that effectively use cloud-native architectures release many times per week, or even many times per day. This compares with traditional application deployment processes, which might release once a week, once a month or once a quarter.
  • Use containers to ease infrastructure dependencies and simplify the deployment process. Container orchestration systems (such as Kubernetes), manage the creation, destruction and communication between the large number of containers that make up your application.
  • Run your application on a public cloud infrastructure. Certainly, you can deploy to multiple cloud providers if desired. The goal is to ensure that your application uses constantly changing and highly flexible infrastructure resources. This is only possible when using a public cloud provider.
  • Use the security best practices recommended by your cloud provider. Public cloud-based applications can be even safer and more secure than an equivalent on-premises-based application—but only if you follow the best practices suggested by your provider.

What Do I Need to be Cloud-Native?

Most organizations that are not currently cloud-native cannot follow one or more of these suggestions. Unless something changes, they will struggle with application modernization and requirements. What does an organization need to do to prepare themselves to focus on this type of development? For most organizations, the greatest need is properly trained staff.

Most on-premises-focused enterprises do not have the right talent in place to facilitate a cloud-native transformation. These companies must focus on creating cloud architects—a new breed of architect that focuses on cloud and cloud-native-based infrastructures—and cloud-experienced software engineers. In addition, your entire company must adapt to a cloud-ready mindset. This means infusing a cloud culture across your organization. A cloud center of excellence organizational model can help with this cultural transformation.

Moving Forward

Cloud-native is the answer to today’s application challenges. It provides agility, flexibility, scalability and supportability. It helps you reduce the capital costs of your applications while increasing capacity. Cloud-native architecture can help you quickly and effectively respond to changes in your industry and marketplace.

To effectively prepare yourself to be cloud-native, you must take a companywide approach. This means creating a culture that understands and espouses cloud-native concepts.

Cloud-native is not a technology; rather, it is a foundation for building your organization.

This article, written by me, first appeared in Container Journal, Sept 2022

Software Architecture Insights with Lee Atchison

Lee Atchison is a software architect, author, public speaker, and recognized thought leader on cloud computing and application modernization. His most recent book, Architecting for Scale, 2nd Edition (O’Reilly Media), is an essential resource for technical teams looking to maintain high availability and manage risk in their cloud environments. Lee has been widely quoted in multiple technology publications, including InfoWorld, Diginomica, IT Brief, Programmable Web, CIO Review, and DZone, and has been a featured speaker at events across the globe.

Read more from Software Architecture Insights with Lee Atchison