DevOps #2: Any types of Cloud Service Should we know as DevOps Engineer
There are many Cloud-based Service model that we can use nowadays to deploy and develop our web or mobile applications. Cloud service or we can say Infrastructure Abstraction or popular word as Infrastructure as a quote. We can throwback a years ago to get a good point of view. First, we should order or buy an empty physical computer machine and wait for months. We placed the machine to a data centre to configure resources that needed. It will take a lot of times to build one computer machine as a server. Moreover, this kind of activity that consists of many many steps is done by people as well as a team by manually process. Differentiation of people preferences is also the hardest thing to integrate when we installed or build a physical computer machine as a server. There is no standardization that can we use if we implemented a dynamic application that can come and go quickly as explained in this linked article. We cannot easily change application capacity if there is a lot of request at certain times. Example, if we build an eCommerce that sell new outfit, on a certain time especially Eid season in Indonesia. We should increase our application capacity quickly to serve a lot of user request. And when the Eid season is ended, we must distribute previously increased excess resources to another specific process that need extra resources.
This kind of condition needs elasticity of cloud service. That means if we need more capacity or resource we can Scale Up by buying some hardware like extend a RAM or Scale-Out install new Instances again. And the hardest part is to Scale-In (decrease) capacity or resource if it isn’t needed anymore. We know there is some model of this Cloud-based Services such as IaaS, PaaS and CaaS. I will explain the service that I mentioned before.
- IaaS (Infrastructure as a Service)
Like VMWare, It’s drive people don’t think about IP Address, CPU, Accessible, Processor and OS because it makes an abstraction of all infrastructure that we need to build an app or websites. Digital Ocean is one of the popular IaaS cloud-based services because it provides many options like integration Amazon, Google and Microsoft Cloud Environment nicely.
2. PaaS (Platform as a Service)
PaaS is the kind of cloud service that offering us an infrastructure, external service (MySql, Redis, Kafka, SMTP server, etc) and runtime application (JDK, PHP, apache, ruby, Nginx, etc). We just decide what kind of application that we need. If you declare that you will create PHP application, then you just choose a feature that they provide to you. If you need additional database development you just can choose a to create a specific on this Platform as a Service, then you will get a database name, user and password instantly. Some PaaS service that has a popular name like Heroku, Pivotal, Bluemix etc.
3. CaaS (Container as Service)
CaaS is a one of cloud service that prepared to allows programmer or DevOps to upload, organize, scale, manage run and stop containers by using Container-based virtualization. Users can only place their attention on Container resources that they use. And it can be easier to scale up. There are many providers that involved to brisk this kind of cloud service, such as, Google Kubernetes Engine, AWS ECS, etc.
So that’s all the kind of cloud service that we must be more attention :)