1 What is cloud computing?
That is an easy one, briefly, that is somebody else’s computer.
2 Why should I move my project to the cloud?
As a software company, you don’t care about the hardware. The goal is to run your application and focus on your business, which means you don’t need to buy hardware yourself. Cloud allows multi-region, which means if you want to put your business in Europe and you’re in the USA, you don’t need to move a group of engineers, rent a place to manage the hardware, and so on. Cloud makes it very easy.
Cloud brings a new perspective in services: infrastructure, platform, and software. We can make an analogy with pizza as services, where we have the on-premise case where you need to do everything, to the lowest abstraction where you go to a restaurant and order the pizza there.
3 What is Platform.sh and how can it help me achieve this goal?
Platform.sh is an easy way to move your application to the cloud. Platform.sh is a second generation of PaaS, where you can build one app using the infrastructure as code approach through three files: one to the define routes, the application and the services such as a database that you’ll need on your application. Every branch that you deploy on Platform.sh is built as a virtual cluster, containing a set of containers. The master branch of your Git repository is always deployed as the production cluster. Therefore, you’ll have production, staging, and development with just pushing a new branch. Platform.sh is also Git-Driven Infrastructure which you can integrate with GitHub, Gitlab, or one Git repository that will provide for you.
4 What is cloud-native?
I wrote one article about this concept. I have read several articles, books about the theme, and there is no unique definition about it. It is new, so we’re still far from a unique definition. Based on those readings, I have made my own:
A set of good practices to optimize an application in the cloud through:
5 Is Platform.sh cloud-native?
Yes. As we mentioned, Platform.sh is a PaaS that allows you to take advantage of the cloud through clustering, containers, and orchestration. Furthermore, we’re on the Cloud Native Software Foundation Landing page.
6 What is a container?
A container is a standard unit of software that packages up code and all its dependencies. Java has the slogan WORA — Write once, run anywhere — in a container, and we have PORA at Platform.sh — package once run anywhere. There is an excellent article that goes deep about containers by Larry Garfield.
7 What is wrong with Kubernetes?
There is nothing wrong with Kubernetes, it;s nice for container-orchestration, however, it is hard to maintain both the orchestration and containers. Platform.sh keeps it simple.here is a presentation where Robert Douglas shows how to containerize your cloud applications in a few lines of code without Kubernetes.
8 How about Java?
Platform.sh has support for several languages such as Go, Lisp, Node.JS, PHP, Python, Ruby, and, for sure, Java. Java containers have build management tools such as Gradle, Maven, and Ant. To point out, the JVM is polyglot, so if you wish, you can build and move your Kotlin application at Platform.sh.
9 What about the services?
Platform.sh allows you to use services such as Elasticsearch, MongoDB, Kafka, Memcached, MySQL, MariaDB, PostgreSQL and so on.
You can integrate those services on popular frameworks such as Hibernate, Spring and JavaEE/Jakarta EE. You can either use the Platform.sh library, which handles decoding of service credential information for you, or overwrite the configurations in the application file.ou can have that configuration specifically set to run in the cloud or default to run locally with frameworks such as Spring and Jakarta EE/MicroProfile.
10 Show me the code!
For sure, we have a lot of code to show you. Beyond the Java Templates ( a pre-made project skeleton to you starts your project), we also offer a series of articles with its respective code on how to use Java on the cloud with Platform.sh.
That is it, we end with frequently asked questions about how to move your application to Platform.sh. Have another question missing here? Contact us via Twitter or on Slack — our team is ready to help take your business to infinity and beyond the cloud.