Suppose you’re launching a tech startup, creating a new tool, planning a sizable refactoring or thinking about migrating and making more robust use of managed cloud services; you probably know that none of these actions should be taken hastily.
The first step should be to validate the idea, i.e. to get an answer to the question, “can even this product be built?”. It is where a Proof of Concept comes in – it is created to verify that the idea is technologically feasible.
Table of contents
What is a Proof of Concept?
Proof of Concept (also known as Proof of Principle or abbreviated to PoC) is a baseline design to verify that an idea can be realised using available technologies and that the product so created will work as intended.
The PoC is limited to the requirements of the technology only. It does not aim to validate the product to an audience or gather user feedback but only to see if the implementation of an idea is doable. There is no universal formula for an app comprising a popular scope of technologies; you will use a different programming language, framework or database system to build and develop a mobile game than to create a global platform for intelligent Big Data analysis.
It is the same with cloud technologies – they have specific requirements for which the architecture and source code must be adapted. Developing a Proof of Concept for a project answers the question if it is possible to create and manage it; it also traces the potential risks that can occur during the development process, even before the DevOps team makes the first step.
See also: 15 reasons to create and develop a startup with Google Cloud solutions
Proof of Concept vs prototype
Proof of Concept verifies that an idea is feasible from the technology side, while prototype focuses on the UX and UI layer. Building a prototype helps to give the product its shape and appearance and indicates how the user will interact with the application.
Tools such as user flow, wireframes or mock-ups are used in the prototyping process. UX/UI specialists draw out the user path and schematic design of the interface on a paper, whiteboard or in dedicated tools such as UXPin or Adobe XD. Once the mock-ups have been developed, a ‘clickable’ prototype with a graphical interface design is prepared. The prototype can look like a finished application – including the option to scroll through views or navigate to subsequent pages – except that there is no single line of code behind it. Prototypes are usually built to show investors and stakeholders the planned shape of the application.
Proof of Concept vs Minimum Viable Product
A Minimum Viable Product (also known as an MVP) is an application with a set of core functionalities, almost-ready to hit the market.
The MVP tests how the target group reacts to the vision translated into the product’s key features. The aim is to release a base version of the application as quickly as possible, validate the idea among the audience, and collect feedback. Based on observing the reception and use of the product, the developers decide on the direction of further development or, as it also happens, to suspend the project.
Not just software. Three examples of proof of concept in the cloud
The Proof of Concept is (or at least should be) an integral step in building a new product. PoC is also created to introduce a change, for example, a significant refactoring of an application or migration to a different infrastructure. It helps to indicate not only whether a given vision can be realised but also, for example, what modification will be needed to use managed cloud services effectively.
In what situations is it worth developing a Proof of Concept to analyse the validity of an idea in terms of infrastructure?
Building a cloud-native product from scratch
Cloud-native is an approach to building and developing applications that involve public cloud services. Using out-of-the-box cloud tools allows you to publish new products or introduce functionalities at a brisk.
When developing an application that uses cloud services, it is essential to properly plan the system and, also, the cloud architecture. An experienced cloud architect may assist in the proper selection and layout of system components between cloud services. To verify the concept, the specialist will also create a Proof of Concept for the infrastructure of the new product to verify if a solution will work and, possibly, if it will be cost-optimal and provide an adequate level of scalability.
See also: What is a cloud-native approach, and why it’s worth taking?
Migration from legacy infrastructure to the cloud
Hardly ever the migration of resources from an in-house server, hosting service, or virtual machine follows a lift-and-shift model (i.e., moving the source code without making significant changes). Even when migrating from one cloud solution to another, changes must be made, as not all public cloud services overlap 1:1. Often, it is necessary to refactor or adapt the application architecture for cloud services – especially if you plan to pull more than just disk space and virtual machine computing power from the cloud.
Developing a Proof of Concept in such a case will determine whether it is possible to carry out the migration according to the guidelines, how much refactoring needs to be done, and whether moving the system to the cloud will be cost-effective.
Greater cloud adoption
An application that sits on the virtual machines of a cloud service provider is, in theory, already in the cloud. In practice, the level of cloud adoption in such a case is relatively shallow. If the application developer wants to make stronger use of cloud computing capabilities – e.g., move system components to managed services – they should make changes to the application’s architecture and source code.
For example, a developer wants to move an application from virtual machines in Compute Engine to containers and use Google’s Kubernetes Engine service. They plan to increase application availability and performance with Load Balancer and are interested in using a managed Cloud SQL database. In such a situation, they – ideally in cooperation with a cloud architect – should prepare a Proof of Concept considering the selected services and run the sample source code in the test environment.
See also: Containerisation – what are containers, and why are they so popular?
Support in building and funding Proof of Concept in the cloud
As an official Google Cloud Partner, FOTC offers support in developing the Proof of Concept and financing cloud infrastructure.
There are three areas in which FOTC can assist your company:
- Brainstorming sessions and design workshops. We get to know your idea and requirements and draw up a cloud architecture diagram. We conduct sessions for new cloud-native products and for applications to be migrated, also from another public cloud.
- Collaboration with certified cloud engineers and architects. Specialists are present at every stage, from first meetings to post-implementation customer service. When necessary, we involve customer engineers on the Google Cloud side to implement the PoC and follow up.
- Covering part of the costs associated with maintaining the cloud infrastructure. Enterprises that want to test a new idea in the cloud or build a Proof of Concept incorporating previously unused Google Cloud services are offered free infrastructure credits (5-10% of the services cost with a minimum annual spend of $60k).
Do you want to ensure that your idea is feasible and will not consume your entire budget within a few weeks? Please take advantage of our expertise and financial support – make an appointment for a free consultation.