What is PaaS? Platform-as-a-Service Types Explained - 7 minutes read


What is PaaS? Platform-as-a-Service Types Explained

There's no single PaaS for everyone. Even the definition of this cloud computing service model is quite vague today. Commonly, it is described as a cloud hosting platform with a set of deployment and scaling automation, application management, and DevOps tools that can be run on shared infrastructure or on-premise. Also, PaaS eliminates the complexity of building and maintaining the underlying infrastructure. Let's see how PaaSes differ through the prism of their use cases and supported technologies, and how to determine which one will meet specific needs.

Let's take a closer look and analyze Platform-as-a-Service solutions from several angles:

Today's PaaS vendors bring innovative approaches to application development and their hosting in the cloud by providing various tools built specifically for a particular service. Considering use cases hosted within Platform-as-a-Service solutions, we can break down PaaS offerings into three broad categories: general-purpose, emerging and specialized.

General-purpose platforms are widely chosen for traditional stateful web and N-tier applications thus offering "lift and shift" approach for migrating existing workloads. In addition, this PaaS type is timely expanding with modern technologies that meet the needs of stateless cloud-native applications and microservices, and help to develop new scalable and fault-tolerant services.

EmergingPaaSes bring new approaches to the market. They are commonly used for the development of independent services based on emerging technologies such as serverless, distributed event processing, machine learning frameworks, and others.

Specializedplatforms focus on narrow niche use cases but with high demand on the market. Such products have proved to be effective in different directions including e-commerce, big data processing, and business applications. Often, these platforms are transformed into subcategories such as CMSaaS, eCommerce-as-a-Service, DBaaS, BPaaS, etc. 

PaaS solutions are increasingly focused on full-cycle automation of application deployment and delivery processes. This helps developers to focus more on application design and its implementation instead of time-consuming routine or complex tasks, such as server and storage configuration, application and infrastructure security, auto-scaling, load balancing, and so on.

There can be considered three levels of PaaS abstraction: low, mid and high.

Low abstraction level platforms, especially Container-as-a-Service (CaaS) solutions, provide DevOps teams with deep access to infrastructure configurations, as well as granular control over containers and various platform services (e.g. service discovery, logging, security, and load balancing).

Mid-abstraction has the primary goal to let developers code without the headache of infrastructure configuration and management. These platforms give developers access to a wide range of integrated and optimized development frameworks, middleware software stacks, APIs and services completely abstracted from CaaS and IaaS deployment properties. Very often such PaaS solutions provide automatic scaling, load balancing, high-availability, backup, disaster recovery, CI/CD, and other application lifecycle management features out-of-box.

High abstraction solutions are aimed to abstract even coding process to increase the application delivery speed and reduce the cost of innovations. In this case, developers get the entire technology stack but with full abstraction of application, platform and infrastructure levels. It helps to boost the performance of team members and reduce requirements to their technical skills.

In order to automate the application lifecycle management processes, PaaS represents a collection of configuration tools, continuous integration and delivery services, connectors and plugins to popular IDEs.

We can highlight three main approaches in this category:

PaaSes concentrated on providing tools and services for deployment automation offering "one-click" or "git-push" functionality, as well as pre-configured environments for code building, continuous integration and project management tools.

Cloud platforms focused on infrastructure configuration, health and availability monitoring, security and performance checks, cost optimization, as well as offering automation and services related to upgrades and maintenance.

Container management platforms offering functionality to solve challenges of containerization process and implementation of cloud-native approach for existing or new applications. Many PaaS vendors now offer CaaS as an integral component of their products, further reinforcing the view of PaaS as a collection of different DevOps tools.

There are several important points that should be considered before selecting a PaaS for a company.

Above all, analyze whether the chosen PaaS supports the technologies, middleware stacks and programming languages used by development teams today or planned to be used in the future.

The next point to consider is vendor and data lock-in. Despite the benefits some PaaSes offer, the access to the application itself and used middleware stacks can be very limited due to proprietary design of tools and services. This aspect affects application portability. So the migration to any other cloud or implementing multi-cloud interoperability approach becomes a real challenge. The same issue applies to the stored data. Ensure that PaaS provider allows to import/export data easily without any lock-in.

They say there's no "one-size-fits-all" technology for every project but in modern cloud world with all integrations and interconnections available the borders between specific products are blurring. Jelastic Multi-Cloud PaaS provides the required freedom of choice when it comes to cloud services, DevOps tools and container management systems. Give it a try to immensely improve development productivity and application delivery processes with minimal investment.

Source: Dzone.com

Powered by NewsAPI.org

Keywords:

Platform as a servicePlatform as a servicePlatform as a serviceCloud computingCloud computingSoftware deploymentScalabilityAutomationApplication lifecycle managementDevOpsProgramming toolInfrastructureOn-premises softwarePlatform as a serviceInfrastructurePRISM (surveillance program)TechnologyPlatform as a servicePlatform as a serviceInnovationSoftware developmentCloud computingPlatform as a servicePlatform as a serviceComputerState (computer science)World Wide WebMultitier architectureApplication softwarePlatform as a serviceType systemTechnologyState (computer science)Cloud computingMachine codeMicroservicesScalabilityFault toleranceWeb serviceSoftware developmentWeb serviceEmerging technologiesServerless computingDistributed computingMachine learningMarket (economics)Product (business)E-commerceBig dataData analysisE-commercePlatform as a serviceAutomationSoftware deploymentBusiness processSoftware developerSoftware designImplementationSubroutineComplex systemServer (computing)Computer data storageConfiguration managementApplication softwareAutoscalingLoad balancing (computing)Platform as a serviceAbstraction layerDevOpsService discoverySecurityLoad balancing (computing)AbstractionSource codeHeadacheInfrastructureConfiguration managementManagementSoftware developerSystem integrationMathematical optimizationSoftware developmentSoftware frameworkMiddlewareSoftwareStack (abstract data type)Application programming interfaceDaemon (computing)Abstraction (software engineering)Cloud computingSoftware deploymentPlatform as a serviceScalabilityLoad balancing (computing)High availabilityBackupDisaster recoveryContinuous integrationApplication lifecycle managementAbstractionAbstractionComputer programmingAbstractionInfrastructureMicrosoft Visual StudioSystems engineeringPlatform as a serviceConfiguration managementProgramming toolContinuous integrationPlug-in (computing)Integrated development environmentProgramming toolWeb serviceSoftware deploymentAutomationGitSource codeContinuous integrationComparison of project management softwareCloud computingInfrastructureConfiguration managementHealth careAvailabilitySecurityPerformance managementCostMathematical optimizationAutomationService (economics)Maintenance, repair, and operationsPackaging and labelingManagementContainerizationSystems engineeringImplementationCloud computingApplication softwarePlatform as a serviceComponent-based software engineeringProduct (business)Platform as a serviceDevOpsPlatform as a servicePlatform as a serviceTechnologyMiddlewareProgramming languageSoftware developmentDataVendor lock-inMiddlewareProprietary softwareSoftware designProgramming toolPortable applicationCloud computingCloud computingInteroperabilityPlatform as a serviceDataCloud computingJelasticPlatform as a serviceFree willCloud computingDevOpsPackaging and labelingEconomic developmentProductivityBusiness process