0% found this document useful (0 votes)
43 views

CH2 Abstraction and Virtualization

Uploaded by

karan mapare
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
43 views

CH2 Abstraction and Virtualization

Uploaded by

karan mapare
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 21

Cloud Computing

2. Abstraction and Virtualization


Virtualization

Virtualization means creating a virtual platform of something, which will include virtual

computer hardware, virtual storage devices, and virtual computer network. Virtualization is a

technique, which allows sharing a single physical instance of a resource or an application

among multiple customers and organizations.

Creation of a virtual machine over existing operating system and hardware is known as

Hardware Virtualization. A Virtual machine provides an environment that is logically separated

from the underlying hardware

Types of Virtualization
1. Network virtualization
2. Storage virtualization
3. Server virtualization
4. Data virtualization
5. Desktop virtualization
6. Application virtualization
Cloud Computing

1. Network virtualization:
Any computer network has hardware elements such as switches, routers, and firewalls. An
organization with offices in multiple geographic locations can have several different network
technologies working together to create its enterprise network. Network virtualization is a process
that combines all of these network resources to centralize administrative tasks. Administrators
can adjust and control these elements virtually without touching the physical components, which
greatly simplifies network management.

The following are two approaches to network virtualization.

Software-defined networking
Software-defined networking (SDN) controls traffic routing by taking over routing management
from data routing in the physical environment. For example, you can program your system to
prioritize your video call traffic over application traffic to ensure consistent call quality in all online
meetings.

Network function virtualization


Network function virtualization technology combines the functions of network appliances, such as
firewalls, load balancers, and traffic analysers that work together, to improve network
performance.

2. Storage virtualization
This type of virtualization refers to the kind multiple servers are managed by a single virtual
storage system. It can be understood as a process which enables the grouping of multiple
physical storages from a number of network storage devices and works as a single storage
device.

This system aims for a much easier and efficient management of the network storage resources.
This kind of Virtualization comes with its own set of benefits like an overall consistent
performance, advanced functions in spite of changes and maintaining smooth operations.

There are two types of Storage Virtualizations:

 Block Storage Virtualization – This type of Storage Virtualization takes over at the
disk level once it has replaced the controllers. Technically it is in function before the file
system comes into picture.
 File Storage Virtualization – It is essential for a server which uses the storage to have
the software installed on it in case it wants to enable the usage on the file system level.

Storage Virtualization has its own set of benefits which can be understood as-

 In today’s heterogeneous IT environment, it offers the scope of an improved storage


management system.
 It brings along with it a better storage utilization system.
 It essentially reduces the downtime of the server owing to the good capacity that it
has.
 It is easy to update.
Cloud Computing

3. Server virtualization

Server virtualization is a process that partitions a physical server into multiple virtual servers.
It is an efficient and cost-effective way to use server resources and deploy IT services in an
organization. Without server virtualization, physical servers use only a small amount of their
processing capacities, which leave devices idle.

4. Data virtualization
Modern organizations collect data from several sources and store it in different formats. They
might also store data in different places, such as in a cloud infrastructure and an on-premises
data center. Data virtualization creates a software layer between this data and the applications
that need it. Data virtualization tools process an application’s data request and return results in a
suitable format. Thus, organizations use data virtualization solutions to increase flexibility for data
integration and support cross-functional data analysis.

5. Desktop virtualization
Most organizations have nontechnical staff that use desktop operating systems to run common
business applications. For instance, you might have the following staff:

 A customer service team that requires a desktop computer with Windows 10 and customer-
relationship management software
 A marketing team that requires Windows Vista for sales applications

You can use desktop virtualization to run these different desktop operating systems on virtual
machines, which your teams can access remotely. This type of virtualization makes desktop
management efficient and secure, saving money on desktop hardware. The following are types
of desktop virtualization.

Virtual desktop infrastructure

Virtual desktop infrastructure runs virtual desktops on a remote server. Your users can access
them by using client devices.

Local desktop virtualization

In local desktop virtualization, you run the hypervisor on a local computer and create a virtual
computer with a different operating system. You can switch between your local and virtual
environment in the same way you can switch between applications.

6. Application virtualization
Application virtualization pulls out the functions of applications to run on operating systems other
than the operating systems for which they were designed. For example, users can run a
Microsoft Windows application on a Linux machine without changing the machine configuration.
To achieve application virtualization, follow these practices:
Cloud Computing
 Application streaming – Users stream the application from a remote server, so it runs only on the
end user's device when needed.
 Server-based application virtualization – Users can access the remote application from their
browser or client interface without installing it.
 Local application virtualization – The application code is shipped with its own environment to run
on all operating systems without changes.

Benefits of Virtualization

 Virtualization enables one to run multiple applications and operating systems on the very
same server at the same time.
 It increases the overall efficiency and flexibility of existing hardware.
 It increases the ability to effectively manage all the available resources.
 It ensures an easier backup system and recovery from disaster.
 Virtualization saves energy, the hardware expenditure as well as the overall costs.
 It provides for the maximum usage of the servers.
 It offers better uptime.
 It allows for faster deployment of resources.

Disadvantages of Virtualization

 It can get a shade expensive when effectively implemented.


 Like every system it has its own limitations like not every application would have the
ability to work effectively within a virtual environment and thus has a level of uncertainty
attached to it.
 In spite of all precautions taken, it does have the element of risking the security of your
data and your server at large which cannot be eliminated easily.
 It creates the issue of scalability which can get limited in a virtual environment.
 It needs a number of links that are efficiently roped in together and are working
cohesively for the overall efficient working of the entire virtual environment.
 Although convenient, it can be a time-consuming process.

Load Balancing and virtualization


Load balancing is an essential technique used in cloud computing to optimize resource utilization
and ensure that no single resource is overburdened with traffic. It is a process of distributing
workloads across multiple computing resources, such as servers, virtual machines, or containers,
to achieve better performance, availability, and scalability.
1. In cloud computing, load balancing can be implemented at various levels, including the
network layer, application layer, and database layer. The most common load balancing
techniques used in cloud computing are:
2. Network Load Balancing: This technique is used to balance the network traffic across
multiple servers or instances. It is implemented at the network layer and ensures that the
incoming traffic is distributed evenly across the available servers.
3. Application Load Balancing: This technique is used to balance the workload across multiple
instances of an application. It is implemented at the application layer and ensures that each
instance receives an equal share of the incoming requests.
4. Database Load Balancing: This technique is used to balance the workload across multiple
database servers. It is implemented at the database layer and ensures that the incoming
queries are distributed evenly across the available database servers.
Load balancing helps to improve the overall performance and reliability of cloud-based
applications by ensuring that resources are used efficiently and that there is no single point of
Cloud Computing
failure. It also helps to scale applications on demand and provides high availability and fault
tolerance to handle spikes in traffic or server failures.
Cloud Computing

A Virtual Load Balancer provides more flexibility to balance the workload of a server by
distributing traffic across multiple network servers. Virtual load balancing aims to mimic software-
driven infrastructure through virtualization. It runs the software of a physical load balancing
appliance on a virtual machine.

Google cloud load balancing options


 External and internal load balancing.
You can use external load balancing when your users reach your applications from the internet.
You can use internal load balancing when your clients are inside of Google Cloud.

1. External Load Balancing (ELB)

External load balancing supports buckets in Cloud Storage, internet NEGs, managed instance
groups, serveries NEGs, and Zonal network endpoint groups (NEGs). Use external load
balancing to support application, web, and database tier services.

External load balancing also supports cross-region load balancing and content-based load
balancing, each with managed instance groups across multiple regions. Premium Tier external
load balancer features include routing traffic to the nearest Google Front End and advertising the
same global external IP address from various points of presence.

2. Internal Load Balancing (ILB)

Internal load balancing allows applications to run behind an internal IP address and sends traffic
(such as HTTP/HTTPs traffic) to the backend application hosted on Google Compute Engine
(GCE) or Google Kubernetes Engine (GKE). A managed service, the internal load balancer can
only is accessed on an internal IP address and in the Virtual Private Cloud network’s chosen
region.

 Global and regional load balancing.


1. You can distribute your load-balanced resources in single or multiple regions to terminate
connections close to your users and to meet your high availability requirements.
2. Users split workload between servers in the same region with regional load balancing.
This can allow certain niche businesses to serve customers in specific regions, for
example. However, a single server may not be able to handle their workload, so these
businesses cope by locating a fleet of servers near customers. Regional load balancers
manage this kind of workload.

Importance of load balancing

 Improved scalability. Load balancers can scale the server infrastructure on demand,
depending on the network requirements, without affecting services. For example, if a website
starts attracting a large number of visitors, it can cause a sudden spike in traffic. If the web
server isn't able to manage this sudden influx of traffic, the website might crash. Load
balancing can spread the extra traffic across multiple servers, preventing this from
happening.
Cloud Computing

 Improved efficiency. Due to the reduced burden of traffic on each server, the network traffic
flows better and improves response times. This ultimately provides a better experience for site
visitors.

 Reduced downtime. Companies with a global presence and multiple locations in different time
zones can benefit from load balancing, especially when it comes to server maintenance. For
example, a company can shut down the server that needs maintenance and route traffic to
the other available load balancers without causing service interruptions or downtime.

 Predictive analysis. Load balancing can provide early detection of failures and help manage
them without affecting other resources. For example, software-based load balancers can
predict traffic bottlenecks before they happen.

 Efficient failure management. In the event of a failure, load balancers can automatically
redirect traffic to functional resources and backup options. For example, if a failure is
detected on a network resource, such as a mail server, load balancers can redistribute
resources to other unaffected areas to prevent service disruption.

 Improved security. Load balancers add an extra layer of security without requiring additional
changes or resources. As more computing moves to the cloud, load balancers are being
outfitted with security features, such as the offloading function. This defends an organization
against distributed denial-of-service attacks by transferring attack traffic from the corporate
server to a public cloud provider.

How to decide which load balancer to use

When choosing a load balancer, you can consider the type of traffic your application needs to
handle, the features and capabilities you need, and your budget:

1. Type: Whether it's hardware or software

2. Features: Load balancing algorithms, session persistence, health monitoring, SSL


termination, and more

3. Scalability and performance: How much traffic the load balancer can handle

4. Cost: The price of the load balancer

5. Support: The quality of support


Cloud Computing

Here are some other things to consider:

Application needs

For example, if your application uses HTTP(S) traffic, you might want an Application Load
Balancer (ALB) for its flexible feature set. If your application is micro services-based and
needs advanced routing and scaling, an ALB might be a good choice.

Traffic type

If you want to configure a reverse proxy load balancer, you might want a proxy Network Load
Balancer (NLB). If you want to preserve the source IP address of client packets, or handle
multiple IP protocols, you might want a pass through NLB.

Monitoring and reporting


Features like intelligent traffic distribution algorithms, connection pooling, and health
monitoring can help you identify performance bottlenecks, troubleshoot issues, and optimize
your application's performance.

Google Cloud offers the following load balancing features:

1. Google Cloud Load Balancing:

HTTP(S) Load Balancing: This load balancer is used for distributing HTTP and HTTPS
traffic across multiple instances in multiple regions. It supports content-based routing,
SSL termination, and global load balancing.

TCP/SSL Proxy Load Balancing: This type of load balancer is used for non-HTTP(S)
traffic, such as SSL traffic, TCP traffic, or other protocols that use TCP.

UDP Load Balancing: Used for balancing UDP traffic, this is typically used for DNS,
VoIP, and other types of real-time applications.

2. Internal TCP/UDP Load Balancing:

This load balancer is used for balancing internal TCP and UDP traffic across instances
located in the same region.

3. Network Load Balancing:

This load balancer is used for balancing TCP/UDP traffic among virtual machine (VM)
instances in the same region.

4. Google Cloud Armor:

While not strictly a load balancer, Google Cloud Armor is a security feature that
integrates with HTTP(S) Load Balancing to provide defence against DDoS attacks and
web application attacks.
Cloud Computing

5. SSL Proxy Load Balancing:

This load balancer is used to terminate SSL connections on the load balancer itself
and then proxy the unencrypted traffic to the backend instances.

6. Global Load Balancing:

Some load balancers, like HTTP(S) Load Balancing, offer global load balancing, meaning
they can distribute traffic across instances in multiple regions, providing better
availability and latency reduction.

Understanding Hypervisor
A hypervisor is a form of virtualization software used in Cloud hosting to divide and allocate
the resources on various pieces of hardware. The program which provides partitioning,
isolation, or abstraction is called a virtualization hypervisor. The hypervisor is a hardware
virtualization technique that allows multiple guest operating systems (OS) to run on a single
host system at the same time. A hypervisor is sometimes also called a virtual machine
manager (VMM).

Types of Hypervisor

TYPE-1 Hypervisor:
A hypervisor is a form of virtualization software used in Cloud hosting to divide and allocate
the resources on various pieces of hardware. The program which provides partitioning,
isolation, or abstraction is called a virtualization hypervisor. The hypervisor is a hardware
virtualization technique that allows multiple guest operating systems (OS) to run on a single
host system at the same time. A hypervisor is sometimes also called a virtual machine
manager(VMM).
Pros & Cons of Type-1 Hypervisor:

Pros: Such kinds of hypervisors are very efficient because they have direct access to the
physical hardware resources (like CPU, Memory, Network, and Physical storage). This
causes the empowerment of the security because there is nothing any kind of the third party
resource so that attacker couldn’t compromise with anything.

Cons: One problem with Type-1 hypervisors is that they usually need a dedicated separate
machine to perform their operation and to instruct different VMs and control the host
hardware resources.
Cloud Computing

TYPE-2 Hypervisor:

A Host operating system runs on the underlying host system. It is also known as ‘Hosted
Hypervisor”. Such kind of hypervisors doesn’t run directly over the underlying hardware
rather they run as an application in a Host system(physical machine). Basically, the software
is installed on an operating system. Hypervisor asks the operating system to make hardware
calls. An example of a Type 2 hypervisor includes VMware Player or Parallels Desktop.
Hosted hypervisors are often found on endpoints like PCs. The type-2 hypervisor is very
useful for engineers, and security analysts (for checking malware, or malicious source code
and newly developed applications).

Pros & Cons of Type-2 Hypervisor:

Pros:
Such kind of hypervisors allows quick and easy access to a guest Operating System alongside
the host machine running. These hypervisors usually come with additional useful features for
guest machines. Such tools enhance the coordination between the host machine and the guest
machine.

Cons:
Here there is no direct access to the physical hardware resources so the efficiency of these
hypervisors lags in performance as compared to the type-1 hypervisors, and potential security
risks are also there an attacker can compromise the security weakness if there is access to the
host operating system so he can also access the guest operating system.

Types of virtual machine


Users can choose from two different types of virtual machines—process VMs and system
VMs:

1. Process Virtual Machines

Process Virtual Machines are designed to run a single application or process. They provide a
platform-independent environment for executing applications. The main function is to create
a consistent execution environment for applications across different systems. Key
characteristics include:

 Portability: Applications running on a process VM can be moved between different


operating systems without modification.
 Abstraction: They abstract away the underlying OS and hardware, ensuring the
application behaves the same regardless of where it is executed.

Examples of Process Virtual Machines:

 Java Virtual Machine (JVM): Allows Java applications to run on any device or
operating system that has a JVM implementation. It translates Java bytecode into
machine code for the host system.
 .NET Common Language Runtime (CLR): Provides a runtime environment for .NET
applications, allowing them to run on various hardware and OS platforms.
Cloud Computing

2. System Virtual Machines

System Virtual Machines provide a complete system environment for an operating system to
run. They emulate an entire hardware system, allowing multiple operating systems to share
the same physical hardware. They are commonly used for:
 Running Multiple OSes: For instance, you can run Windows, Linux, and macOS on
the same hardware.
 Testing and Development: Developers use system VMs to test applications on
different operating systems without needing multiple physical machines.
 Isolation and Security: They provide a secure environment by isolating different
systems.
Types of System Virtual Machines:
 Type 1 Hypervisors (Bare-Metal): These run directly on the hardware and provide
a high level of performance and efficiency. Examples include VMware ESXi,
Microsoft Hyper-V, and Xen.
 Type 2 Hypervisors (Hosted): These run on top of an existing operating system
and are generally easier to set up but may have slightly lower performance. Examples
include VMware Workstation, Oracle Virtual Box, and Parallels Desktop.

Apex
Apex is a strongly typed language that uses direct references to schema objects such as object
and field names. Apex is a programming language developed by Salesforce. It is a strongly
typed, object-oriented programming language that allows developers to execute flow and
transaction control statements on the Salesforce platform. Apex enables developers to access
the Salesforce platform back-end database and client-server interfaces to create third-party
SaaS applications.
Cloud Computing

Advantages of using Apex language:


1. Integration with Salesforce Platform

Apex is deeply integrated with the Salesforce platform. It allows developers to:

 Create Custom Business Logic: Implement complex business processes and


workflows that are not possible with standard Salesforce functionality.
 Automate Processes: Use triggers to automate actions based on changes in
Salesforce records.
 Build Custom Applications: Develop applications that leverage Salesforce’s robust
CRM capabilities and data model.

2. Built-in Security and Compliance

Apex is designed to adhere to Salesforce’s security model:

 Data Security: Apex enforces Salesforce’s security model, including CRUD (Create,
Read, Update and Delete) permissions and field-level security.
 Governor Limits: Salesforce imposes governor limits to ensure fair use of resources,
protecting against inefficient code and ensuring shared resources are managed well.

3. Scalability and Performance

Apex provides tools for optimizing performance and scalability:

 Efficient Querying: Use SOQL (Salesforce Object Query Language) to query


Salesforce data efficiently.
 Batch Processing: Batch Apex allows processing large volumes of records in
manageable chunks, which is essential for handling large data sets without hitting
governor limits.

4. Declarative and Programmatic Integration

Apex complements Salesforce's declarative tools (like Process Builder and Flow):

 Extend Functionality: Use Apex to extend or customize the functionality provided


by Salesforce’s point-and-click tools.
 Hybrid Approach: Leverage both declarative and programmatic approaches to build
robust solutions tailored to specific business needs.

5. Robust Development Environment

Salesforce provides a range of tools to support Apex development:

 Salesforce Developer Console: A browser-based IDE for writing, testing, and


debugging Apex code.
Cloud Computing

 Visual Studio Code with Salesforce Extensions: A popular IDE with advanced
features like code completion, refactoring, and integration with Salesforce DX for a
modern development workflow.
 Sandbox Environments: Test and develop Apex code in isolated sandbox
environments before deploying to production.

6. Support for Asynchronous Processing

Apex includes features for handling operations that require longer processing times:

 Queueable Apex: Allows developers to queue jobs for asynchronous execution,


which is useful for long-running operations.
 Future Methods: Enable asynchronous processing of tasks that don’t need immediate
results, helping to keep the UI responsive.

7. Rich Set of Built-In Methods and Libraries

Apex offers a variety of built-in methods and libraries:

 Standard Libraries: Includes standard methods for common operations like string
manipulation, date handling, and more.
 Integration Capabilities: Supports integration with external systems using REST
and SOAP web services.

8. Robust Testing Framework

Apex includes built-in testing tools:

 Apex Test Classes: Developers can write unit tests to validate the functionality of
their code, which is crucial for maintaining code quality and reliability.
 Test Coverage: Salesforce requires a minimum of 75% code coverage for
deployment to production, encouraging comprehensive testing.

9. Enhanced Debugging and Monitoring

Salesforce provides tools for monitoring and debugging Apex code:

 Debug Logs: Track the execution of your code and view detailed logs to troubleshoot
issues.
 Developer Console: Provides real-time debugging capabilities and performance
monitoring.

10. Strong Community and Support

Salesforce has a vibrant developer community and robust support resources:

 Salesforce Developer Community: A large, active community where developers can


share knowledge, ask questions, and find solutions.
Cloud Computing

 Salesforce Documentation: Extensive official documentation and tutorials are


available to help developers understand and leverage Apex effectively.

Features of Salesforce:

1. Sales Cloud

 Lead Management: Capture, track, and manage leads from various sources.
 Opportunity Management: Track sales opportunities through different stages.
 Sales Forecasting: Predict sales performance and set quotas.
 Pipeline Management: Visualize and manage your sales pipeline to drive revenue.
 Activity Management: Schedule and track activities related to sales, such as calls,
meetings, and tasks.

2. Service Cloud

 Case Management: Track and manage customer service requests and support cases.
 Knowledge Base: Create and manage a knowledge repository to help customers find
solutions quickly.
 Omni-Channel Support: Route and manage support requests from multiple channels
(email, chat, phone, social media).
 Service Console: Provide a unified interface for service agents to handle customer
inquiries efficiently.
 Self-Service Portal: Allow customers to resolve issues on their own through a
branded support portal.

3. Marketing Cloud

 Email Marketing: Design, send, and analyze email campaigns.


 Social Media Management: Monitor and engage with customers on social media
platforms.
 Customer Journey Mapping: Create and manage customer journeys and
personalized experiences.
 Advertising: Manage and optimize digital advertising campaigns across various
platforms.
 Analytics: Track and measure the effectiveness of marketing campaigns.

4. Commerce Cloud

 E-Commerce: Build and manage online stores with features for product
management, order processing, and customer experiences.
 Personalization: Deliver personalized shopping experiences based on customer data.
 Mobile Optimization: Ensure your commerce experience is optimized for mobile
devices.
Cloud Computing

5. Experience Cloud (formerly Community Cloud)

 Portals and Communities: Create branded portals and communities for customers,
partners, and employees.
 Collaboration: Facilitate collaboration among users with features like discussion
forums, file sharing, and project management tools.
 Content Management: Manage and share content within your communities and
portals.

6. Analytics Cloud (Tableau CRM)

 Data Visualization: Create interactive dashboards and reports to visualize your data.
 Advanced Analytics: Utilize advanced analytics and AI-powered insights for data-
driven decision-making.
 Data Integration: Integrate and analyze data from various sources for comprehensive
insights.

7. AppExchange

 App Marketplace: Access a wide range of third-party applications and integrations


to extend Salesforce’s functionality.
 Custom Apps: Build and deploy custom applications using Salesforce's development
tools.

8. Salesforce Platform (Force.com)

 Custom Objects and Fields: Create and manage custom data objects and fields
tailored to your business needs.
 Automation: Use tools like Process Builder, Flow, and Apex to automate business
processes and workflows.
 Integration: Integrate with other systems and services using APIs, connectors, and
middleware.
 App Development: Build custom applications using Salesforce's development tools,
including Lightning Components and Apex.

9. Einstein AI

 Predictive Analytics: Leverage AI to gain insights and make predictions about sales,
service, and marketing.
 Natural Language Processing: Use AI to analyze and interpret customer interactions
and feedback.
 Automation: Automate tasks and recommendations based on AI-driven insights.

10. Security and Compliance

 Data Security: Robust security features including encryption, access controls, and
compliance with various regulations (e.g., GDPR, HIPAA).
 User Management: Manage user roles, permissions, and access to ensure data
privacy and security.
Cloud Computing

11. Mobile Capabilities

 Salesforce Mobile App: Access Salesforce features and data from mobile devices.
 Custom Mobile Experiences: Build and deploy custom mobile apps using
Salesforce’s tools.

12. Collaboration Tools

 Chatter: A social collaboration tool that allows employees to share information,


collaborate on projects, and communicate within the platform.
 Files: Share and manage files and documents within Salesforce.

13. Integration Capabilities

 APIs: Integrate with various external systems using Salesforce's REST, SOAP, and
Bulk APIs.
 MuleSoft: Use MuleSoft’s Anypoint Platform for advanced integration and API
management.

14. Developer Tools

 Salesforce DX: A set of tools for modern development practices including source
control, continuous integration, and agile development.
 Visualforce: A framework for building custom user interfaces.
 Lightning Web Components: A programming model for creating reusable
components and modern web applications.

Exploring PAAS – FORCE.COM


What is PaaS?
Platform as a service (PaaS) is a cloud computing model where a third-party provider delivers
hardware and software tools to users over the internet. Usually, these tools are needed for
application development. A PaaS provider hosts the hardware and software on its own
infrastructure. As a result, PaaS frees developers from having to install in-house hardware
and software to develop or run a new application.

How it works?
As mentioned above, PaaS does not replace a company's entire IT infrastructure for software
development. It is provided through a cloud service provider's hosted infrastructure. Users
most frequently access the offerings through a web browser. PaaS can be delivered through
public, private and hybrid clouds to deliver services such as application hosting and Java
development.
Cloud Computing

Force.com
Force.com is a Platform as a Service (PaaS) offering from Salesforce that allows developers
to build and deploy applications in the cloud. It is part of Salesforce's broader ecosystem,
which includes its CRM and various other cloud-based solutions. Here’s a closer look at
Force.com and what makes it unique:

Key Features of Force.com:

1. Development Framework: Force.com provides a robust development framework


with tools and APIs that facilitate the creation of custom applications. It includes:
o Apex: A proprietary programming language similar to Java, used for business logic
and server-side scripting.
o Visual force: A framework for building custom user interfaces, allowing developers
to create pages that integrate seamlessly with Salesforce data.
2. Declarative Development: Beyond coding, Force.com supports declarative
development, which lets users build applications using a point-and-click interface.
This includes:
o Process Builder: To automate business processes.
o Flow: For creating custom workflows and business logic.
o Schema Builder: To visually design and manage data models.
3. Integration: Force.com integrates well with other Salesforce services and external
systems, enabling seamless data exchange and workflow automation. This is achieved
through:
o REST and SOAP APIs: For integrating with other applications.
o Outbound Messaging: For sending notifications or data to external systems.
4. AppExchange: Salesforce's marketplace for third-party apps and components.
Developers can leverage pre-built components and apps or list their own creations for
others to use.
5. Security: Force.com emphasizes security with features like:
o Role-Based Access Control: To manage permissions and data visibility.
o Field-Level Security: To control access to specific data fields.
o Audit Trails: To monitor and log changes.
6. Scalability and Reliability: As a cloud-based platform, Force.com benefits from
Salesforce’s infrastructure, providing scalability and high availability. Salesforce’s
data centres ensure that applications are reliable and can handle varying loads.
7. Mobile Support: Force.com applications are mobile-ready, and Salesforce provides
tools like the Salesforce1 Mobile App for accessing and interacting with applications
on the go.
8. Analytics: Force.com integrates with Salesforce’s analytics tools to provide insights
into application performance and user behaviour.

Use Cases for Force.com:

 Custom Applications: Businesses use Force.com to build applications tailored to their


specific needs, ranging from internal tools to customer-facing apps.
 CRM Extensions: Extend Salesforce’s CRM functionalities with custom features or
workflows.
 Data Management: Create applications to manage and analyse data specific to your
business processes.
Cloud Computing

Exploring IAAS – Amazon EC2


IaaS
Infrastructure as a service (IaaS) is a cloud computing service model in which computing resources
are hosted in a public cloud, private cloud, or hybrid cloud. Businesses can use the IaaS model to
shift some or all of their use of on-premises or collocated data centre infrastructure to the cloud,
where it is owned and managed by a cloud provider. These cost-effective infrastructure elements
can include compute, network, and storage hardware as well as other components and software.

In the IaaS model, the cloud provider owns and operates the hardware and software and also owns
or leases the data centre. When you have an IaaS solution, you rent the resources like compute or
storage, provision them when needed, and pay for the resources your organization consumes. For
some resources such as compute, you’ll pay for the resources you use. For others such as storage,
you’ll pay for capacity.

How it works?
In a typical IaaS model, a business—which can be of any size—consumes services like compute,
storage, and databases from a cloud provider. The cloud provider offers those services by hosting
hardware and software in the cloud. The business no longer needs to purchase and manage its own
equipment, or space to host the equipment, and the cost shifts to a pay-as-you-go model. When the
business needs less, it pays for less. And as it grows, it can provision additional computing resources
and other technologies in minutes.

In a traditional on-premises scenario, a business manages and maintains its own data center. The
business must invest in servers, storage, software, and other technologies, and hire an IT staff or
contractors to purchase, manage, and upgrade all the equipment and licenses. The data center has
to be built to meet peak demand, even though sometimes workloads decline and those resources
stand idle. Conversely, if the business grows quickly, the IT department might struggle to keep up.

Amazon Elastic Compute Cloud


Amazon Elastic Compute Cloud (Amazon EC2) is a fundamental service within Amazon
Web Services (AWS) that provides resizable compute capacity in the cloud. It is designed to
simplify and scale the deployment of applications by offering virtual servers, known as
instances, which can be configured to meet diverse computing needs. Here’s an in-depth look
at Amazon EC2:

Core Components and Features of Amazon EC2

1. Instances
o Instance Types: EC2 offers a wide range of instance types tailored for various
workloads. These are categorized into families such as:
 General Purpose: Balanced compute, memory, and networking resources
(e.g., T3, M5).
 Compute Optimized: High compute power for compute-bound applications
(e.g., C5, C6g).
Cloud Computing

 Memory Optimized: Enhanced memory capacity for memory-intensive


applications (e.g., R5, X1).
 Storage Optimized: High disk throughput and low latency for storage-
intensive tasks (e.g., I3, D2).
 Accelerated Computing: Instances with GPUs or other accelerators for tasks
such as machine learning and high-performance computing (e.g., P4, G4).
o On-Demand Instances: Pay for compute capacity by the hour or second with
no long-term commitment, suitable for short-term or unpredictable workloads.
o Reserved Instances: Offer significant savings over on-demand pricing with a
one- or three-year commitment.
o Spot Instances: Purchase unused EC2 capacity at reduced rates, with the
potential for interruption if AWS needs the capacity back.
o Savings Plans: Provide flexibility and savings compared to on-demand
pricing by committing to a specific amount of usage over a one- or three-year
period.
2. Storage Options
o Amazon Elastic Block Store (EBS): Persistent block storage that can be attached to
EC2 instances. It provides durability and flexibility with features like snapshot
capabilities and resizing.
o Instance Store: Temporary storage that is physically attached to the host machine,
providing high-speed access but losing data when the instance is stopped or
terminated.
o Amazon Elastic File System (EFS): A scalable file storage service that can be
mounted across multiple EC2 instances, suitable for shared file storage.
3. Networking
o Amazon VPC (Virtual Private Cloud): Create isolated network environments with
customizable IP ranges, subnets, and routing tables to control traffic.
o Elastic Load Balancing (ELB): Automatically distributes incoming application traffic
across multiple EC2 instances to ensure high availability and fault tolerance.
o Elastic IP Addresses: Static IP addresses that can be associated with EC2 instances to
allow for persistent public IPs.
4. Security
o Security Groups: Virtual firewalls that control inbound and outbound traffic to EC2
instances based on specified rules.
o Network Access Control Lists (ACLs): Provide an additional layer of security by
controlling traffic at the subnet level within a VPC.
o Key Pairs: SSH keys used for securely accessing EC2 instances. The private key is kept
secure by the user, while the public key is stored in AWS.
5. Management and Monitoring
o Amazon Cloud Watch: Monitors EC2 instances and other AWS resources by
providing metrics, logs, and alarms to help manage and respond to changes in the
system.
o AWS Systems Manager: Provides operational data and automates tasks such as
patch management, configuration management, and instance management.
Cloud Computing

Benefits of Amazon EC2


1. Reliability

Amazon EC2 offers 99.9% availability for each Amazon EC2 region. The services are highly reliable
where replacement of instances can be done easily and rapidly.

2. Security

Amazon works with Amazon VPC to provide robust networking and security for the compute
resources. The compute instances are located in a VPC (Virtual Private Cloud) in a specific IP range.
This specific function helps the user in deciding which instances are exposed to the internet and
which remains private.

3. Flexibility

EC2 provides you with choices of multiple instance types, software packages, instance storages, and
operating systems. EC2 lets us configure memory, CPU and boot partition size which is optimal for
the operating system and application.

4. Cost Saving

EC2 is inexpensive as it allows the user to select plans as per the requirement. This will help the user
to save cost and utilize the resources fully. EC2 passes the benefits of Amazon’s scale as the user has
to pay a very low amount compared to the services they provide.

5. Complete Computing Solution

EC2 works fine with Amazon RDS, S3, Dynamo DB and Amazon SQS. This provides complete
computing, processing and storage solution.

6. Elastic Web-Scale Computing

Enterprises can easily increase or decrease capacity within minutes. They can commission thousands
of server instances simultaneously. Additionally, all the server instances are handled by the web
service APIs which can scale the servers up and down depending on the requirements.
Cloud Computing

7. Completely controlled

One has complete control over the instances. Also, one can have root access to each instance and
they can interact with them as any other machine. The user can stop instance while retaining the
data on the boot partition and restart the same using web service APIs.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy