Software development, if you'll pardon the pun: is evolving. Steadily, all the more so in times of digital transformation. One of the latest buzzwords is certainly "cloud native". But what is it actually? Has it come to stay? What are the benefits of cloud native development, and why is this topic so important? Does it even matter, and if so, for how long and for whom?
This article explains not only what Cloud Native is, but also what the specific approaches to Cloud Native are and what Cognizant Mobility - the company behind Mobility Rockstars - is doing in this area.
Ca. 18 min
What is Cloud Native Development?
We’ll take the liberty of starting this paragraph with a quote from the Cloud Native Computing Foundation (CNCF): “Cloud Native technologies enable enterprises to develop and deliver scalable applications in modern, dynamic environments such as public, private and hybrid clouds.” (if you’re interested in the CNFC: At this link you will find a cool infographic as PDF about the “Cloud Native Interactive Landscape”)
This is already quite meaningful, but it presupposes that the reader is familiar with how software development currently works, or has worked for the most part up to the present day: Monolithic applications, self-contained systems, large projects, hosted “on premise” on servers in the own company or rented data centers were common. Applications were written and executed locally. This is often at odds with current development methodologies such as Scrum and Agile, as traditional IT applications are inflexible and cannot be broken down into small portions (“microservices”) and assigned to effective Scrum teams.
These processes are contrasted by the much-cited cloud, whereby we usually speak here of a public cloud. So applications that are developed Cloud Native are written directly for use in a cloud, divided into microservices from the start, and offer huge advantages in terms of efficiency, flexibility and scalability. So, in conclusion, Cloud Native represents the shift to move from static technology to a set of services that can be scaled, optimized and merged to keep up with the demands of the technology market and its business system.
Craig McLuckie, founder and CEO of the company Heptio and one of the co-inventors of the open source system Kubernetes, has a similar view. You can watch his definition of the Cloud Native approach in this video:
Cloud Native Development – What are the advantages?
Some things are obvious: First of all, a lot of administrative work is eliminated, which saves costs for companies. There is no need to operate or rent a separate data center that houses local servers from which applications are distributed. This also allows administrative staff to be assigned to more relevant tasks and results in a direct, tangible benefit for their employer.
Cloud Native applications are also highly updatable, which enables a huge head start over monolithic applications that previously had to be updated at longer intervals using the classic Waterfall methodology (i.e., a linear, non-iterative approach). This not only enables a high degree of flexibility – the very timely optimizations that can be implemented by highly efficient, self-sufficient Scrum teams also benefit the product lifecycle and ultimately often customer satisfaction. What customer is not happy when a wish can be implemented promptly?
Another hugely important advantage of cloud native development is scalability. The days when data centers and their capacities had to be painstakingly expanded while complying with all security requirements, necessary redundancies, fail-safety, etc. are outdated. Today, no additional infrastructure is required in the company – instead, a cloud can be scaled at any time, required resources can be provided and adapted to requirements with almost no loss of time.
Progressive automation is also a huge advantage, of which Robotic Process Automation can sing a virtual song. Saving time and costs, using personnel wisely and remaining maximally optimizable in development are unconditional pros of automation within the cloud. Providers such as Netflix, for example, were very early adopters of cloud native development and the automation and scalability that comes with it. As a result, Netflix is able to deploy hundreds of microservices per day and maintain user experience while quickly accessing and steadily expanding its offerings – its success is well-known.
But cloud native development also represents real progress in the automotive sector – we’ll get to how Cognizant Mobility deals with these issues in a moment.
What is this “cloud” anyway?
Sure, this is where we get into the pure definition of terms and do some basic work – but do you know what exactly the oft-mentioned “cloud” is?
To explain, it is necessary to distinguish in advance which cloud services exist, using acronyms such as “PaaS”, “IaaS” and “SaaS”. “IaaS” stands for “Infrastructure as a Service” and describes the provision of IT resources such as storage, network capacities or hardware. So we’re talking about highly scalable server farms and data centers that can be rented by companies but managed by an external provider.
“Saas” also stands for the service, but for the software: “Software as a Service”. This means nothing less than the end of CDs, Blu-Rays, downloads or other storage media. Instead, the software is offered as an online service, and this is also no longer installed, but executed directly in an app such as the browser.
The last, but not least important item on this list is “PaaS”, i.e. “Platform as a Service”. This often includes “IaaS” and also provides development environments, programming models and other tools to build cloud native applications and optimize them for the cloud. These platforms can scale according to application requirements and should typically provide monitoring as well.
It is therefore essential to note that “Cloud Native” not only explains the approach to making modern software development flexible, scalable and automatable – it also describes a whole, associated periphery such as the necessary tooling and knowledge base on the part of the developers, and modern development methods such as Agile and Scrum are also indispensable in the Cloud Native environment. Classic waterfall development, as still practiced today in some companies, is not suitable for the Cloud Native approach.
Is Cloud Native Development the Future?
We mentioned providers like Netflix earlier, but other major companies were also early participants in Cloud Native: Facebook, Twitter, Spotify, Uber, Airbnb. First steps such as the introduction of containers, microservices, Docker, Kubernetes and similar recent achievements enabled the migration to break large, monolithic applications into small pieces, assign them to agile teams and develop them directly for cloud use in the future.
This will continue to be and remain state of the art, confirms cloud expert Goran Jovic, software developer at Cognizant Mobility. “No one will build monolithic applications anymore, it just doesn’t make sense. Micro-service architectures and cloud technologies make it possible to build highly available and scalable systems faster and operate them more efficiently.”
While Cloud Native will also continue to evolve and advance, it is likely that the fundamental principles of this approach will be the industry standard for at least the next 10-20 years. This can also be seen from the fact that in the automotive sector, for example, virtually all OEMs are increasingly relying on agile practices as part of the digital transformation, not only at the project level and in the operational structure, but also in the course of this from classic IT to the cloud native approach. Many of today’s elementary requirements, such as Continuous Integration and Delivery, can only be automated in a cloud. Testing must be automated and checked in, although changes are of course still checked and optimized manually. Nevertheless, deploying hundreds of applications and microservices on a daily basis, as industry giants such as Netflix or Spotify make possible, would no longer even be feasible in the previous monolithic IT sector.
So is Cloud Native the future and state of the art in software development? The answer is an unequivocal “yes.”
Cloud Native at Cognizant Mobility
Cognizant Mobility is also one of the companies that are early adopters of Cloud Native and therefore active in both major fields of activity: On the one hand, of writing new applications following Cloud Native approach, directly developed and optimized for the Cloud. A practical example, for example, is “Identity Storage” as part of a collaboration with BMW, where on premise services still exist but are being modernized step by step, broken down into microservices and gradually cloudified.
This leads to the much larger task area, namely the cloudification of previously classic IT projects. Cognizant Mobility’s Cloud IT teams are taking on the task of transitioning their customers from the on premise landscape to the cloud native service world. Thus, monolithic applications are broken down into microservices, transferred to containers and assigned to Scrum teams. They develop and build the necessary tooling and deploy the applications from the on premise infrastructures to the public cloud.
This presents developers with challenges that can always be solved thanks to expertise and experience from numerous projects, thus enabling customers to scale quickly, deploy their teams in a more targeted manner and keep up with the pace of the industry.
For this, it is important not to carry out a “big bang migration”, but to consider the specific requirements: What data is allowed in the cloud at all, how is it reliably preserved and processed? One of the particularly important points is, of course, the unconditional security of the data. Cognizant Mobility offers a high level of expertise in this area, especially regarding hardware-based security, which you can read more about in this article. Knowledge in the area of “HSM” (Hardware Security Model) is also essential in the cloud – we can also provide information on this in a separate article with free whitepaper which we recommend especially if security is the most important issue for you, and which addresses the most common problems and how to solve or avoid them.
By the way, Cloud Native usually works with the best-known providers AWS (Amazon Web Services) and Microsoft Azure. In the automotive sector in particular, Waymo, a subsidiary of Alphabet founded in 2016, is a strong player with its Android Automotive Cloud that can certainly keep up with Tesla’s innovations. Of course, there are other cloud providers, but these three are currently the definitive spearhead, at least as far as the automotive industry is concerned.
Cloud Native: Suitable for Everyone?
The question as to what extent a migration to the cloud and a switch to cloud native is practicable for a company must basically be considered on an individual basis. For a first assessment of a general nature, check out our exciting Mobility Rockstars Talk with Tobias Müller and our Mobility Rockstars editor Marc in this video.
If you are considering migrating to the cloud or moving your software development to cloud native, we generally recommend that you contact us for a no-obligation assessment. However, as a basic tip, we can tell you that cloud native processes are very different from monolithic application development – these processes need to be prepared in advance, accurately tested and optimized. Cloud rooms are needed, the necessary tools including knowledge of these means must be available, and the establishment of a competence center is also recommended. Booking another cloud with one click is easy, but the processes for these new technologies are also relevant and must be ready for easy migration and later automation of tests, for example – this is the only way to keep development and usage times low and effective: Cloud Native is an agile model, automation plays an elementary role.
Of course, the maximum modular structure of a public cloud is also highly interesting. Many systems and resources no longer need to be programmed and deployed by in-house developers; instead, desired modules can often be booked directly in the cloud. This allows a very high flexibility and scalability, which allows efficient growth and a high degree of automation, as well as the circumstance to integrate ready-made features and modules of the hyperscalers among the cloud providers into their own applications. For example, anyone who needs special analytics modules can already obtain them in cloud-native form via AWS and often no longer needs any special knowledge to do so. Thus, in addition to the benefits repeatedly mentioned, there is also the conservation of internal resources. The result is satisfied employees, strong teams, and a savings in regular costs for personnel, maintenance, operations, troubleshooting, and much more. The analogy to website development may be oversimplified in this case – but if you take a closer look at well-known providers who offer HTML5-based do-it-yourself modules so that even non-professionals of web programming can put together a functional and quite respectable webshop in 30 minutes, you can’t help but wonder when this reality will also find its way into cloud development. Developer-Lego, just assemble the modules as you like – that certainly has something going for it and is within the realm of possibility for the near, very near future of automotive development in the cloud.
Cloud Native: The Conclusion
It would be easy to say that monolithic applications are a relic of the “’10s,” and we wouldn’t be entirely wrong. Cloud Native is state of the art and will remain so. With rising technology levels, new methodologies such as Scrum and Agile, with upcoming developments in near-zero time transfer technologies, with the advance of automation, cloud native is becoming more and more of an absolute imperative in development-heavy industries such as automotive.
Cognizant Mobility is ideally positioned for digital transformation and is happy to let you benefit from the possibilities of cloud native development: Feel free to contact us, for example via our contact form, which you can find with just one click here.
Welcome to the future!