Cloud Native Computing: Daniyal Nagori
Cloud Native Computing: Daniyal Nagori
DANIYAL NAGORI
ROAD MAP
WHY CLOUD COMPUTING IS SUCCESSFUL AND EMERGING DAY BY DAY?
● A server is a computer program or a device that provides services for other programs or devices
(client).
● All server is a computer on the network that provides services to other computers now this might be
● Dedicated IT support required with a dedicated space needed for the in house server.
● Being more susceptible to data loss during disaster situations. This will be dependent on how often data is
stored securely offsite.
● Cloud computing is the delivery of on-demand computing services -- from applications to storage and
processing power -- typically over the internet and on a pay-as-you-go basis.
● Cloud computing is a scalable services consumption and delivery platform that provides on-demand
computing service for shared pool of resources, namely servers, storage, networking, software,
database, applications etc., over the Internet.
Cloud Computing (cont..)
● Cloud computing is the use of various services, such as software development platforms, servers,
storage and software, over the internet, often referred to as the "cloud."
● In general, there are three cloud computing characteristics that are common among all
cloud-computing vendors:
1. The back-end of the application (especially hardware) is completely managed by a cloud vendor.
2. A user only pays for services used (memory, processing time and bandwidth, etc.).
● Cloud customers can access computing resources like a VM machine, storage, an application, or a
utility on a pay-per-use basis. Customers can choose this method instead of building and
maintaining on-premise computing infrastructures. Companies can opt for cloud services for their
infrastructure needs and save capital, Instead of building their own IT infrastructure which takes a
huge amount of time and capital.
● For instance, if you need a laptop with an i7 processor and 32 GB RAM for completing a workload.
You can either buy a laptop and execute the workload on it. But this laptop will become idle after the
usage which is not profitable for me.
Traditional Way Of Software Development
Traditional Way Of Software Development (cont..)
A monolithic application describes a single-tiered software application in which the
user interface and data access code are combined into a single program from a
single platform.
● Application integration — integration with other services (e.g. via messaging or REST API). Or
● Resiliency
● Organizational Alignment
● Reduction in Cost
Advantages Of Cloud Computing
Cost Savings
The most significant cloud computing benefit is cost savings. Businesses, no matter what their type or
size.
Reliability
With a managed service platform, cloud computing is much more reliable and consistent than in-house
IT infrastructure. Most providers offer a Service Level Agreement which guarantees 24/7/365 and
99.99% availability. if a server fails, hosted applications and services can easily be transited to any of
the available servers.
Advantages of Cloud Computing (cont..)
Manageability
Cloud computing provides enhanced and simplified IT management and maintenance capabilities
through central administration of resources, vendor managed infrastructure and SLA backed
agreements.
Strategic Edge
Ever-increasing computing resources give you a competitive edge over competitors, as the time you
require for IT procurement is virtually nil. Your company can deploy mission critical applications that
deliver significant business benefits, without any upfront costs and minimal provisioning time. Cloud
computing allows you to forget about technology and focus on your key business activities and
objectives. It can also help you to reduce the time needed to market newer applications and services.
What is CLOUD NATIVE?
CLOUD NATIVE (cont..)
● Cloud native is a lot more than just signing up with a cloud provider and using it to run your existing
applications. It affects the design, implementation, deployment, and operation of your application.
● Cloud-native technologies are used to develop applications built with services packaged in
containers, deployed as microservices and managed on elastic infrastructure through agile DevOps
processes and continuous delivery workflows.
CLOUD NATIVE (Cont..)
● Cloud native computing uses an open source software stack to deploy applications as
microservices, packaging each part into its own container, and dynamically orchestrating those
containers to optimize resource utilization. Cloud native technologies enable software developers to
build great products faster.
○ Microservices
○ Containerized
○ Orchestration
○ CI/CD
CONTAINERS
CONTAINERIZATION (cont..)
● Containerization is a lightweight virtualization technology.
● Any application can be bundled in a container can run without any worries about
dependencies, libraries and binaries.
● Container creates the isolated environment with all the required dependencies, libraries
and binaries to run your application without any issue.
● Once your apps are running in containers, they still need to be managed.
● Starting additional or shutting down running application nodes based on the current load of your
system isn’t that easy. You need to
● You need to have the right tools in place that automatically do all of this.
● Continuous integration puts a great emphasis on testing automation to check that the application is
not broken whenever new changes are integrated into the application.
CONTINUOUS DELIVERY
● Continuous Delivery is an extension of continuous integration to make sure that you can release new
changes to your customers quickly in a sustainable way.
● This means that on top of having automated your testing, you also have automated your release
process and you can deploy your application at any point of time by clicking on a button.
Continuous integration / Continuous delivery /
Continuous deployment (Cont..)
CONTINUOUS DEPLOYMENT
● Continuous deployment goes one step further than continuous delivery. With this practice,
every change that passes all stages of your production pipeline is released to your customers.
● There's no human intervention, and only a failed test will prevent a new change to be
deployed to production.