0% found this document useful (0 votes)
44 views6 pages

Platform As A Service

lecture note on platform as a service on Vitualization

Uploaded by

Akpan Victoria
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)
44 views6 pages

Platform As A Service

lecture note on platform as a service on Vitualization

Uploaded by

Akpan Victoria
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/ 6

PLATFORM AS A SERVICE (PAAS)

BY
DR. OLADIPO OLUWASEGUN
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.
PaaS allows you to avoid the expense and complexity of buying and managing software
licenses, the underlying application infrastructure and middleware, container
orchestrators such as Kubernetes, or the development tools and other resources. You
manage the applications and services you develop, and the cloud service provider
typically manages everything else. See Figure 1. For the coverage of the various cloud
service model.

Figure 1: Cloud service Models

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.
To summarize Paas it can be described as a cloud computing model that provides a
platform for developers to build, deploy, and manage applications without having to
deal with the underlying hardware and software infrastructure. It allows users to focus
on the coding and development process rather than worrying about things like servers,
storage, networking, operating system management, and updates. PaaS offerings
typically include development tools, middleware, database management systems, and
runtime environments.

Characteristics of PaaS
1. Development Environment: PaaS provides an integrated development environment
(IDE) to write code, test, and deploy it to production environments.
2. Scalability: It automatically scales resources up or down based on demand.
3. Collaboration: Multiple developers can collaborate and work on the same project
simultaneously.
4. Middleware: It includes middleware that allows for integration of applications,
databases, and services.
5. Security and Monitoring: PaaS providers handle security patches, backups, and
performance monitoring, relieving developers from these operational tasks.

Practical Example of PaaS


1. Google Colab
Google Colab (Collaboratory) can be considered a PaaS in a specific sense. It's an
online cloud-based platform provided by Google that allows users to write and execute
Python code directly from their browser. It is particularly popular for data science,
machine learning, and deep learning applications.
Google Colab provides a runtime environment (Python with libraries like TensorFlow,
PyTorch pre-installed) for developing and running code without needing to manage
the underlying hardware (e.g., GPUs or TPUs) or software configuration.
Infrastructure-Free Development:
You don’t have to set up a local machine with GPU or manage the OS or Python
environment—Google handles that for you.
Suppose you are developing a machine learning model. Using Google Colab, you can
write your code in a Jupyter notebook, test it with the power of GPUs or TPUs, and
share it with collaborators without worrying about how to maintain the server or the
hardware. However, while Google Colab fits into the PaaS model in the domain of
coding, it lacks other PaaS features like database management and a full-fledged
application deployment platform.

2. Heroku:
Heroku is a more vivid and complete example of a PaaS. It allows developers to build,
deploy, and scale web applications without managing servers. Heroku abstracts away
infrastructure concerns by allowing you to focus only on your code. Once your code is
ready, you push it to Heroku, and the platform automatically handles everything from
provisioning servers to scaling your application as needed.
For example, You could develop a web application using Node.js, push the code to
Heroku, and it will automatically set up all the necessary services, such as databases,
without requiring you to manually configure a server or middleware.

3. Microsoft Azure App Service


Another popular PaaS example, Microsoft Azure App Service, allows you to build and
host web apps, RESTful APIs, and mobile backends. Azure App Service handles the
hosting, scaling, load balancing, and even some security aspects for you. It integrates
with a variety of languages (e.g., .NET, Python, Node.js) and platforms like GitHub for
source code management.
You can create an ASP.NET application in Visual Studio, connect it to Azure App
Service, and Azure will take care of deployment, resource scaling, monitoring, and
even automated updates.

4. Google App Engine


Google App Engine is a fully managed platform that allows developers to build scalable
web applications and mobile backends without needing to manage infrastructure.
Google App Engine lets developers write their applications in different programming
languages (such as Python, Java, Go) and deploy them on Google's infrastructure. It
scales automatically based on traffic.
We can create a simple web app with Python and deploy it to Google App Engine, and
Google will manage scaling, load balancing, and health checks on your behalf.
Advantages of Paas
Platform as a Service (PaaS) offers several key advantages by providing developers
with a cloud-based platform that includes tools, middleware, and other services. Let’s
break down the advantages of PaaS and illustrate how tools like Azure App Service,
Google App Engine, and Heroku embody these advantages:
1. Cut Coding Time
PaaS solutions offer pre-built components, middleware, and services (e.g., directory
services, security, workflows), allowing developers to focus on building application
logic rather than reinventing the wheel for common tasks.
Azure App Service: Azure provides built-in services like Azure Active Directory for
authentication, Azure Search for adding search functionality, and Azure Functions for
running serverless logic. With these pre-coded services, developers can skip much of
the groundwork for building these functionalities into their applications. For instance,
if you need user authentication, you don’t need to build the system from scratch—just
integrate Azure AD into your app.
Heroku: Heroku offers addons like logging services, database management, and email
systems, all with a few clicks. This significantly reduces the time developers need to
spend integrating these features manually.
This advantage means you spend less time coding and more time delivering core
functionality.

2. Add Development Capabilities without Adding Staff


PaaS platforms provide a wide array of development tools and services, often making
complex development tasks easier, even if your team doesn’t have expertise in certain
areas. This means you can tackle more complex projects without needing to hire new
staff with specific expertise.
Google App Engine: Google App Engine handles many operational details like scaling,
monitoring, and performance optimization. The platform also supports multiple
languages (Python, Java, Node.js, etc.), letting your team work in their preferred
language. This eliminates the need to hire specialists for server management or
DevOps—Google’s infrastructure handles that for you.
Azure App Service: Azure’s integration with Azure DevOps and Azure Monitor allows
you to implement continuous integration and delivery (CI/CD) pipelines, manage
testing, and perform application diagnostics easily. These tools extend your team's
capabilities without needing to hire extra DevOps personnel.
3. Develop for Multiple Platforms—Including Mobile—More Easily
PaaS providers often allow you to develop for various platforms (web, mobile, desktop)
using the same codebase or tools. This saves time and effort when building cross-
platform applications.

Heroku: Heroku provides a wide range of languages and frameworks (Ruby, Node.js,
Python, Java), and you can deploy web apps and APIs that serve both mobile and
desktop users seamlessly. Additionally, through addons, you can support mobile
notifications, real-time updates, and cloud storage for both web and mobile platforms
with ease.
Google App Engine: App Engine provides the flexibility to develop for multiple
platforms with little to no additional configuration. You can use the same backend
APIs and services for web and mobile apps (e.g., for authentication or database access),
significantly reducing the effort needed to deploy and maintain mobile versions of your
web app.
This allows developers to target a broader range of devices (including mobile),
reducing the time and complexity of developing cross-platform apps.

4. Use Sophisticated Tools Affordably


PaaS follows a pay-as-you-go model, which means that sophisticated tools for
development, analytics, and business intelligence (BI) are available without requiring
organizations to invest in expensive software licenses upfront.
Google App Engine: Google offers access to Google Cloud's BigQuery, a powerful
analytics tool that would be expensive to purchase and set up independently. Instead
of making a large investment, organizations can pay only for the queries they run,
allowing even small teams to access enterprise-grade analytics.
Azure App Service: Azure provides access to powerful tools like Azure Machine
Learning, Power BI, and AI-powered cognitive services. For instance, a small company
could incorporate sophisticated natural language processing (NLP) into their app
using Azure Cognitive Services without having to purchase AI infrastructure or hire
specialists in machine learning.
The ability to rent access to advanced tools at a fraction of the cost makes PaaS
attractive to both small and large businesses alike.
5. Support Geographically Distributed Development Teams
Since PaaS platforms are accessible over the internet, they are ideal for remote or
distributed teams. Developers can collaborate and work on the same project regardless
of location, with version control, testing, and deployment all managed in the cloud.
Heroku: Heroku’s integration with Git allows geographically distributed teams to
collaborate easily. Developers from different locations can push their changes to the
same Heroku app and manage deployment workflows using Git. Moreover, teams can
manage access control and permissions to ensure secure collaboration.
Azure DevOps: Azure provides a full suite of DevOps tools with integrated source
control (Git), build pipelines, and collaboration features. Developers in different
locations can collaborate on code, run tests, and push code to production without
needing to be in the same physical office. The whole pipeline—from development to
deployment—can be managed through Azure’s cloud platform.
This facilitates efficient collaboration between remote teams, ensuring smooth project
management and software development workflows.

6. Efficiently Manage the Application Lifecycle


PaaS platforms provide a complete environment for the entire application lifecycle,
including development, testing, deployment, and monitoring. All of these phases can
be managed within the same ecosystem, streamlining the process.
Azure App Service: Azure provides integrated development environments (IDEs) like
Visual Studio that can be connected to Azure App Service. You can develop, test,
deploy, and monitor your application all within the Azure environment. For example,
a developer could write code in Visual Studio, push it to Azure DevOps for testing, and
then deploy it to Azure App Service. Post-deployment, Azure Monitor can track the
application’s performance and usage.
Google App Engine: Google App Engine makes it easy to build, test, and deploy apps
in a single environment. It also integrates with Google Cloud Monitoring for real-time
performance monitoring and alerting, while tools like Cloud Build provide CI/CD
pipelines that automate the deployment and testing processes.
By managing the entire application lifecycle within one platform, PaaS tools reduce
complexity, eliminate bottlenecks, and improve overall efficiency.

You might also like