This document gives an overview about the Distributed System
Architecture, Cloud Computing, Cloud Testing – Advantages & Challenges.
What is a distributed system?
A distributed system is a collection of independent
computers that appear to the users of the system as a single system.
Examples:
Network of workstations
Distributed manufacturing system (e.g., automated assembly
line)
Network of branch office computer.
Why do we develop distributed systems?
Availability of powerful yet cheap microprocessors (PCs,
workstations), continuing advances in communication technology
Globalization, Communication, Collaboration & Commerce
at the speed of light are creating a demand for highly Resilient, Efficient
& Scalable distributed transactions through various applications such as
high frequency trading, social networking and federated enterprise business
process automation.
- Resiliency: The reliability, availability, accounting, performance & security of the resources have to be assured so that the users can depend on the service levels they have negotiated for.
Ø Measure
the FCAPS parameters both at the individual resource level & at the
system level &
Ø Control
the resource system-wide based on the measurements, business priorities,
varying workloads & latency constraints of the distributed transactions.
- Efficiency: The effectiveness of the use of the resources to accomplish the overall goal of the distributed system depends on two components:
Ø Individual
resource utilization efficiency.
Ø The
coordination and management cost which assures that the distributed components
are contributing to the overall goal of the system.
- Scaling: As the requirements in the form of business priorities, workload variations or latency constraints change, the distributed system must be designed to scale accordingly. The scaling may involve dialing-up or dialing-down of resources, geographically migrating them.
FCAPS is a network management framework created by the
International Organization for Standardization (ISO).
FCAPS categorizes the working objectives of network
management into five levels. The five levels are:
- fault-management (F),
- the configuration level (C),
- the accounting level (A),
- the performance level (P) and the
- security level (S).
• At
the fault management level, network problems are found and
corrected. Potential future problems are identified and steps are taken to
prevent them from occurring or recurring. With fault management, the network
stays operational, and downtime is minimized.
• At
the configuration management level, network operation is
monitored and controlled. Hardware and programming changes, including the
addition of new equipment and programs, modification of existing systems, and
removal of obsolete systems and programs, are coordinated. At the C level,
inventory of equipment and programs is kept and updated regularly.
• The
accounting management level, which might also be called the
allocation level, is devoted to distributing resources optimally and fairly
among network subscribers. This makes the most effective use of the systems
available, minimizing the cost of operation. The A level is also responsible
for ensuring that users are billed appropriately.
• The
performance management level is involved with managing the overall
performance of the network. Throughput is maximized,
network bottlenecks are avoided, and potential problems are identified. A
major part of the effort is to identify which improvements will yield the
greatest overall performance enhancement.
• At
the security management level, the network is protected
against hackers, unauthorized users, and physical or electronic sabotage.
The confidentiality of user information is maintained where necessary or
warranted. Security systems also allow network administrators to control what
each individual authorized user can (and cannot) do with the system.
What is cloud computing?
• Cloud
Computing refers to manipulating, configuring, and accessing the
applications online. It offers online data storage, infrastructure and
application. We need not to install a piece of software on our local PC and
this is how, the cloud computing overcomes platform dependency issues.
Hence, the Cloud Computing is making our business application mobile and collaborative.
Cloud Service Models
Following are the cloud service models:
• Infrastructure
as a Service(IaaS) Model
• Platform
as a Service(PaaS) Model
• Software
as a Service(SaaS) Model
• Identity
as a Service(IDaaS) Model
• Network
as a Service(NaaS) Model
IaaS provides access to fundamental resources
such as physical machines, virtual machines, virtual storage etc. Apart from
these resource the IaaS also offers:
• Virtual
machine disk storage
• Virtual
local area network (VLANs)
• Load
balancers
• IP
addresses
• Software
bundles
• All
of the above resources are made available to end user via server
virtualization. Moreover, these resources are accessed by the customers as
if they own them.
Benefits
• IaaS allows
the cloud provider to freely locate the infrastructure over the internet in
cost-effective manner. Some of the key benefits of IaaS are listed below:
• Full
Control of the computing resources through Administrative Access to VMs.
• Flexible
and Efficient renting of Computer Hardware.
• Portability,
Interoperability with Legacy Applications.
Issues
Here are the issues associated with IaaS:
• Compatibility
with Legacy Security Vulnerabilities
• Virtual
Machine Sprawl
• Robustness
of VM-level Isolation
• Data
Erase Practices
• PaaS offers
the run time environment for applications. It also offers development &
deployment tools, required to develop applications. PaaS has a feature of point-and-click tools
that enables non-developers to create web applications.
• The
following diagram shows how PaaS offers an API and development tools to the
developers and how it helps the end user to access business applications
Benefits
Following are the benefits of PaaS model:
• Lower
administrative overhead
• Lower
total cost of ownership
• Scalable
Solutions
• More
current system software
Issues
Like SaaS, PaaS also place significant burdens on consumer's
browsers to maintain reliable and secure connections to the provider systems.
Therefore, PaaS shares many of the issues of SaaS. However, there are some
specific issues associated with PaaS as listed below:
• Lack
of portability between PaaS clouds
• Event
Based Processor Scheduling
• Security
Engineering of PaaS applications
Software as a Service(SaaS) model allows to
provide software applications as a service to the end users. It refers to a
software that is deployed on a hosted service and is accessible via internet.
There are several SaaS applications. Some of them are listed below:
• Billing
and Invoicing System
• Customer
Relationship Management (CRM) applications
• Human
Resource (HR) Solutions
Characteristics
Here are the characteristics of SaaS service model:
• SaaS
makes the software available over the internet.
• The
Software are maintained by the vendor rather than where they are running.
• The
license to the software may be subscription based or usage based.
• SaaS
applications are cost effective since they do not require any maintenance at
end user side.
• They
are available on demand. They can be scaled up or down on demand.
• They
are automatically upgraded and updated.
• SaaS
offers share data model. Therefore multiple users can share single instance of
infrastructure. It is not required to hard code the functionality for
individual users.
• All
users are running same version of the software.
Benefits
Using SaaS has proved to be beneficial in term of
scalability, efficiency, performance and much more. Some of the benefits are
listed below:
• Modest
Software Tools
• Efficient
use of Software Licenses
• Centralized
Management & Data
• Platform
responsibilities managed by provider
• Multitenant
solutions.
Issues
There are several issues associated with SaaS. Some of them
are listed below:
• Browser
based risks
• Network
dependence
• Lack
of portability between SaaS clouds
Employees in a company require to login to system to perform
various tasks. These systems may be based on local server or cloud based.
Following are the problems that an employee might face:
• Remembering
different username and password combinations for accessing multiple servers.
• If
an employee leaves the company, It's required to ensure that each of the user's
account has been disabled. This increases workload on IT staff.
To solve above problems, a new technique emerged which is
known as Identity as a Service (IDaaS).
IDaaS offers management of identity (information) as a
digital entity. This identity can be used during electronic transactions.
To solve the problem of using different username &
password combination for different servers, companies now employ Single Sign-On
software, which allows the user to login only one time and manages the user's
access to other systems.
SSO has single authentication server, managing multiple
access to other systems, as shown in the following diagram:
Networks as a Service allows us to access to
network infrastructure directly and securely. NaaS makes it possible to
deploy custom routing protocols.
NaaS uses virtualized network infrastructure to
provide network services to the consumer. It is the responsibility of NaaS
provider to maintain and manage the network resources, which decreases the
workload from the consumer. Moreover, NaaS offers network as a utility.
How NaaS is delivered?
To use NaaS model, the consumer is required to logon to the
web portal, where he can get on line API. Here, the consumer can customize the
route.
In turn, consumer has to pay for the capacity used. It is
also possible to turn off the capacity at any time.
Mobile NaaS
Mobile NaaS offers more efficient and flexible control over
mobile devices. It uses virtualization to simplify the architecture to create
more efficient processes.
NaaS Benefits
NaaS offers a number of benefits, some of the are discussed
below:
• Independence
• Analytics
• Resilience
• Ease
of Adding new Service Elements
• Isolation
of customer traffic
• Support
Models
• SAAS
is the starting point to every service within cloud computing ecosystem
• SaaS
is highest on the maturity level and growth curve amongst XaaS
• SaaS
has highest revenue generating service within cloud model for next several
years
SaaS Catalysts
• Intrigue
of access to unlimited Computing and storage resources, made available and paid
for only as needed (Pay as you go)
• Decreasing
cost of bandwidth
• Customer
frustration with traditional software buying cycle (license, maintenance
contract, upgrades)
• Perceived
increase in control over the vendor relationship
• Early
SaaS success stories –Salesforce.com, WebEx, etc. Demonstrate broader value
proposition
• You
focus on your application and not on infrastructure
Primary Concerns with the SaaS Model
• Security
concerns
• Concerns
over compliance with standards
• Concerns
over integration with legacy applications
• Concerns
over reliability and robustness of service
• Not
comfortable with putting mission-critical application on shared infrastructure
and have access over internet
• SaaS
can not be configured to meet my corporation's all specific needs
Cloud testing / SaaS testing is not same as in-house
application testing. Cloud applications introduce many new challenges and
traditional testing skills, methodologies, and tools are just not
sufficient. At the same time, testing is
more important than ever as frequent issues may, at best, result into customer
flight and loss of revenue. At worst, a
loss of customer data or violating customer information confidentiality may
result in lawsuits that could devastate the business.
While there is a clear and compelling business case for
Cloud computing, there are significant risks including performance, security,
and availability. To assure that cloud
delivers on it value proposition, it is critical that you address:
• Confidentiality:
You must ensure that strict security measures are in place in your cloud
application. Only authorized users are able to access information that is
relevant to them. You must thoroughly test the security of your
applications to preserve confidentiality of your customers’ data.
• Performance:
As your customers access your cloud applications over the internet, loads will
inevitably vary based on things like the number of customers, how many are
logged in at given time, and how extensive the operations they are
performing. You must thoroughly test performance to understand behavior
with varying loads, identify when you need to increase resources, and limit
certain operations during peak usages.
• Resource
sharing (multi-tenancy): Cloud allows elasticity (e.g.
resources are available on demand for your changing needs). If a proper
resource quota is not in place, some applications can consume significant
resources and negatively impact other applications. Your cloud environment
where your application is deployed, should assure that enough resources are
reserved for varying load, and that consumption of resources by one application
cannot negatively impact other applications. Each application / customer must
have a strictly enforced quota to ensure smooth delivery of all applications.
You must thoroughly test availability and quota boundaries for cloud
applications.
• Availability:
Resource sharing and dependence on internet infrastructure can caused
availability issues for many cloud applications. You must perform
exhaustive load stress tests with resource utilizations metrics and soak tests
to assure that your application does not have availability issues.
Donate:
Please
Donate the some money (anything do you want) for my
blog
if you beneficial for this, I will provide more real example for the
latest
technique for whom who wants to make a carrier in IT field or solved
some
problem, My Name is – RITESH KUMAR SINGH A/C number- 913010044116345 AXIS
Bank
LTD :- Vaishali NCR, India-001
No comments:
Post a Comment