I examine a hypothetical scenario of a growing medium size company that is planning to migrate to a cloud environment. I suggest an Amazon AWS cloud service as a possible solution and also cover deployment models as well as some very high-level implementation details and benefits of cloud PaaS services.
High-Level Architectural Goal for Addressing Company Growth and Rapid Service Demand Growth
A typical plan for a company moving to a cloud is to successfully transition their clients onto a new platform (typically web-based) hosted and run solely in the cloud environment.
The main reason for moving to the cloud and transitioning to web-based realm is essential to allow clients to engage with the application from any platform they choose (Windows, Linux, Macintosh, or any mobile platform), which is a tremendous benefit to the enterprise. The new web-based applications not only support and run on all of the major web browsers, they are 24/7 available, responsive and secure and often distributed through CDN, to ensure better support for the expected growing number of customers in other provinces.
That said, companies are moving in large from their aging desktop solution and onto the cloud-based platforms, with the goal to better prepare for the potential growth. The the other main reason for the migration to the cloud is to be in control of the environment and data, which is rarely a case with desktop solutions unless their back end is already in a centralized location.
Public PaaS Cloud Service and Public Deployment Model
In our example, we will imagine that to accomplish the goal, the company decided to select the Platform as a service (PaaS) cloud service mode. In my opinion, it’s one of the better options. Following are the reasons why:
- Infrastructure – The company wants to abstract the physical infrastructure. The PaaS comes with infrastructure (virtual machines, storage, networking), which fits the company’s model, because being a small business, the company does not have the financial means to create, nor manage their own data center. Most of the workload is in the public cloud, and the web-based solution should not have any requirement to bring anything back (other than business reports) into company offices located outside of the cloud provider. As a future PaaS customer, the plan is to only work with services created and maintained by the PaaS provider.
- Development & Deployment – We know, that the enterprises who are planning on rewriting desktop application into a full-fledged web-based app will need to spend a lot of resources on development and deployment and in the cloud we see a new shift in these areas as well. It is an entirely new development realm, and in my view, the ideal plan is to discontinue on-premise development environment and move the web-based development cloud. PaaS fits the plan because it offers a complete development and deployment environment in the cloud. The PaaS allows any firm to move from a simple desktop application onto a sophisticated, cloud-enabled development platform.
- Data Management and Big Data Insights – The business plan for transitioning to the cloud is usually motivated by centralizing data. There are variety of PaaS business intelligence solution, to gather further insight from the client data hosted in a single location. As a matter of fact, this is one of the most promising areas for the organization because until moving to the cloud, all of the customer’s data usually reside on the client desktop and aren’t accessible for big data analysis.
Diagram in Figure 1 outlines the key benefits of PaaS. The diagram also clearly demonstrates the reason why the company in question decided to select the PaaS model instead of IaaS or SaaS.
Figure 1 – IaaS, PaaS, SaaS. What’s that? (Kii Developer Community, 2013).
The diagram in Figure 2 shows that PaaS supports all of the primary goals of the company. PaaS provides the infrastructure and well as focuses on the application development, deployment and the data collection and analysis.
Figure 2 – What is PaaS? Platform as a Service? (Azure.microsoft.com, 2017)
Figure 3 illustrates how the PaaS model simplifies the management and development of the applications, due to app abstraction from infrastructure, which provides numerous time and cost savings to management and development teams, as they longer need to manage the infrastructure that is required for the application to run or deploy.
Figure 3 – Hosting in IaaS or PaaS? (Acloudfan.com, 2017)
Microsoft offers a textbook summary of the benefits of the PaaS, “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.” (Azure.microsoft.com, 2017).
As such, the PaaS service model and Public deployment model seem like the best fit for our hypothetical scenario.
Let’s hypothesize that our of all cloud solutions on the market we’re going to go with Amazon AWS cloud services. I won’t go to details of how would a PaaS solution for a web application looks like, as this will vary from case to case. However, I want to at least illustrate an architecture for a AWS cloud PaaS offering that can be deployed in a Serverless mode and go over some details of benefits of AWS.
AWS PaaS Architecture – Web App
The diagram in Figure 4 illustrates the entire application composed by using the Amazon AWS model: application, storage and notification services (DynamoDB, Lambda, S3, etc.).
Figure 4 – Serverless Architecture: The Rise of Next-Gen PaaS (Cockburn, G., 2016)
AWS Service Migration and Disaster Recovery
Amazon AWS cloud offers to customers a PaaS service called Disaster Recovery, which in AWS comes without sustaining the infrastructure related expenses that would normally come with having a second infrastructure deployed on a second physical site.
Amazon states that “AWS cloud supports many popular disaster recovery (DR) architectures from “pilot light” environments that may be suitable for small customer workload data center failures to “hot standby” environments that enable rapid failover at scale. With data centers in Regions all around the world, AWS provides a set of cloud-based disaster recovery services that enable rapid recovery of your IT infrastructure and data.“ (AWS Disaster Recovery, 2017).
AWS Cloud-Related standards
The AWS as a cloud PaaS provider also offers excellent cloud compliance coverage. They not only comply with International Organization for Standardization (ISO 27001), but also Security Standards Council (PCI), AICPA Service Organization and a number of other certifications, laws, privacy regulations and frameworks (Figure 5).
Figure 5 – Cloud Compliance – Amazon Web Services (Amazon Web Services, Inc., 2017)
Azure.microsoft.com. (2017). What is PaaS? Platform as a Service | Microsoft Azure. [online] Available at: https://azure.microsoft.com/en-ca/overview/what-is-paas/ [Accessed 20 Jan. 2018].
Kii Developer Community. (2013). IaaS, PaaS, SaaS. What’s that?. [online] Available at: http://community.kii.com/t/iaas-paas-saas-whats-that/16 [Accessed 20 Jan. 2018].
Amazon Web Services, Inc. (2017). Cloud Compliance – Amazon Web Services (AWS). [online] Available at: https://aws.amazon.com/compliance/ [Accessed 20 Jan. 2018].
Acloudfan.com. (2017). Hosting in IaaS or PaaS? | A Cloud Fan. [online] Available at: http://acloudfan.com/host-iaas-paas [Accessed 20 Jan. 2018].
AWS Disaster Recovery. (2017). Disaster Recovery Cloud Computing Service – Amazon Web Services (AWS). [online] Available at: https://aws.amazon.com/disaster-recovery/ [Accessed 20 Jan. 2018].
Cockburn, G. (2016). Serverless Architecture: The Rise of Next-Gen PaaS | Cloud Migration Services & Solutions | Bulletproof. [online] Bulletproof. Available at: http://www.bulletproof.net.au/serverless-architecture-rise-next-gen-paas/ [Accessed 20 Jan. 2018].