Thursday, September 21, 2017

Software As Service (SaaS)

Software as a service is a software licensing and delivery model in which software is licensed on a subscription basis and is centrally hosted.It is sometimes referred to as "on-demand software",and was formerly referred to as "software plus services" by Microsoft.  SaaS is typically accessed by users using a thin client via a web browser. SaaS has become a common delivery model for many business applications, including office software, messaging software, payroll processing software, DBMS software, management software, CAD software, development software, gamification, virtualization, accounting, collaboration, customer relationship management (CRM), Management Information Systems (MIS), enterprise resource planning (ERP), invoicing, human resource management (HRM), talent acquisition, content management (CM), and service desk management.SaaS has been incorporated into the strategy of nearly all leading enterprise software companies.

According to a Gartner Group estimate, SaaS sales in 2010 reached $10 billion and were projected to increase to $12.1 billion in 2011, up 20.7% from 2010.Gartner Group estimates that SaaS revenue will be more than double its 2010 numbers by 2015 and reach a projected $21.3 billion. Customer relationship management (CRM) continues to be the largest market for SaaS. SaaS revenue within the CRM market was forecast to reach $3.8 billion in 2011, up from $3.2 billion in 2010.

The term "software as a service" (SaaS) is considered to be part of the nomenclature of cloud computing, along with infrastructure as a service (IaaS), platform as a service (PaaS), desktop as a service(DaaS), managed software as a service (MSaaS), mobile backend as a service (MBaaS), and information technology management as a service (ITMaaS).


image




Use Cases of SaaS

image



SaaS Multi-Tenancy
image



Some Popular Example of SaaS applications

image



Evaluating SaaS Users
image



Evaluating SaaS Software Vendors
image



Impact of SaaS
image


image


image




Few screen shots of SaaS Solutions

Office 365 Applications
image



Google G Suite
image



Salesforce.com (CRM) Tool
image




Platform As Service (PaaS)

Platform as a service (PaaS) or application platform as a service (aPaaS) is a category of cloud computing services that provides a platform allowing customers to develop, run, and manage applications without the complexity of building and maintaining the infrastructure typically associated with developing and launching an app. 


PaaS can be delivered in two ways: as a public cloud service from a provider, where the consumer controls software deployment with minimal configuration options, and the provider provides the networks, servers, storage, operating system (OS), middleware (e.g. Java runtime, .NET runtime, integration, etc.), database and other services to host the consumer's application; or as a private service (software or appliance) inside the firewall, or as software deployed on a public infrastructure as a service.



image



Platform as a service (PaaS) is a complete development and deployment environment in the cloud, with resources that enable you to deliver everything from simple cloud-based apps to sophisticated, cloud-enabled enterprise applications. You purchase the resources you need from a cloud service provider on a pay-as-you-go basis and access them over a secure Internet connection.


Like IaaS, PaaS includes infrastructure—servers, storage, and networking—but also middleware, development tools, business intelligence (BI) services, database management systems, and more. PaaS is designed to support the complete web application lifecycle: building, testing, deploying, managing, and updating.



image



image




What is platform as Service?

image




image





image




Pizza as a Service analogy or Anything as a Service:

image




Organizations typically use PaaS for these scenarios:


Development framework. PaaS provides a framework that developers can build upon to develop or customize cloud-based applications. Similar to the way you create an Excel macro, PaaS lets developers create applications using built-in software components. Cloud features such as scalability, high-availability, and multi-tenant capability are included, reducing the amount of coding that developers must do.


Analytics or business intelligence. Tools provided as a service with PaaS allow organizations to analyze and mine their data, finding insights and patterns and predicting outcomes to improve forecasting, product design decisions, investment returns, and other business decisions.


Additional services. PaaS providers may offer other services that enhance applications, such as workflow, directory, security, and scheduling.



Advantages of PaaS

By delivering infrastructure as a service, PaaS offers the same advantages as IaaS. But its additional features—middleware, development tools, and other business tools—give you more advantages:


Cut coding time. PaaS development tools can cut the time it takes to code new apps with pre-coded application components built into the platform, such as workflow, directory services, security features, search, and so on.


Add development capabilities without adding staff. Platform as a Service components can give your development team new capabilities without your needing to add staff having the required skills.


Develop for multiple platforms—including mobile—more easily. Some service providers give you development options for multiple platforms, such as computers, mobile devices, and browsers making cross-platform apps quicker and easier to develop.


Use sophisticated tools affordably. A pay-as-you-go model makes it possible for individuals or organizations to use sophisticated development software and business intelligence and analytics tools that they could not afford to purchase outright.


Support geographically distributed development teams. Because the development environment is accessed over the Internet, development teams can work together on projects even when team members are in remote locations.


Efficiently manage the application lifecycle. PaaS provides all of the capabilities that you need to support the complete web application lifecycle: building, testing, deploying, managing, and updating within the same integrated environment.

Wednesday, September 20, 2017

Infrastructure As Service (IaaS)

In an IaaS model, a third-party provider hosts hardware, software, servers, storage and other infrastructure components on behalf of its users. IaaS providers also host users' applications and handle tasks including system maintenance, backup and resiliency planning.


IaaS platforms offer highly scalable resources that can be adjusted on-demand. This makes IaaS well-suited for workloads that are temporary, experimental or change unexpectedly.  Other characteristics of IaaS environments include the automation of administrative tasks, dynamic scaling, desktop virtualization and policy-based services.


IaaS customers pay on a per-use basis, typically by the hour, week or month. Some providers also charge customers based on the amount of virtual machine space they use. This pay-as-you-go model eliminates the capital expense of deploying in-house hardware and software. However, users should monitor their IaaS environments closely to avoid being charged for unauthorized services.


Because IaaS providers own the infrastructure, systems management and monitoring may become more difficult for users. Also, if an IaaS provider experiences downtime, users' workloads may be affected.  For example, if a business is developing a new software product, it might be more cost-effective to host and test the application through an IaaS provider. Once the new software is tested and refined, it can be removed from the IaaS environment for a more traditional in-house deployment or to save money or free the resources for other projects.  Leading IaaS providers include Amazon Web Services (AWS), Windows Azure, Google Compute Engine, Rackspace Open Cloud, and IBM Smart Cloud Enterprise.



What is Virtualization?

image



image



     Virtualization is possible in our local computer with the help of VMWare Fusion or VMWare software.  In Cloud environment,

Virtualization is possible by using Hypervisor software.



What is Virtual Machine?

image



image




Below Image explains about IaaS architecture and use cases.

image




What is Container?

image



image




Private Cloud, Hybrid Cloud, and Public Cloud


  • Private Cloud: Cloud Infrastructure running in on premise environment.
  • Public Cloud: Third party Cloud providers running Cloud environment.
  • Hybrid Cloud: Hybrid Cloud is nothing but Private and Public cloud are connected.

image




image




Iaas Pricing Model

image




Price may vary based on type of Infrastructure request.  Below are type of VM Images types in AWS, and price will differ based on your selection image.

image




Service Level Agreement

image






Infrastructure as service (IaaS) – Networking

image




IaaS Networking Options

image




Below picture represents Public Networking using Public IP address on Cloud environment.  End user will connect to VM via Global Internet.

image




Below picture represents Private Networking using Virtual Private Network (VPN), which is software based tunnel, is encrypted and secured. End user will connect to Private VM via Software based VPN tunnel. 

image





Virtual Private Cloud (VPC)

image




Storage in Cloud

image




With IaaS Where are my files stored?

image




File Storage

image




Object Storage

image



AWS S3 is one of popular Object storage services which has been provided by Amazon.  Below screen shot represents where S3 service can be found in Amazon Management Console.

image




Data Protection in Cloud


Data protection is important part of Cloud storage.  There are various type of services available in Cloud provider environment.

Below are few popular services on data protection in Cloud.


Below services are for file or data, which are available in out side of VM, back up in cloud.

image




Below services are for Disaster recovery to the cloud when data is stored inside of VM.  With this services, entire virtual machine including operating system can be replicated or copied in many cases in every 15 to 30 minutes.

image






















Monday, September 11, 2017

Cloud Computing–Fundamental


"Cloud computing is an information technology (IT) paradigm, a model for enabling ubiquitous access to shared pools of configurable resources (such as computer networks, servers, storage, applications and services), which can be rapidly provisioned with minimal management effort, often over the Internet. Cloud computing allows users and enterprises with various computing capabilities to store and process data either in a privately-owned cloud, or on a third-party server located in a data center - thus making data-accessing mechanisms more efficient and reliable. Cloud computing relies on sharing of resources to achieve coherence and economy of scale, similar to a utility."

Cloud Computing is on-demand computing resources, delivered to you over the internet

Cloud Computing is computing service you traditionally did local (on-premises), now performed remotely, across the internet (off-premises)


image


Advocates note that cloud computing allows companies to avoid or minimize up-front IT infrastructure costs. As well, third-party clouds enable organizations to focus on their core businesses instead of expending resources on computer infrastructure and maintenance. Proponents also claim that cloud computing allows enterprises to get their applications up and running faster, with improved manageability and less maintenance, and that it enables IT teams to more rapidly adjust resources to meet fluctuating and unpredictable business demand.Cloud providers typically use a "pay-as-you-go" model. This could lead to unexpectedly high charges if administrators are not familiarized with cloud-pricing models.

In 2009 the availability of high-capacity networks, low-cost computers and storage devices as well as the widespread adoption of hardware virtualization, service-oriented architecture, and autonomic and utility computing led to a growth in cloud computing.Companies can scale up as computing needs increase and then scale down again when demands decrease.  In 2013 it was reported that cloud computing had become a highly demanded service or utility due to the advantages of high computing power, cheap cost of services, high performance, scalability, and accessibility - as well as availability. Some cloud vendors experience growth rates of 50% per year, but while cloud computing remains in a stage of infancy, it has pitfalls that need to be addressed to make cloud-computing services more reliable and user-friendly.



Traits of Cloudimage




image




image




Many forms of Cloud computing

There are many forms of cloud computing in industry those are SaaS (Software as Service), IaaS (Infrastructure as Service), DaaS (Desktop as Service), PaaS (Platform as service) and etc.,

image

In SAAS, Software is application which is running in the Cloud, we could paying and them in on-demand basis.  For Example: Dropbox, Gmail, SalesForce.com and etc.,


image

In IAAS, We will access Virtual machine that VM is instance of Physical computer which is running in the Cloud, we could paying and them in on-demand basis.  For Example: Virtual CPU, Memory, Virtual Storage whatever we want.


image

In PAAS, developers who need access on developer platform in the cloud, we could paying and them in on-demand basis.  For Example: Web Server,  DB Server, Framework for .NET Development and etc.,


image

In EAAS, developers who need Virtual desktop, backup, network switches, and etc., in the cloud, we could paying and them in on-demand basis.  For Example: Desktop,  Application streaming, Backup, and etc.,





History of Cloud computing

In Past, there were many kind of computing.  However, all these computing services are same as one another in the way of giving computing services to consumers.

image


Centralized Computing

Centralized computing is computing done at a central location, using terminals that are attached to a central computer. The computer itself may control all the peripherals directly (if they are physically connected to the central computer), or they may be attached via a terminal server. Alternatively, if the terminals have the capability, they may be able to connect to the central computer over the network. The terminals may be text terminals or thin clients, for example.

Grid Computing

Grid computing is the collection of computer resources from multiple locations to reach a common goal. The grid can be thought of as a distributed system with non-interactive workloads that involve a large number of files. Grid computing is distinguished from conventional high performance computing systems such as cluster computing in that grid computers have each node set to perform a different task/application. Grid computers also tend to be more heterogeneous and geographically dispersed (thus not physically coupled) than cluster computers. Although a single grid can be dedicated to a particular application, commonly a grid is used for a variety of purposes. Grids are often constructed with general-purpose grid middleware software libraries. Grid sizes can be quite large.
image


Distributed Computing

Distributed computing is a field of computer science that studies distributed systems. A distributed system is a model in which components located on networked computers communicate and coordinate their actions by passing messages.The components interact with each other in order to achieve a common goal. Three significant characteristics of distributed systems are: concurrency of components, lack of a global clock, and independent failure of components.Examples of distributed systems vary from SOA-based systems to massively multiplayer online games to peer-to-peer applications.

A computer program that runs in a distributed system is called a distributed program, and distributed programming is the process of writing such programs.There are many alternatives for the message passing mechanism, including pure HTTP, RPC-like connectors and message queues.

image



On-demand Computing

On-demand computing is a delivery model in which computing resources are made available to the user as needed. The resources may be maintained within the user's enterprise, or made available by a cloud service provider. When the services are provided by a third-party, the term cloud computing is often used as a synonym for on-demand computing.


Hosting

A web hosting service is a type of Internet hosting service that allows individuals and organizations to make their website accessible via the World Wide Web. Web hosts are companies that provide space on a server owned or leased for use by clients, as well as providing Internet connectivity, typically in a data center. Web hosts can also provide data center space and connectivity to the Internet for other servers located in their data center.


Application Service providers (ASP)

An application service provider (ASP) is a business providing computer-based services to customers over a network; such as access to a particular software application (such as customer relationship management) using a standard protocol (such as HTTP).


Time frame of computing

image
image





















Virtual Private Cloud

VPC (Virtual Private Cloud) is logical data center.  Amazon VPC lets you provision a logicaly isolated section of the Amazon web services ...