2. Table of Contents
2
Cloud-native Application
Cloud-native Development
Importance of Cloud-native
Applications
Important Considerations for
Cloud-native Applications
Benefits of Cloud-native Apps
The Main Features of Cloud-native
Applications
Containers
Microservices
Languages and Frameworks
Application Programming
Interface (API)
Operating System
Architecture and Platform
Infrastructure
Automation
Resources
3. Cloud-native applications refer to collections of independent, small-sized, loosely coupled services,
which are designed for enhancing the speed of building new applications along with optimizing the
existing ones as well as for connecting all of these. The term “cloud-native” indicates anything that
exists and runs in the cloud.
A cloud-native app is designed to ensure an experience across public, private and hybrid clouds that
provides automated management and consistent development. Cloud computing serves the purpose of
increasing scalability as well as the availability of apps. These benefits are delivered through resources’
on-demand provisioning and by enabling automation of an application’s life cycle.
To digress, cloud technology is used in cloud hosting for hosting a website. Cloud hosting is a web
hosting service which makes websites accessible. This service is provided by web hosting service
providers and the most popular web hosting companies are usually referred to as the “Best Cloud
Hosting Company”, the “Linux Shared Web Hosting ” the “Best Windows Hosting Company” etc.
3
Cloud-Native Application
4. Cloud-native development refers to an approach with regard to developing and updating apps swiftly
along with improving the quality of apps and reducing risks. It is an approach that is associated with
creating as well as running scalable and responsive apps that are fault-tolerant in private, public or
hybrid clouds.
4
Cloud-native Development
5. Cloud-native applications are deployed to a platform that ensures hardware decoupling. The main reasons
for cloud-native applications’ importance are-
Provides competitive edge- Companies that can develop and build applications quickly in response
to requirements will gain a competitive edge.
Delivers greater flexibility- Cloud-native development enables enterprises to develop applications
that can run on any private or public cloud without modification. It helps teams to run apps and
services efficiently while averting cloud lock-in.
Ensures alignment of operations with business requirements- This does away with the risk
that is associated with human error as the focus is on automation.
5
Importance of Cloud-native Applications
6. The following factors need to be ensured for maximising the gains from cloud native development.
Prioritizing workloads- Every application should not be considered for cloud-native. Technical
feasibility, ROI and strategic importance should be determined prior to taking any decision.
Selecting between buying or building a platform- Building applications can get delayed due to
component selection, deployment and integration. Hence, it is important to decide and choose
between the options for building or buying a platform.
Standardizing the services and the platform- Developers need to standardize the services along
with the platform.
6
Important Considerations for Cloud-native Applications
7. There are many benefits of cloud-native applications.These are mentioned below.
These apps scale as per requirement.
Cloud-native apps are modular and have functions which are broken down into microservices.
These apps do not rely on infrastructure.
These can run in a highly distributed manner.
The architecture of a cloud-native app enables developers to use a platform for abstracting away from
the underlying dependencies of infrastructure.
The platform for such apps allocates as well as reallocates resources dynamically, depending on the
ongoing requirements of a cloud-native application.
7
Benefits of Cloud-Native Apps
8. The key attributes of cloud-native applications are containers, microservices, languages and
frameworks, APIs (Application Programming Interface), operating system, architecture and platform,
infrastructure, automation and resources.These will be discussed in the next few slides.
8
The Main Features of Cloud-native Applications
10. Cloud-native is associated with container-based environment and ensures scalability as well as
innovation. Containers are key components in a cloud-native architecture. Cloud-native applications
are collections of multiple independent services that are packaged as lightweight containers. These
lightweight containers aid in deploying apps easily.
10
Containers
11. Cloud-native apps consist of microservices which are capable of being seamlessly integrated into cloud
environments. Microservices communicate via HTTP APIs. Each microservice can be deployed, scaled
and upgraded independently. Moreover, decoupling aids developers in delivering top-notch functionality.
Since each service is maintained independently, it ensures an application’s efficient life cycle
management.
11
Microservices
12. Cloud-native apps can comprehend several languages. It renders it easy to select different runtimes as
well as language frameworks depending on the functionality of each service.
12
Languages and Frameworks
13. Cloud-native services use such Application Programming Interfaces which are based on protocols such
as NATS or REST or gRPC etc. Communication in apps that are based on microservices can be
managed seamlessly by APIs.
13
Application Programming Interface (API)
14. Cloud-native apps are not dependent on, as well as are not biased towards any particular operating
system. Cloud-native services need to be independent of servers and operating systems. Such apps are
containerized and function at a high abstraction level.
14
Operating System
15. The cloud-native architecture ensures that platforms can be used by developers for abstracting away
from dependencies that are related to infrastructure. Hence, the focus remains on software and not on
patching or configuring or maintaining operating systems.
15
Architecture and Platform
16. The deployment of cloud-native apps happens on infrastructure that is shared, virtual and elastic. Such
an infrastructure involves software as well as hardware that can run the apps efficiently. This
infrastructure includes OS, deployment pipelines, data centers as well as systems and software that are
required for supporting the apps. Cloud-native infrastructure that is effective ensures that enterprises
have improved time to market and iterations.
16
Infrastructure
17. Automation is an important requirement for managing large and complex apps. Cloud-native apps are
usually automated to a high extent so that these can execute infrastructure as code. Hence,
automation is important for making cloud-native possible.
17
Automation
18. Cloud-native apps adhere to policies that have to do with allocation of resources to services, storage
quotas, CPU etc. Every department has access to as well as ownership of resources.
18
Resources