Platforms and Applications

Get introduced to the platform which is a vital component of our cloud requirements. Rather than referring to a cloud provider such as AWS, Azure, or Google Cloud Platform, the platform refers to how our application will run.

Introduction

Platforms provide a foundation or baseline to build and deploy applications quickly. A cloud platform is a server’s operating system and hardware in an Internet-based data center. Hardware and software can coexist remotely and at scale with the platform. How does a platform work? A company rents computing resources, including servers, databases, storage, analytics, networking, software, and intelligence. Thus, the enterprises do not need to build and own data centers or computing infrastructure. Instead, the enterprise simply pays for the services used.

Traditional system design

The traditional way of doing this was to build an application that does X, Y, and Z. Followed by listing down the requirements, we will be using the desired programming environment, which will require certain runtime. We will be using a specific database system, which requires a particular database server, and we will be using these protocols, and the list goes on when we built everything out from scratch.

Modern system design

However, the modern idea is why not have a good platform that establishes everything we need for a particular application. Then we can use that platform to deploy our application. Therefore, we know we will start with Platform A, and it gives us all of our requirements. Therefore we can build our application assuming platform A is available. Then maybe for another project, we need Platform B. We will deploy ten servers that have Platform B on them, and we know they will be able to run the application. That is the concept of a platform.

It includes thinking about the operating system we are running. Is it Linux or Windows or another operating system, the runtime environment itself executing our code? We might have compiled code that runs as a binary on the operating system or need run times or interpreters. So runtime would be things like a Java runtime environment to run Java applications, and interpreters would be things like PHP, Python, Ruby, and so forth to run interpreted code.

Then we have web frameworks. These frameworks give us simplified methods of doing creative things for websites. So if we want to have interactive web pages with attractive graphics and dynamic pages that change dynamically using JavaScript in the local browser, we can get frameworks that give us the building blocks to make it happen rather than doing it all from scratch. And then, we have application frameworks similar to web frameworks, except they do not necessarily work in a web browser. These components, the operating systems, the runtime environments, the web and application frameworks, come together to form a platform.

Beyond that, we need to validate if a solution we are going with is available as an image in the cloud provider. We can launch an instance of that image on our platform. Does the image meet all the requirements? That is to say, can we launch the image as an instance, and it is just good to go, or do we need to launch it and then maybe add some extra run times or interpreters or something like that that meets our needs.

Is a server required, or can serverless computing be used? So do we need to launch an instance, in other words, or can we use something like a function that runs in the cloud to get the job done?

Now, let us give an example of a standardized system. Different standardized procedures are out there for working with the cloud. One of them is called Cloud Application Management for Platforms (CAPM), and it is a standardized specification for the management of applications in the cloud. So rather than just starting from scratch trying to figure out what we need, what things do we need to think about to make the cloud solution work. We can begin with a standardized architectural design. It specified APIs used to manage a Platform as a Service implementation.

Types of cloud platforms

Public cloud

Platforms that provide computing resources via the Internet are known as public cloud platforms. Amazon Web Services (AWS), Google Cloud Platform, Alibaba, Microsoft Azure, and IBM Bluemix are some examples.

Private cloud

A private cloud platform is dedicated to a single organization. In most cases, it’s hosted on-site or by a third-party service provider.

Hybrid cloud

A hybrid cloud is a combination of public and private cloud platforms. Data and applications move seamlessly between the two. This gives the organization greater flexibility and helps optimize infrastructure, security, and compliance.

Conclusion

Cloud platforms enable organizations to create cloud-native applications, test and build applications, and back up, restore, and store data. Data can also be analyzed with cloud platforms. In addition, organizations can stream video and audio, embed intelligence into their operations, and deliver software on-demand on a global scale.

Create a free account to access the full course.

By signing up, you agree to Educative's Terms of Service and Privacy Policy