Delivery Architect in Data Services Team at Capgemini Poland
Cloud or cloud technologies are becoming a universal slogan to solve all IT problems of today’s world. But is cloud always the right solution? I would say like any experienced architect, „it depends”. However, there are cases in which you should use the cloud. Here are five use cases where the cloud has far more advantages than traditional IT. Read in Polish >>>
Testing new solutions have always been a challenge. Purchasing additional infrastructure just for testing purposes was often beyond the IT budgets of many companies. As a result, testing took place mostly in environments that did not reflect the realities of the production environment.
The Cloud is delivered in the pay-as-you-go model, which allows you to build virtually any platform. What’s more, the set of services provided by the cloud also includes such elements as operating system licenses or database licenses. Thanks to this, we do not have to purchase not only the hardware but also the majority of licenses needed to create a specific IT solution. By planning the time needed for testing, we can determine what cost we will have to incur to conduct specific tests.
Another advantage of the Cloud testing is the very short time needed to deliver a specific platform. Cloud Services are available here and now because we take advantage of the hyper scalability of cloud operators and we don’t have to worry about having spare computing power, disks, public IP addresses, etc.
In conclusion, with Cloud Services we can easily execute:
- Functional tests
- Acceptance tests performed by end users
Time Definite Production Systems
Until the advent of Cloud Services, we were used to having to buy a server – either a physical one that stood in our server room or a virtual one for which we paid a fixed monthly fee. With the advent of cloud services, the need to buy a server that is on all the time and for which we pay all the time no longer applies.
Cloud providers bill the usage of server services on an hourly granularity and in some cases on a per-second granularity. Therefore, if our company works from 9 am to 6 pm Monday to Friday, why would we want to pay for a system that is on 24 hours a day, including weekends.
Using servers and systems only during the hours when our business is working requires a change in thinking, especially among the people using them. On the one hand, we will pay only for what our business needs, on the other hand, any additional work, overtime, etc. must generate in the management team the awareness that any such activity will generate additional IT infrastructure costs.
In my experience, this approach yields cost reductions. I have seen several small and medium-sized businesses that have not only reduced their infrastructure costs with this approach but also got rid of the risk of maintaining their hosting infrastructure.
Without own data center infrastructure
If you haven’t built your server room to date or don’t have a long-term contract to lease server room space from a service provider, then you shouldn’t do it now.
Before the advent of cloud services, every company had to build its server room, which could be a single room or, in the case of very large institutions, even a separate building. However, we should remember that while building our server room we need to take care of the following elements: power supply, air conditioning, and security.
- Power supply – is the most important service, the continuity of which must be ensured. Of course, there may be doubts that electricity is available everywhere and power failures are really rare. Yes, they are, but on the condition that we talk about low consumption. IT infrastructure consumes more and more power, which brings with it not only the need to rebuild electrical installations, expand the voltage sustaining devices (UPS), and ensure continuity by obtaining independent power sources (e.g. two independent suppliers).
- Air conditioning – the next step is the need for cooling. A single server is not a concern, but an entire rack can consume several kilowatts of energy. Therefore, we have to cool our server room, which consumes another portion of energy, and we have to have air conditioning, air filtration, etc. And all this has to work all the time, which consumes another part of the business income and allocates it to air conditioning service and energy.
- Security – this is the last and often underestimated element. IT systems store a lot of data including personal information, financial secrets of the company, etc. Therefore, a server room cannot simply be a room in a vacant lot and must be under constant observation and surveillance to make sure no unauthorized persons get into it. This is another cost and risk that our business does not want to bear.
In the last decade on the market some suppliers appeared who offer hosting services and rent space in server rooms, which minimizes the risks mentioned above to practically zero. However, there is one more issue – the time of repairs of our equipment. If we have opted for a hosting service, we still have some server hardware that someone will have to repair in case of failure. During this time, either our business will grind to a halt or we will incur the additional cost of purchasing additional servers and platforms to ensure adequate availability and reliability.
By choosing a Cloud solution, we not only get rid of all the problems that a hosting provider solves but also the problems with hardware repair. We buy virtual systems with proper availability, which is guaranteed by the cloud provider and it is the responsibility of the cloud provider to repair the hardware and maintain it.
A highly changeable business environment
Many processes in today’s world have accelerated significantly compared to the pace we knew even in the last decade. Without dynamic changes in our business, we are not able to remain a leader in our field. Since a modern business cannot do without ubiquitous digitalization and many parallel projects, modern IT infrastructure is essential and preferably in the here and now.
Hyperscalability and the global presence of Cloud providers is the main reason why huge enterprise-class companies decide to migrate to the cloud. In this case, the decision is not tied to a desire to cut costs, as cloud migrations can drive up costs per virtual machine for large corporations. On the other hand, it is associated with measurable business benefits such as accelerating projects and reducing the development time of own products.
Until now, in the case of enterprise-class institutions, projects involved months of planning, purchasing hardware, waiting for its delivery and installation in a server room or data center, installing software, and finally implementing a specific project. Today, thanks to Cloud Services, enterprise organization projects can skip three of these five steps. Once planned, software installation can begin in the Cloud environment, skipping the time spent shopping, waiting, and installing hardware. What’s more, planning can be much more agile because you pay for what you use, which, for highly complex projects, can involve experimentation before arriving at an optimal solution that traditional IT couldn’t afford. With Cloud Services, when we no longer need certain resources, we simply delete them and stop paying for them. In the traditional case, we would have to find a buyer for the hardware and licenses of the purchased software.
Delivering applications according to DevOps methodology using Infrastructure as a Code
If our business has applications delivered according to the DevOps methodology, and preferably ones that use the Infrastructure as a Code (IaaS) approach, then we can say with a high degree of certainty that we are already using cloud solutions.
Of course, Infrastructure as Code doesn’t always have to be provided by cloud providers, we can leverage container platforms like Docker Enterprise or Openshift, or take advantage of some orchestration tools when building virtual machines like Microfocus Operations Orchestration, VMWare vRealize Suite, or Hashicorp Packer.
Migrating the infrastructure for these applications to Cloud providers, however, has several key advantages. It frees us not only from the cost of licensing (Cloud providers provide container platforms based on their implementations) but also from unnecessary costs of maintaining the management part of containerization platforms – with cloud providers we pay only for the servers on which our containers run (worker nodes), while the costs of management servers (master nodes) are taken over by the cloud operator.
When it comes to Infrastructure as Code in the form of virtual machines, each of the cloud providers provides its tools that can be integrated with our DevOps process (e.g. Cloud Formation in the case of AWS, or Azure ARM templates in the case of Azure) without any costs or if we want to remain independent from the cloud provider we can use commercially available tools such as CloudBolt or Hashicorp Terraform.
Cloud Solutions are not a cure-all for our problems, but in some cases, they are a far better solution than traditional IT. Of course, migration to the Cloud and the use of Cloud Services is associated with many risks, but I will talk about that later on.