The world we’ve known in recent years is changing a lot. It forces us to change our habits as well as the ways in which we work and carry out our daily duties. Both professional and private. The circumstances in which we have to live meant that many people now work remotely. It’s great comfort in these crazy times, and the Home office has become a full-fledged place to work. This change doesn’t come easily to everyone. For companies that have begun the evolution towards digital transformation, adaptation to new conditions should be much easier than for those that haven’t done so yet.
Working from home is the safest solution right now. Unfortunately, sometimes it means limitations. Currently, virtually every company uses a variety of new technologies. For efficient operation, it uses servers, applications and offers services available online. Are they also secure when we have limited access to them? Let’s take a closer look.
Traditional Data Center
Large companies and corporations often use their own data centers. It gives them apparent security and the feeling that they have full control over IT issues. However, for the proper operation of the Data Center, both hardware and people who will manage it are needed. Their absence (associated with, for example, a disease) may affect delayed response to incidents, and in extreme cases even the unavailability of servers. Furthermore, in situations where leaving the home is inadvisable, it’s worth considering a solution that will allow to perform our duties remotely.
Not only staffing problems associated with the current global situation may affect the continuity of data centers operation. Accidents, infrastructure failures on the part of our DC, and in extreme cases natural disasters can also cause interruptions in the services delivery, the duration of which we are not able to predict.
Is there a solution for this?
Is there a solution that removes the problems of our digital business? Not really. There’s no such thing as perfect solution. However, there is something that can significantly simplify our lives. I mean cloud.
A properly designed cloud infrastructure with a properly implemented security policy and developed disaster recovery solutions is certainly able to protect us from the consequences of various unforeseen events. How? I’ll explain in the next few paragraphs.
Earlier I mentioned problems that may appear in the data center. Let’s face it, servers are the foundations on which we build our digital business. They provide the environment to run our applications. If the servers have problems, even the most perfect app will stop working, and our company will suffer losses. To prevent this from happening, we can move them to the cloud.
Infrastructure as a Service – fault tolerant servers
How can we do this? Let’s apply the concept of Infrastructure as a service (IaaS). Let’s replace physical devices with virtual machines (instances). Cloud vendor server rooms (public cloud providers) are powerful complexes spread over a large area. They have thousands of servers, their own internal network and many power sources.
Obviously, you might think that the instance is running on a specific physical server and it may also crash. Yes, it may happen. However, the solutions of key cloud providers such as AWS, Microsoft Azure or Google Cloud Platform are designed in such a way that in case of failure of one of the hypervisors (tools for managing virtualization processes) your instance could be launched on another and continue to work.
Moreover, due to high availability solutions and cloud computing flexibility, the entire server room of a given provider may hypothetically break down and your services will continue to work. This is due to the specificity of these complexes, which consist of several distributed data processing centers. Assuming even the darkest scenario and a powerful cataclysm that turns off one of these complexes (regions) in which you had your resources located, you’ll still be able to function.
Sticking to traditional solutions, in this case you should rent servers in a another data center, order your administrators to install systems, prepare environments, and then start the tedious process of restoring data from backups. Of course, as long as backups are available…
Cloud solutions in this situation meet your needs. By developing the IaaS model, we can describe our entire infrastructure as code and store it in the repository – using IaC (Infrastructure as code). As a result, each instance, database, load balancer or object-oriented data storage that you’ve used so far in region A can be restored in region B in a very short time. All this thanks to unification and a certain layer of abstraction.
The cloud makes us independent of the hardware. For us, every vendor server room, every region is exactly the same. It doesn’t matter what the hardware is underneath. Thanks to solutions such as AWS CloudFormation or HashiCorp Terraform, our infrastructure can be restored in virtually any region in the world with a few clicks.
You don’t have to worry about the data either. Object storage, like AWS S3, guarantees data durability of 99.999999999%, which means that data can practically not disappear. Moreover, you are able to store the same files in several regions around the world, for instance in Europe and Asia, which further excludes the risk of losing them (for example, as a result of a major disaster). Therefore, even when the darkest scenario comes, you’ll be able to get back to work and run business as usual within a few hours at no extra cost. This is a huge advantage of cloud computing over on-prem (traditional) solutions. No classic solutions will be able to provide such flexibility and reliability.
How to prepare applications?
Okay, so when it comes to infrastructure, we’re secure, and what about applications? Here cloud service providers provide us with solutions that will facilitate the functioning of our digital business in times of crisis as well. How? Offering PaaS (Platform as a Service) and SaaS (Software as a Service) services. How do they affect our business?
Let’s assume you don’t have a Data Center or a full-time administrator. You simply host your app and use third-party services that provide you with the necessary runtime environment. It’s this external entity that takes care of server maintenance, system administration, their ongoing patching and compliance with legal regulations. In such a prepared environment, your programmers run an app that performs specific business functions and provides revenue to the company.
Platform as a service – solution for harsh times
In times of crisis, it’s crucial to secure yourself in as many ways as possible. If you’ve so far used the services of a small company, which usually fulfilled its obligations very well, you cannot be sure how the global crisis will affect the quality of its services. Will the SLA be met? Will any performance issues reported by your customers be properly resolved quickly? Unfortunately, none of us can be sure. Cloud operators, whose offer includes services in the PaaS model, meet these expectations.
Each of the three main players has such a service in their portfolio, for example AWS Elastic Beanstalk, Google App Engine or Azure App Serivces. What’s this? In short, they are predefined and unified runtime environments for various technologies such as Node.js, Python, Ruby on Rails, Java or .NET. When deciding to use one of these services, all you need to do is choose the right amount of resources needed for your application.
You also don’t have to worry about choosing too few resources, as the PaaS model solutions allow you to scale, so your app’s runtime environment can adapt to current traffic and grow or shrink as needed. You don’t have to worry about updating the operating system, its administration, or compliance with legal regulations. In a shared responsibility model, it’s all the responsibility of the vendor, and you remain responsible for your app and data. Thanks to this, you can focus on business, application development and providing added value to the customer.
Often at this point there are also issues with a problem called vendor lock-in, like dependence on one supplier. However, is it really a problem when using the PaaS model? The app is still managed by you, it’s built based on known and usually OpenSource frameworks or technologies like Node.JS, Django, .NET etc. Applications created in such technologies can be run at any vendor who offers a runtime environment for them as part of their services. Therefore, if your current cloud provider starts to have problems or doesn’t meet your expectations, moving the application to another platform won’t be a problem. A certain layer of abstraction introduced by the service provider means that it won’t matter what is „underneath”. Runtime environments for technology X will be very similar, if not identical, for each of the cloud service providers.
Software as a Service – apps provided by the provider
Are these already all the amenities that the cloud offers? Of course not. I mentioned a little earlier about the SaaS model, meaning Software as a Service. What is it and how can it be useful to us? Simply put, it is an application delivered entirely remotely by a given vendor. To use it, usually just a web browser or client application is sufficient.
All business logic and data are on the provider’s side. We do not have to employ administrators, programmers etc. to efficiently use the applications provided in the SaaS model. A simple example of the use of this type of solution is e-mail. Each company uses e-mail, although the service itself is provided in several different ways:
• You can have your own server room with an e-mail server.
• You can buy a regular hosting account from one of the providers of this type of service and it plays the role of a mail server for your company.
Each of these options has one major drawback. A single point of failure that can deprive your business of such a basic tool as email. It doesn’t necessarily have to be a failure in terms of hardware or software. These may be staffing problems, administrator illness, or hosting company issues. The cloud allows us to function continuously even in such a simple case.
Everyone knows services such as Gmail or Outlook.com. Although not everyone knows that they have their counterpart targeted at companies. These are the GSuite and Office365 packages – so it’s not just an office package. They provide highly available e-mail, as well as a number of accompanying services, which may seem inconspicuous, but they can be a very important element in many companies.
These are also internet storages such as OneDrive or Google Drive. Companies often share network resources either publicly or on VPNs. These are various types of Windows network shares or even FTP servers. However, these solutions have many disadvantages. FTP has long been considered unsafe, while VPN-mounted Windows network resources may have performance issues. We observe this especially now, when most companies have introduced the obligation to work remotely for the health of their staff.
In recent days, internet connections are getting red hot. An average company cannot afford gigabyte connections from several operators at once, be it for cost reasons or simply common sense. Such extensive connections are simply not needed on a daily basis, and maintaining them just in case is not economically defensive. However, for a small part of the cost of such extensive connections, we get virtually unlimited cloud storage. With extensive data access management options, redundant links on the vendors’ side that allow you to use company resources anywhere in the world without sacrificing performance.
Home office in the cloud
The solutions described earlier facilitate running a business in times of crisis and allow stable operation of the enterprise. However, these are global solutions that affect the entire organization. However, are there any tools offered by vendors that are designed to facilitate the work of employees who, for various reasons, are forced to work from home or elsewhere in the world? For this purpose, DaaS services (Desktop as a Service), were created. Due to such solutions, an employee can use company resources from any device anywhere in the world. Furthermore, the entire process is extremely secure because no data is stored locally on the employee’s computer. An example of this type of service is Amazon WorkSpaces.
Thanks to it, we can make available virtually an infinite number of virtual desktops to our employees, all in a convenient Pay As You Go payment model. Some will probably notice that such solutions already existed under the name VDI (Virtual Desktop Infrastructure). However, their main disadvantage was the need to invest in their own infrastructure and its maintenance. The aforementioned problems that may affect data centers in times of crisis will also negatively affect the operation of our VDI services. Moreover, we constantly incur the cost of on-premise solutions. Regardless of whether we use them at the moment or not. Another problem that concerns classic VDI services is their scaling. Even if some employees take advantage of the possibility of remote work, will our infrastructure withstand the load generated in a situation when all employees will have to use it at once? For DaaS solutions, this problem is much less likely.
If we have already provided remote work opportunities for our staff, how can they work together? Does the cloud provide solutions that allow further work together for project teams? The answer is again: yes, and I’m going to use the example from Amazon’s portfolio – the WorkDocs service. It’s a service that allows to fully manage collaboration and the creation of various types of content. Thanks to WorkDocs, team members can work together on documents, edit them together, and their leaders are able to control task submission and approve changes.
Furthermore, this type of services, like the aforementioned network drives, can replace local data storage located in companies. This allows collaboration and content delivery for team members scattered around the world. What’s more, every employee can use a native application for their operating system and work on files as if they were locally on their computer. As a result, the process of adaptation to new solutions will be extremely fast and shouldn’t reduce the productivity of teams in case of a sudden transition to total remote work.
With the above article, I would like to draw your attention to several aspects in which the cloud can facilitate and even enable your business to operate during a crisis. It doesn’t matter what the crisis will be, whether it’s the present one associated with the coronavirus or any future one that is difficult to predict now. However, it’s worth thinking about how to prepare for it now. Public cloud computing offers a number of tools and services that allow to free ourselves from the problems that may be encountered by a “small player”. In this case, the saying „the bigger the better” works in a positive sense. Due to the scale effect, cloud computing leaders are able to provide us with solutions that we couldn’t afford. Thus, using the potential of companies such as Google, Amazon or Microsoft, we’re able to prepare our business even for the darkest scenario from a technological point of view.
I’m aware that I have only presented some of the possibilities and advantages that the cloud brings. There are many more and they can be adapted to the business problem that your company is facing. You can help yourself by using Machine Learning, Big Data, Artificial Intelligence or IoT solutions. If you’re having a problem that I haven’t mentioned, contact us. We’ll try our best to help you.