Cloud
Cloud
In traditional IT, businesses used to store all their data and applications on their own physical servers
and computers. These servers were placed in the company’s data centers, and the company had to
manage everything, like maintenance, upgrades, and security. Employees would access data and
apps only through the company's network.
2. Traditional IT Challenges:
High Costs: Companies had to spend a lot of money on buying, maintaining, and upgrading
servers and hardware.
Limited Scalability: It was hard to easily increase the computing power when needed. If
more space or power was required, new servers had to be bought.
Security Issues: Ensuring security was tough because companies had to manage all their
data and security themselves, making it more vulnerable to attacks.
Maintenance: Managing hardware and software updates was time-consuming and required
a lot of IT staff.
Limited Accessibility: Employees could only access data and applications from specific
locations, like the office.
Cloud Computing: Instead of physical servers, businesses are moving to the cloud, where
data and applications are stored on the internet, making it easier to scale and access from
anywhere.
Automation: More tasks will be done automatically using software and machines, reducing
the need for manual work.
Edge Computing: Data will be processed closer to where it’s needed, improving speed and
reducing delay.
5G Technology: Faster internet speeds will enable quicker data transfer and better
communication, especially for cloud-based services and IoT devices.
Cloud computing is using the internet to store, manage, and process data instead of using your own
computer or physical servers. It allows people and businesses to access software, storage, and other
services from anywhere, anytime, without needing to manage the hardware themselves. Examples
include Google Drive, Amazon Web Services, and Microsoft Azure.
2. Cloud Characteristics:
On-Demand Self-Service: Users can access resources like storage or computing power
whenever they need them, without needing human intervention.
Broad Network Access: Services can be accessed from anywhere, using any device like
laptops, phones, or tablets.
Resource Pooling: Cloud providers use shared resources to serve multiple customers, saving
costs.
Rapid Elasticity: Cloud resources can grow or shrink quickly based on demand. If you need
more space, it’s easy to get.
Measured Service: You pay only for the resources you use. This is like paying for electricity –
you only pay for the amount you consume.
IaaS (Infrastructure as a Service): Provides basic computing resources like virtual machines,
storage, and networks. You manage the operating system and applications. Example:
Amazon Web Services (AWS).
PaaS (Platform as a Service): Provides a platform that allows developers to build and deploy
applications without worrying about the underlying infrastructure. Example: Google App
Engine.
SaaS (Software as a Service): Provides ready-to-use software applications over the internet.
The cloud provider manages everything, including the software. Example: Gmail, Dropbox.
Public Cloud: The cloud service is owned and managed by a third-party provider and shared
by multiple customers. It’s accessible over the internet. Example: Google Cloud.
Private Cloud: The cloud is used only by one organization. It can be managed by the
organization or a third-party, and it can be hosted either on-site or off-site.
Hybrid Cloud: A combination of public and private clouds, allowing data and applications to
be shared between them. This gives businesses more flexibility and optimization.
Cost Savings: Instead of spending on expensive servers and hardware, companies only pay
for the cloud services they use.
Scalability: Cloud services can grow or shrink as needed. No more worrying about running
out of space or processing power.
Security: Cloud providers invest in strong security measures and updates to keep data safe.
Accessibility: You can access your data and applications from anywhere, at any time, using
any device.
Flexibility: Cloud computing supports various business needs, allowing companies to use the
right services at the right time.
On-premises core IT refers to the traditional setup where businesses own and manage their physical
IT infrastructure (servers, storage, and network devices) within their own premises (data center). It
involves higher costs for maintenance, upgrades, and managing resources.
PaaS (Platform as a Service): Provides a platform that lets developers build and run
applications without managing the underlying hardware or software. Example: IBM Cloud
PaaS.
SaaS (Software as a Service): Provides fully managed software applications over the
internet. Users can access software through their browser without installing anything.
Example: IBM Cloud SaaS.
IBM Cloud IaaS: IBM provides virtual servers, storage, and networking services that you can
scale up or down based on your needs. You control the operating system and software
installed on the virtual servers.
IBM Cloud PaaS: IBM offers a platform where developers can build, deploy, and manage
applications without managing the infrastructure. It includes tools like databases, messaging
systems, and development environments.
IBM Cloud SaaS: IBM offers ready-to-use software applications hosted on the cloud, such as
business applications and analytics tools, accessible directly through a web browser.
IBM Cloud IaaS offers virtual servers, storage, and networking resources that customers can rent.
These resources can be customized based on business needs, such as choosing the server size,
storage capacity, and data centers. It helps businesses manage large-scale infrastructure without
needing to maintain their own hardware.
IBM Cloud PaaS offers services to developers, allowing them to focus on building applications
without worrying about the underlying infrastructure. It includes tools for building, testing, and
running apps. It also provides cloud databases, security services, and other tools to make
development easier and faster.
1. Public Cloud:
What it is: In the public cloud, the cloud service provider (like IBM Cloud, Amazon Web
Services, or Microsoft Azure) owns and manages all the IT infrastructure. This infrastructure
(servers, storage, networks) is shared with other companies (called multi-tenant).
How it works: You pay for the resources you use, like storage, virtual machines, and
services. It’s easily accessible over the internet.
Example: Google Drive and Dropbox are examples of public cloud services where your data
is stored on their servers, and you access it anytime.
Pros:
Cons:
Less control: Since resources are shared, you have less control over the environment.
Security: Although public clouds are secure, some companies prefer to have more control
over sensitive data.
2. Private Cloud:
What it is: In the private cloud, the infrastructure is used exclusively by one organization. It
can either be hosted on-premises (inside the company’s data center) or by a third-party
provider. The company gets full control over its cloud environment.
How it works: Only one company can use the cloud resources, which means they get
dedicated servers, storage, and networks. It’s like having your own cloud, but with the
flexibility of the cloud’s benefits.
Example: Large businesses that require extra security or have specific compliance needs may
choose to set up a private cloud.
Pros:
More control: You have full control over security and data.
Better for sensitive data: It’s ideal for businesses that need strict security and privacy.
Customization: You can fully customize the setup to meet specific business needs.
Cons:
Costly: Setting up and maintaining a private cloud is expensive because you need your own
infrastructure and a dedicated team to manage it.
Limited scalability: Scaling up or down may take longer compared to the public cloud.
3. Hybrid Cloud:
What it is: A hybrid cloud is a mix of both public and private clouds. It allows data and
applications to move freely between the two environments. This gives businesses flexibility,
allowing them to keep sensitive data in the private cloud and use the public cloud for less-
sensitive tasks.
How it works: For example, a company might keep its internal applications and sensitive
data in the private cloud but use the public cloud for storage, analytics, or additional
computing power during busy times.
Example: A business might use a private cloud for customer information but use a public
cloud for its website and customer-facing applications.
Pros:
Cost-efficiency: You can store sensitive data privately and use the public cloud for things
that don’t require as much security.
Cons:
Complex to manage: Managing two environments (public and private) can be difficult and
requires good integration.
Security risks: If not set up correctly, there could be potential security gaps between the two
clouds.
4. Community Cloud:
What it is: A community cloud is a cloud infrastructure shared by several organizations that
have similar needs or interests (such as a group of hospitals or universities). The cloud is
either managed by one of the organizations or a third-party provider.
How it works: The community cloud can be hosted either on-premises or externally, and
resources are shared by all organizations in the community.
Example: A group of healthcare organizations sharing a community cloud to store and access
patient data securely.
Pros:
Focused on common needs: Since the organizations have similar needs, they can tailor the
cloud for those needs.
Cons:
Not as customizable as private clouds: Although there’s some customization, it’s still shared
among different organizations.
Possible security concerns: Sharing resources means data could be exposed to other users in
the community.
Unit II: Deep Dive into IBM Cloud
IBM Cloud is a platform offering various cloud computing services to help businesses create, deploy,
and manage applications efficiently. It includes:
1. Core Services:
o PaaS (Platform as a Service): Offers tools and frameworks to build and deploy
applications.
2. Specialized Features:
IBM Cloud helps businesses scale quickly while reducing operational complexities.
Early Days: IBM started providing cloud services around 2007 with a focus on infrastructure
services. It started by offering virtual servers and storage to businesses.
Acquisition of SoftLayer (2013): IBM bought SoftLayer, a cloud computing provider, which
helped expand its cloud services.
Focus on AI and Hybrid Cloud (2010s): IBM then started adding more services, like IBM
Watson (AI tools) and Hybrid Cloud, to make it easier for businesses to run workloads in
both public and private clouds.
Current Day: IBM Cloud now offers a wide range of services, including cloud computing, data
storage, AI, machine learning, and blockchain, helping businesses modernize and innovate
faster.
Saves Money-
Pay only for what you use—no need to spend big on hardware.
Quickly add or reduce resources like storage and computing power as needed.
o Keeps Data Safe-
Uses strong encryption and meets industry security standards to protect your
information.
Offers tools like AI and blockchain to help businesses build apps faster and smarter.
Boosts Productivity-
Lack of Tools for Advanced Technologies: IBM Cloud offers tools and services for AI, machine
learning, analytics, and blockchain, making it easier for developers to integrate these
technologies into their applications.
Slow Deployment: With PaaS (Platform as a Service) offerings, developers can quickly deploy
applications without worrying about underlying infrastructure. This reduces time-to-market
for new products.
Integration Issues: IBM Cloud provides services for hybrid cloud environments, allowing
developers to seamlessly integrate both on-premises and cloud-based resources.
Limited Support for Multi-Cloud: IBM Cloud helps developers manage applications across
multiple cloud providers, allowing them to use different clouds (like AWS, Azure, and IBM
Cloud) for different tasks.
IBM Cloud helps businesses become faster and more efficient in their operations due to several key
factors:
Time to Value:
What it means: IBM Cloud helps businesses quickly turn ideas into products or services.
With pre-configured services, developers can start working on their projects without waiting
for setup or hardware provisioning.
How it works: Businesses can deploy apps and services in minutes, reducing the time
between the idea and the product launch.
How it works: Companies can forecast their cloud costs and reduce unexpected financial
surprises, thus lowering the risk of overspending.
Agility:
What it means: IBM Cloud makes it easier for businesses to adapt to changing needs.
Whether it’s scaling services up or down or adapting to new business demands, IBM Cloud
offers flexibility.
How it works: Developers can quickly build, test, and deploy new features without worrying
about the underlying infrastructure, allowing them to respond faster to customer needs or
market changes.
IBM Cloud offers an easy-to-use User Interface (UI) to manage and monitor your cloud services.
What it is: This is the login page where you access IBM Cloud. You use your IBM Cloud
credentials to sign in to your cloud account.
What it is: Once logged in, the Dashboard is the main page that displays an overview of all
the cloud resources you are using. It gives you quick access to:
o Billing information
Why it's useful: It’s a one-stop place to manage and monitor your resources.
What it is: A region is a specific geographic area where IBM Cloud resources (like servers
and storage) are located.
Why it matters: You can choose a region near your customers to reduce latency and ensure
faster performance for applications.
Organizations:
What it is: An organization is the highest level in the IBM Cloud structure. It represents the
company or team using the cloud.
Why it matters: This helps in organizing resources and permissions for different teams or
departments.
Spaces:
What it is: Spaces are a way to organize and group services and resources within an
organization. Each space can have different teams working on different projects.
Why it matters: It allows businesses to manage resources in an organized way, dividing work
between departments.
Users:
What it is: Users are individuals who have access to IBM Cloud resources.
Why it matters: You can assign different roles to users based on what access they need (e.g.,
Admin, Developer).
Domains:
What it is: Domains are specific names assigned to an application. For example, if you are
hosting a website, the domain would be the web address.
Why it matters: It helps manage the URLs for applications and services deployed on IBM
Cloud.
5. Quota:
What it is: A quota is a limit on the resources (like storage or virtual machines) you can use
in IBM Cloud.
Why it matters: It ensures that users don’t exceed the allocated resources and helps
manage costs.
6. User Management:
What it is: IBM Cloud allows you to manage users within an organization.
Why it matters: You can set roles and permissions for each user (e.g., some users may have
full admin access, while others may only have access to specific services).
What it is: IBM Cloud provides tools to monitor your cloud resources and review logs for
applications.
Why it matters: Monitoring helps you track the performance and usage of your applications,
while logs show detailed records of events, helping you troubleshoot problems.
Why it matters: It gives you easy access to all the tools and services available to build,
deploy, and manage applications in the cloud.
What it is:
Containers allow developers to package applications with all their dependencies so they can
run anywhere, whether on your laptop, in a data center, or in the cloud.
IBM Containers:
What it is: IBM Cloud provides a platform for managing containers using Kubernetes, a
system that automates container deployment and management.
Why it matters: Containers make it easy to build and deploy applications across different
environments without worrying about the infrastructure.
Advantages:
Scalability: IBM Cloud allows you to easily scale up or down based on demand.
Automation: IBM Cloud's container services automate much of the setup, management, and
scaling of containers, saving time.
Multi-Cloud Support: IBM supports containers across different clouds (public, private, or
hybrid), so you can move workloads between environments.
Differentiators:
Enterprise-Grade Security: IBM Cloud provides strong security features, such as data
encryption and identity management, making it suitable for businesses with high-security
needs.
Integration with IBM Watson: IBM Cloud seamlessly integrates with IBM Watson for AI-
based services, offering unique capabilities that other clouds might not.
Pre-built Services: IBM Cloud provides AI, machine learning, and data analytics services that
developers can use to easily add advanced features to their applications.
No, IBM Cloud is a complete cloud platform that provides a variety of services, including
compute, storage, AI, and data services. One of the components of IBM Cloud is Cloud Foundry,
which is an open-source Platform as a Service (PaaS) for deploying and managing applications in
the cloud. While IBM Cloud offers Cloud Foundry for app deployment, it also provides other
services like containers, serverless computing, virtual machines, and AI tools. So, IBM Cloud
uses Cloud Foundry but also provides much more.
Cloud Foundry provides an environment where developers can build, deploy, and manage
applications without worrying about the underlying infrastructure (servers, networking, etc.). It
removes the need for developers to manage the underlying cloud infrastructure, like servers or
networks. Instead, they can just concentrate on building and improving the app itself, while the
platform takes care of the rest. This makes the development process faster and easier.
Cloud Foundry:
Cloud Foundry allows developers to push code into the platform, and Cloud Foundry takes care
of the rest, like provisioning resources, scaling, and managing apps.
Cloud providers like IBM Cloud use load balancing to ensure that incoming requests are evenly
distributed across multiple servers or instances of an application. This is important because it
prevents any single server from getting overwhelmed with too many requests, which could
cause performance issues or crashes.
When a user sends a request to an application, the cloud load balancer determines which
server or application instance will handle the request.
The load balancer ensures that traffic is directed to the server with the least load or one that
is currently available.
This process ensures that no single server is overwhelmed and that the application can
handle more traffic effectively.
Cloud Foundry uses routers that direct incoming traffic to the appropriate application instance
based on the availability and load of the server.
These containers are portable, meaning they can run on any environment (like public clouds,
private clouds, or on-premises hardware). This is because the application and its dependencies
are self-contained within the container, making the app cloud-agnostic. You can move the
container from IBM Cloud, AWS, Google Cloud, or Microsoft Azure, and it will run the same way
everywhere.
Cloud Foundry organizes users and apps into organizations, spaces, and users:
Organizations are the highest-level units in Cloud Foundry. They represent different
departments or teams within an organization.
Spaces are subdivisions within an organization. Spaces are used to group applications that
work together. For example, you might have a production space and a development space.
Users are the individuals who interact with Cloud Foundry. Users can have different roles
(admin, developer, etc.) with different access levels to organizations and spaces.
This structure helps teams work together while ensuring that resources are properly segmented
and secured.
Cloud Foundry stores resources, such as application code, services, and data, in a centralized
environment. The main storage components in Cloud Foundry include:
App Code: The source code for applications is stored in the Cloud Controller and linked to
deployment environments.
Services: Cloud Foundry can bind various services (databases, messaging systems, etc.) to
applications. These services are also managed by Cloud Foundry.
Databases: Cloud Foundry often integrates with databases like PostgreSQL, MySQL, or other
cloud databases that store app data.
The Diego Cells, which are containers that run applications, also store application-related files
and dependencies required during execution.
Cloud Controller: This is the component that handles application lifecycle management. It
controls the staging (preparing the app for deployment), deployment, and scaling
processes.
Diego Brain: This manages the orchestration of applications across the infrastructure. It
decides where applications should run based on resource availability and health.
Diego Cells: These are individual virtual machines or containers that run application code.
Each Diego Cell runs a portion of an app or its instances.
Loggregator: Collects logs from applications and components for monitoring and
troubleshooting.
These components communicate through APIs and messages to coordinate actions like app
deployment, scaling, and failure recovery.
Monitoring and analyzing Cloud Foundry deployments is crucial for ensuring that applications
perform as expected. Some key tools and processes include:
Loggregator: This collects logs from all running apps. These logs help developers
troubleshoot issues, monitor app performance, and track errors.
Metrics: Cloud Foundry provides metrics for monitoring things like CPU usage, memory
consumption, and response times for each application.
CF CLI (Command Line Interface): The cf CLI lets developers check the status of apps, view
logs, and monitor app health.
To monitor a deployment, you can use cf logs <app_name> to view live logs or cf apps to see the
status of all deployed applications.
Cloud Foundry provides services (like databases, message queues, AI tools, etc.) that can be
easily integrated into applications. For example:
Bind Services: You can bind a MySQL or MongoDB database service to your application.
Create Service Instances: You can create an instance of a service (e.g., a database) through
the CF CLI or UI, then link it to your app.
These services handle complex infrastructure tasks (like scaling and fault tolerance), so you
can focus on developing your app’s business logic.
It supports multiple programming languages (like Java, Node.js, Ruby, Go, etc.), provides auto-
scaling, and integrates with a variety of cloud services (like databases, caching, messaging
services). It automates many tasks like resource provisioning, scaling, and monitoring.
Languages: Java, Node.js, Ruby, Go, Python, PHP, and many others.
Frameworks: Popular frameworks such as Spring Boot (Java), Rails (Ruby), Django (Python),
and Express.js (Node.js).
Services: Cloud Foundry integrates with databases (e.g., PostgreSQL, MySQL), caching
systems (e.g., Redis), messaging services, and AI tools.
Cloud Controller: Manages the lifecycle of applications, including deployment and scaling.
Diego: Runs the actual app instances in Diego Cells. The Diego Brain decides where and how
to run apps.
The CF Kernel consists of core components that manage the app lifecycle and infrastructure:
BBS (Bulletin Board Service): Coordinates the communication between Diego components.
Cell Reps: Handle the messaging between Diego Cells and other components.
The Nsync process ensures that the state of the application is synchronized across all
components.
BBS: Manages the state of the system and communicates updates (such as changes in app
status or health) to other components.
Cell Reps: Each Diego Cell has a Cell Rep that communicates app health and resource usage
back to the BBS.
Cloud Foundry uses containers (like Docker) to package and run applications. These
containers include everything an app needs to run, making them portable and consistent
across environments.
Diego Cells communicate with each other to coordinate app deployments, manage health
checks, and scale resources. Messaging allows for distributed management of app states.
Cloud Foundry provides detailed metrics for monitoring performance (e.g., CPU usage, response
times). It also collects logs, which provide real-time insights into application health and errors.
Containerization: The app is packaged into a container and deployed to Diego Cells.
Hybrid Cloud: Combination of public and private cloud to meet specific needs.
IBM Cloud offers dedicated resources for high-performance, enterprise-level workloads. This
can include private virtual machines, storage, and other resources dedicated to a single
customer.
The CF CLI is a powerful tool for interacting with Cloud Foundry. It allows developers to:
Stratos UI:
Unit IV: IBM Cloud Services
IBM Watson Studio: A data science and AI development environment to train and deploy
models, visualize data, and perform analytics.
IBM Cloud Pak for Data: A unified data and AI platform that integrates data management,
governance, and analytics.
IBM Db2 on Cloud: A fully managed database service for structured data that enables
advanced analytics.
IBM Analytics Engine: Offers big data analytics for managing and analyzing large datasets
using Spark and Hadoop.
IBM Data Refinery: Enables data cleansing, transformation, and preparation for analysis.
IBM Cognos Analytics: A business intelligence tool with reporting, dashboards, and data
visualization.
Converts written text into spoken audio. Useful for building apps with voice output (e.g.,
virtual assistants).
o Speech-to-Text
Converts spoken words into written text. Helpful in applications like transcription
services or voice commands.
o Cloudant Database
A NoSQL database for handling large amounts of unstructured data. Ideal for modern
web and mobile apps.
o Node-RED
A flow-based development tool for connecting and automating data workflows. It’s great
for IoT and quick prototyping.
o Postman
While not a core IBM Cloud service, Postman can be used to test APIs that interact with
IBM Cloud services, like databases, AI tools, or custom applications.
The IBM Cloud API helps developers control and manage IBM Cloud resources using code. With
RESTful APIs or the IBM Cloud CLI, you can:
WATSON SERVICES
IBM Watson Services use AI to help businesses automate tasks, analyze data, and make better
decisions. Here's a breakdown of the key services with easy-to-understand, real-world examples:
Watson Assistant:
This platform supports building, training, and deploying machine learning models to make
data-driven predictions.
This helps businesses build AI models that can predict future events based on data, such as
customer behavior, trends, or sales forecasts.
Example: A retail store can use Watson Machine Learning to predict which products are
likely to sell out during the next sale season, allowing them to stock up in advance.
IBM Cloud offers several storage solutions designed to meet different needs:
Block Storage:
This provides persistent block-level storage, just like a hard drive, which can be attached to
virtual machines. It’s perfect for workloads that need fast and reliable storage, such as
databases or high-performance applications.
Real-World Example: A gaming company could use Block Storage to store game data and
save user progress, ensuring quick access and low latency during gameplay.
File Storage:
This is a shared file system that allows multiple applications or users to access and manage
files in a centralized location. It’s suitable for apps that need file-based access with shared
directories or file permissions.
Real-World Example: A collaborative project team could use File Storage to share documents
and work on projects together, where everyone can access the same files simultaneously.
Cloudant Database:
A NoSQL database that stores JSON documents. It automatically scales to handle large
amounts of data and is ideal for applications that require flexible, schema-less storage for
rapidly changing data.
Real-World Example: A social media platform can use Cloudant Database to store user
profiles and posts, easily adapting to changing data without needing to restructure the
database.
7. DevOps in IBM Cloud:
IBM Cloud offers a complete suite of DevOps services to help teams manage the software
development lifecycle (SDLC):
IBM Cloud supports several scaling techniques to ensure applications meet demand:
Auto Scaling:
IBM Cloud automatically adjusts the resources your application needs based on factors like
CPU usage or incoming traffic. This means if your app gets more users, it can scale up on its
own, and when demand drops, it can scale down without you having to do anything
manually.
Real-World Example: If you're running an online store, during a sale or festive season, the
app might experience higher traffic. Auto scaling would automatically add more resources to
handle the traffic spike and reduce them when things go back to normal.
Vertical Scaling (Scaling Up):
This involves adding more power (CPU, RAM) to an existing server or virtual machine. It’s like
upgrading your computer to handle more tasks, but it's limited to the server's maximum
capacity.
Real-World Example: If your application is running slowly due to too many users, you can
scale up the server by adding more RAM or CPU to handle the load.
Horizontal Scaling (Scaling Out):
Horizontal scaling means adding more servers or virtual machines to spread out the load.
Instead of making one server stronger, you distribute the workload across multiple
machines.
Real-World Example: Think of a popular website like an online marketplace. As the number
of visitors grows, the system adds more virtual machines to share the load, ensuring the site
stays fast even with lots of users.
Use the IBM Cloud Dashboard or the CLI to create a service instance.
After creating the service, bind it to your application using the service's credentials.
Use the IBM Cloud CLI or Dashboard to create a new instance of a desired service (e.g., a
database, AI model, or analytics service).
Configure the service instance according to your application’s needs (e.g., plan size,
availability zone).
The new service instance is provisioned and ready to be bound to your application.
Bind the service instance to your application using the IBM Cloud CLI (cf bind-service
command) or the IBM Cloud Dashboard.
Retrieve the service credentials (e.g., API keys, database connection strings) from the
service instance and configure them as environment variables in your app.
Modify your app’s code to use the credentials to interact with the service (e.g., connect to a
database, access Watson services).
VCAP Services are environment variables that store the metadata about the services bound to your
application. These variables contain information like:
Service metadata provides information about the services in your cloud environment, including:
Service names.
The plan associated with the service (e.g., free, standard, premium).
The credentials required to access the service. This metadata is typically stored in
VCAP_SERVICES and can be used by applications to connect to the services.
A User Provided Service Instance (UPSI) is a service instance that is manually created by the user,
typically to represent external services not natively supported by IBM Cloud (e.g., third-party APIs,
custom services). The service metadata for a UPSI typically includes:
15. IBM Cloud User Provided Service Instance – User Interface Service Metadata:
In the IBM Cloud user interface (UI), you can define a User Provided Service Instance and configure
its metadata. This involves:
Once the UPSI is created, it can be bound to your application, and the metadata can be
accessed by your application’s code through VCAP_SERVICES.
UNIT-5 NODE CREATION
Key Features:
1. Automation:
o Repetitive tasks like testing and deploying code are done automatically. This saves
time and reduces errors.
2. Streamlining:
o All the tools needed for app development are in one place, making it easier for
teams to stay organized and work together.
How It Works:
o Developers upload code often. The system automatically checks and combines the
code changes to make sure everything works together.
o Once the code is ready, it is automatically delivered to users with no delays, so they
always get the latest version.
3. Team Collaboration:
o Developers can work together smoothly, even if they're in different places. Everyone
can see the progress and contribute easily.
Key Features:
1. Browser-Based:
o You can work on your code from any device with internet access without needing to
set up an IDE on your computer.
2. Supports Multiple Languages:
o Orion Web IDE integrates with tools like Git for version control and CI/CD pipelines
for automating code delivery and testing.
How It Works:
Developers can create, edit, and test their code directly in the browser. Once the code is
ready, they can deploy it, and the IDE handles the process seamlessly.
It also makes collaboration easy since multiple developers can access the same code from
anywhere, anytime.
In simple terms, Eclipse Orion Web IDE makes coding easier by allowing developers to write code in
the cloud without needing to worry about installation or setup!
Git Repositories:
Issue Tracking:
What is it?
Issue tracking helps you keep track of tasks, bugs, or enhancements in your project. IBM
Cloud DevOps integrates with systems like Jira, so you can easily manage issues and tasks
directly within your development environment.
Stages: The pipeline is divided into different phases or stages. Common stages include:
o Deploy: Moving the tested code to a production environment where it can be used
by users.
Jobs can either run automatically when a previous task is completed, or they can be triggered
manually by the team, allowing for flexibility in the process.
This automated process helps developers catch issues early and ensures smoother, faster
deployments!
To set up Node.js and Windows Build Tools on your Windows machine, follow these steps:
1. Install Node.js:
o Go to the official Node.js website and download the latest stable version for
Windows.
o Run the following command to install Windows Build Tools (needed for compiling
native add-ons):
3. Verify Installation:
Once Node.js and Windows Build Tools are installed, you can check if everything is set up
correctly by checking the versions of Node.js and npm (Node package manager) using these
commands:
If everything is installed properly, these commands will display the versions of Node.js and
npm installed on your machine.
Running Node-RED
Node-RED is a flow-based development tool for wiring together devices, APIs, and online services.
It’s built on Node.js and provides a browser-based editor to wire together flows.
Running Node-RED: Once you have Node.js installed, you can run Node-RED using:
code
node-red
This will start the Node-RED server and open the browser-based editor.
Node-RED Architecture
Nodes: Each node represents a specific action, such as reading data from a sensor, making
an HTTP request, or processing data. These nodes are connected together to create flows.
Execution Model: Node-RED operates with a central runtime that executes the flows and
manages the state of the nodes.
Node-RED Architecture:
1. Flow-based Architecture:
Node-RED follows a flow-based programming model. In this approach, developers create
workflows by connecting pre-built components called nodes. The flows define how data
moves from one node to another.
2. Nodes:
Each node in Node-RED performs a specific task. For example, one node might read data
from a sensor, another might make an HTTP request, or another could process data. These
nodes are linked together to create workflows, or flows, to automate tasks.
3. Execution Model:
Node-RED has a central runtime that executes the flows. The runtime manages the nodes'
state and ensures that the data flows smoothly through the system.
Creating Nodes in Node-RED Flow:
2. Connect Nodes:
Once you have added the nodes to the workspace, connect them to define how the data will
flow between them.
4. Deploy:
Once the flow is ready, click the Deploy button to activate it.
1. Input Nodes:
These nodes allow you to bring data into the flow. For example:
o Inject Node: Allows you to manually inject data into the flow (e.g., a timestamp,
random number, or predefined message).
o MQTT Node: Used for sending/receiving data via the MQTT protocol.
2. Output Nodes:
These nodes are used to send data out of the flow. For example:
o Debug Node: Displays output messages in the debug panel, which is useful for
troubleshooting.
3. Function Nodes:
These nodes process the incoming data. You can write custom JavaScript code inside these
nodes to manipulate the data (e.g., performing calculations or parsing JSON).
4. Service Nodes:
These nodes connect to external services or APIs. For example:
2. Debug Node:
The Debug Node is used to display the output messages of the flow in the debug panel. This
node helps to troubleshoot and understand the data as it moves through the system.
Change Node:
The Change Node is used to modify the data in the flow. It can:
The Change Node is useful for transforming or mapping the data as it moves through the flow,
ensuring that the right data is passed to the right nodes.