Cloud Computing Native
Cloud Computing Native
NATIVE
• Presented by :
Tayyaba Sheikh
Sobia Sarfraz
Muskan Nawaz
Monolithic Computing Agile
Microservices Architecture Cloud Computing Platforms
Cloud Containers
Cloud Native Computing Orchestration
DevOps Continuous Integration
CONTENTS..
A good starting point is the monolithic architecture, which is the traditional
architectural style
“Monolithic application has single code base with multiple modules. Modules are
divided as either for business features or technical features. It has single build
system which build entire application and/or dependency. It also has single
executable or deployable binary”
MONOLITHIC COMPUTING
Application is too large and complex to fully understand and made changes
fast and correctly
You must redeploy the entire application on each update
The size of the application can slow down the start-up time
Bug in any module can potentially bring down the entire process
It is a barrier for new technologies because it is very expensive in both time
and cost
MICROSERVICES
Better Organization
Decoupled
Good performance
CLOUD
“Cloud native computing is an approach in software development that utilizes
cloud computing to "build and run scalable applications in modern, dynamic
environments such as public, private, and hybrid clouds“
"An approach that builds software applications as micro services and runs
them on a containerized and dynamically orchestrated platform to utilize the
advantages of the cloud computing model’’
CONT..
DEVOPS
DevOps is the offspring of agile software development
CONT..
DIAGRAM OF DEVOPS
Agile is an approaches to software development emphasizing incremental
delivery, team collaboration, continual planning, and continual learning,
instead of trying to deliver it all at once near the end.
providing the opportunity to introduce changes within a project during
development.
AGILE
DIAGRAM OF AGILE DEVELOPMENT
Cloud native applications are built as a system of Microservices
The general idea of this architectural style is to implement a system of
multiple, relatively small applications. These are called Microservices.
They work together to provide the overall functionality of your system without
any interruption due to up gradation of any module
MICROSERVICES
A lot easier to implement and understand a smaller application that provides
one functionality, instead of building a large application that does everything
That speeds up development and makes it a lot easier to adapt the service to
changed or new requirements
You need to worry a lot less about unexpected side effects of a seemingly
small change, and you can focus on the development task at hand
BENEFITS OF MICROSERVICES
Cloud Computing applications develops by leveraging platforms and
frameworks. Various types of services are provided from the bare metal
infrastructure to customize-
Amazon Web Services (AWS) –
Google AppEngine
Mircosoft azure
Hadoop
Force.com and Salesforce.com
CONT…
Cloud computing platform are also able to adjust their features based on
proprietorship. Different entities or people have different problems and needs.
So, cloud computing platforms use their scalability to adjust to individual
conditions.
For instance, some businesses do not need much discretion. These businesses
would prefer a more liberated flow of information. These businesses include
marketing or advertising offices.
Cloud Computing Platforms in Private Cloud. The private cloud, on the
other hand, is the direct opposite of the public cloud. The public cloud is
dedicated to more public or widely-available use. A private cloud is a cloud
that is used by a single organization.
CONT..
Instead of virtualizing the hardware stack as with the virtual machines
approach, containers virtualize at the operating system level, with multiple
containers running atop the OS kernel directly. This means that containers are
far more lightweight: they share the OS kernel, start much faster, and use a
fraction of the memory compared to booting an entire OS.
There are many container formats available. Docker is a popular, open-source
container format that is supported on Google Cloud Platform and by Google
Kubernetes Engine.
CONTAINER
Consistent Environment
Containers give developers the ability to create predictable environments that are isolated
from other applications. Containers can also include software dependencies needed by the
application, such as specific versions of programming language runtimes and other
software libraries.
Run Anywhere
Containers are able to run virtually anywhere, greatly easing development and deployment:
on Linux, Windows, and Mac operating systems; on virtual machines or bare metal; on a
developer’s machine or in data centers on-premises; and of course, in the public cloud. T
Isolation
Containers virtualize CPU, memory, storage, and network resources at the OS-level,
providing developers with a sandboxed view of the OS logically isolated from other
applications
CONT..
Less overhead. Containers require less system resources than traditional or
hardware virtual machine environments because they don’t include operating
system images.
Increased portability. Applications running in containers can be deployed
easily to multiple different operating systems and hardware platforms.
More consistent operation. DevOps teams know applications in containers
will run the same, regardless of where they are deployed.
Greater efficiency. Containers allow applications to be more rapidly
deployed, patched, or scaled.
Better application development. Containers support agile and DevOps
efforts to accelerate development, test, and production cycles.
BENEFITS OF CONTAINERS
Flexible: Even the most complex applications can be containerized.
Lightweight: Containers leverage and share the host kernel.
Interchangeable: You can deploy updates and upgrades on-the-fly.
Portable: You can build locally, deploy to the cloud, and run anywhere.
Scalable: You can increase and automatically distribute container replicas.
Stackable: You can stack services vertically and on-the-fly.
PROPERTIES OF CONTAINER
Cloud orchestration refers to the arrangement and coordination of automated
tasks resulting in a consolidated process or workflow.
Cloud orchestration offers a systematic approach that maximizes the automation
benefits of agility and reduces costs.
CLOUD ORCHESTRATION
CONT..
Chef
Puppet
Heat
Docker
Juju
CONTINUOUS INTEGRATION
To accelerate the application lifecycle via
CI and CD, organizations will need to
leverage infrastructure resources (virtual
machines, storage, and networking) to
automate the build, integration, and testing
the code under development.