By Sharan Gurunathan, Executive Vice President and Principal Solutions Architect
As cloud-native developers, we often assume everyone just “gets” why cloud-native principles in application development make sense in today’s cloud-centric world. At Coda, we live and breathe cloud – in fact, we’re really cloud obsessed here. But, as I sat down to write this blog, I realized that not everyone is as passionate about AppDev in the cloud as we are – until they see the way cloud-native development impacts their own organizations.
Case in point: We recently had a large enterprise client that wanted help developing a software-as-a-service (SaaS) application to break into a new segment of their market. Because this is a new venture for the client, they didn’t want to spend millions of dollars on infrastructure, so they needed to build an app pre-destined for deployment in the cloud. They chose Amazon Web Services (AWS) as their platform because they’re in a healthcare field and AWS has mastered HIPAA compliance. When they came to us, they wanted an application that could take advantage of all the cloud has to offer – particularly its nearly limitless capacity – even though they intended to launch the product with just 10 to 20 users to start. To us, it was clear: Cloud-native was absolutely the way to go. By building the app using cloud-native principles, we were able to create a program that could automatically scale from their initial 10 users to 10 million or more users as they roll the app out to their customers nationwide – all without rewriting a single line of code. That’s the power of cloud-native.
Why does it matter so much if an application can auto-scale? Imagine it’s Thanksgiving Day. The CIO of a major retailer is just about to sit down to a big family dinner. He or she doesn’t want to get a phone call asking if it’s ok to add more virtual servers or capacity to a purchasing app for Black Friday just as the turkey makes it to the table. That’s why automation has to be at the core of any cloud-native application – and that’s very different from the way applications were previously developed.
In the past, pre-cloud, developers and infrastructure teams would kick off an AppDev project by talking about the amount of available capacity they had to work with. If they wanted the app to scale, nothing was automatic – a human being had to authorize the acquisition and manual addition of more infrastructure to the company’s physical data center to gain more capacity. But, just as mainframes once provided more capacity than anyone could imagine, today’s cloud now provides virtually limitless capacity, eliminating the need for authorizations and pre-configured infrastructure.
That’s what makes the automation part of cloud-native architectures so important. Building in automation pre-authorizes scalability, and it allows it to happen automatically, without human intervention. Therefore, by relying on cloud-native principles, the discussions between developers and infrastructure teams can – and should – now be entirely different.
Today, we’re building apps that can consume any amount of capacity desired. Bringing the developers and infrastructure teams together on this point is the foundation of Coda’s unique DevOptimized™ approach to application development. Our DevOptimized approach builds common ground through the use of cloud-native principles that combine automation tools and repeatable patterns learned over multiple engagements to eliminate the divide that once stood between AppDev and infrastructure teams so we can deliver value much more quickly.
Part of delivering value quickly means developing apps that can be deployed faster – another of cloud native’s hallmark achievements. Cloud-native development encourages the use of microservices, smaller applications used as building blocks to create much larger applications, saving time and money in the process. By employing microservices as part of a cloud-native methodology, there’s no need to reinvent the wheel. Developers can choose from a variety of applications that already exist – if there’s a proven authentication or login application available, for example, they don’t need to write a new one. By employing microservices, developers can dedicate the bulk of their time to functionality and still bring a new application to market much faster than ever before because they’re not spending time re-writing code that already exists in a usable and proven format. And developing applications with a faster time to market and with the ability to scale quickly without being rewritten is what’s fueling the excitement about cloud-native methodologies.
Clearly, when you’re building an application from the ground up, cloud-native can be a huge differentiator, but it’s not perfect for every scenario. When and where to apply cloud-native principles should always be decided based on value and potential return on investment. In some legacy applications – particularly those that follow a service-oriented architecture pattern – refactoring them in a cloud-native format may add value. But simply by imposing a cloud-native methodology on top of a legacy app may also be a bit like putting the proverbial square peg in a round hole: It just isn’t a good fit. If you want to learn about the best ways to move legacy applications to the cloud, read another Coda blog, “Moving Legacy Apps to the Cloud.”
What does the future hold? With all of these cloud-native and microservices capabilities available on tap today, I don’t think it will be long before we can bring a business analyst or line-of-business user together with an infrastructure technologist and an application developer into a single room where they sit together and assemble the app they need in just one day. We’re not quite ready to do that yet, but the technologies are maturing at such a rapid pace that I think we’ll be there sooner than anyone can imagine.
Want to learn more? Find out what role tech-focused brainstorming can play in moving an application from idea to deployment faster. Then, discover why automation is the “secret sauce” in successful applications. Learn about Coda Global’s unique RightStart approach to AppDev and the ways our DevOptimized™ methodology can help you turn your application dream into a dream application. Take a look at our most recent press release on cloud-native methodologies: “Coda Global Reveals the Secret to Tapping the Cloud’s Near-Infinite Capacity.” And watch an informative video featuring Coda expert Sharan Gurunathan discussing cloud-native principles and technologies, then contact us and let us show you what Coda Global can do for you.