“PaaS Usage Scenarios: PaaS, Path to the Future” is the third post in the series. In my previous posts, “PaaS Scenario: PaaS, Path to the Future – Part I” and “PaaS High Level View: PaaS, Path to the Future – Part II“, I introduced PaaS as the fast emerging technology trend. It is about the separation of responsibilities – Developers and Organization need to focus on their core business and let PaaS worry about the environment, its infrastructure, upkeep, scalability, security, and maintenance.
In this post, I will discuss few PaaS usage scenarios on how enterprises can leverage the platform.
PaaS Usage Scenarios
Dr. Jeff Daniels from Lockheed Martin Corporation, Dr. Arman Sargolzaei from PLC International Inc. and Dr. Ben Amaba from IBM Corporation released a research paper titled “Industrial Control System Applications go Mobile in the Cloud” that demonstrated a secure method to connect to industrial controls systems using cloud-based mobile technologies. For their prototype they used the IBM Bluemix PaaS. I found their description for designing applications with PaaS using DevOps quite accurate. They stated and I quote: “Platform as a Service (PaaS) offerings allow companies to move quickly, while incorporating the third platform technologies, in order to develop impactful applications utilizing cloud computing. PaaS is a cloud development platform that provides services and compute options for developers, allowing them to truly devote their time to coding without being concerned about the infrastructure or resource constraints. When infrastructure abstraction is combined with robust set of DevOps tools and services, teams can follow agile development best practices, services, and reusable patterns including: DevOps, Big Data, Mobile, Cloud Integration, Security, Internet of Things, Watson, Data Management, Web and Application”. They also added, “PaaS provides dynamic scaling, security control, faster provisioning and guaranteed performance levels and it can deliver lower operational cost, faster development, and seamless integration”.
PaaS provides the developer the flexibility to provision an “environment for rent” that is fully customizable so they can focus on developing their applications. The runtime layer provides them the freedom to select their software programming language. The DevOps layer brings together the planning, tracking, source control management, building and software deployment capabilities to the environment. It provides the continuous deployment capability to the platform (aka active deploy) allowing the developers to deliver changes and updates to their application with practically zero downtime. With this capability combined with the lifecycle traceability and collaboration, the DevOps layers aligns PaaS with DevOps to achieve a software delivery pipeline.
Leverage DevOps SaaS for IT Software Development
As an example, for Web development, developers can use IBM Bluemix DevOps Services to create “born on the Cloud” applications using the provided Bluemix Web IDE and deploy them to Bluemix. Developers also have the flexibility to develop their application locally on their workstation and use the Cloud Foundry command line interface to track, plan, scale and deploy their Web applications to Bluemix.
Developers can also leverage IBM Bluemix Containers which provide an ideal environment to isolate their applications. They can build their applications on their local workstation and then ship it (deploy it) to Bluemix.
The Microservices layer provides the developers with the ability to bind or consume the capabilities offered by these services into their applications. By consuming these Microservices, developers have the ability to speed their development and embark onto new paradigm for developing software with unprecedented capability.
Develop Sophisticated Mobile Apps
As an example, for mobile development, the IBM Bluemix PaaS provides mobile backend services. Developers can focus on developing their mobile apps instead of the complexities of managing the back-end infrastructure. Developers can leverage the Bluemix Mobile Client Access and Push Notifications services to authenticate users, push notification and run the mobile apps logic in the Cloud. They can also leverage the Bluemix Mobile Quality Assurance and Appscan Mobile Analyzer services to discover security vulnerabilities and get detailed crash reports. By leveraging the Bluemix mobile services and runtimes, developers can create sophisticated mobile apps that trigger actions with indoor location information (location aware), and they can add natural language and image recognition to their apps.
Leverage Microservices to Build Differentiation into Applications
IBM added more than 16 of their Watson services to their Bluemix PaaS platform. For example, developers can leverage the Watson Tradeoff Analytics service in their applications to balance multiple objectives and constraints such as risk, cost, and resources. This Watson service is based on a complex mathematical technique but this complexity is totally transparent and easily consumed by the developer.
Refactor Monolithic Applications
The capability of a monolithic application can be extended by leveraging these Microservices. With minimal changes to the application, the developer can add new features to the existing application by simply binding these services using their open API. As an example, a developer can add the Watson Personality Insight to an existing application by simply calling this service. The existing monolithic application does not need to be ported to the Cloud. Instead, it can continue to run locally, in a datacenter, but it can consume the Microsevices by making remote calls to their APIs.
Connect Internet of Things Devices
The market predicts that over 50 billion devices will be connected by 2020. Most of the PaaS in the market today provide the tools and services to interact with Internet of Things (IoT) devices. As an example, IBM Bluemix provides an IoT Foundation framework to connect IoT devices to the Cloud. Devices such as sensors, heart monitors, mobile apps, drones, smart watches, toasters and others. For example, using the IBM Bluemix Node-red browser-based flow editor, nodes can be wired together to create an application to collect and persist data from these devices. The data can then be processed, analyzed, visualized and monitored in real-time. The information collected from the devices can be fed into other applications to trigger various events. Developers can correlate the information and leverage the Microservices to perform time-series analysis, statistical and predictive analysis.
In my next post, I will share with you my perspective on how to migration applications to PaaS.
About the Author
Sami Joueidi holds a Masters degree in Electrical Engineering and an Enterprise Architecture certification from Carnegie Mellon. He has over 20 years of experience as a technical leader of complex IT projects for Fortune 500 firms, in diverse roles such as Systems Integrator, DevOps, Cloud Architecture, Enterprise Architecture and Software Development & Release Management. He guides customers on how to leverage the latest technology trends to their advantage and helps them with their Cloud adoption strategies.
© Sami Joueidi and www.cafesami.com, 2015. Excerpts and links may be used, provided that full and clear credit is given to Sami Joueidi and www.cafesami.com with appropriate and specific direction to the original content.