Recently my team needed to plan an infrastructure for a growing project. The increment of new functionalities was so large that finding a cost-efficient way to host the project became one of the main challenges we had to face. Another issue was that we had to migrate a huge amount of data from a legacy system.
On-premises infrastructure generates substantial initial costs (IT staff, software licenses, hardware). It’s not as flexible as your Agile-driven project and cannot evolve quickly when your business grows. That is why we decided to host the project in the cloud. We opted for Microsoft Azure, the best solution in our case. What made us take such a decision?
Hosting your project in the cloud you don’t need to hire IT stuff to take care of your servers or pay for software and hardware upfront. We knew that the solution we chose would allow our infrastructure to grow together with the project. It gave us both scalability and flexibility. We could get prepared for growing traffic as well.
In case you are not familiar with Microsoft Azure yet, do take a look at my post. I tried to briefly discuss the main features of the platform. The knowledge of the major advantages it offers may come in handy when you will have to choose a cloud solution for your own project.
What is Microsoft Azure?
Microsoft Azure is a collection of integrated services such as webservers, databases, virtual machines, storage and more.
How is it different from on-premises infrastructure?
- You pay-as-you-go – which means that you are charged per minute so you don’t need to pay upfront for the whole month.
- Maintaining the infrastructure is simpler – you can achieve the same results putting in less effort – Azure takes care of most common scenarios so you don’t need to configure everything from scratch.
Azure develops both Infrastructure as a Service (IaaS), Platform as a Service (PaaS) and Software as a Service (SaaS). It gives you flexibility and it is up to you on which abstraction level you want to work.
IaaS gives you the best flexibility but requires IT staff to spend more time managing it.
SaaS is a ready to use hosting environment which brings easy scalability and highest availability.
PaaS is a point in between. You still need to spend some time to configure it but it gives you more flexibility than SaaS.
1. It is scalable
Do you want to run a marketing campaign but you are not sure if your infrastructure will handle the traffic? Not an issue anymore.
With Azure you can simply add more computing power when you need it and scale it down when you are done. It can be done almost immediately and again – you don’t need to pay for a fixed period if you don’t want to.
Moreover, Azure can keep track of the traffic on its own and adjust the power automatically to give you best efficiency without generating too much costs.
2. It is secure
Data security is crucial for any business. Azure is made of several hosting centers located around the globe. You can back-up your data in different locations making it secure even in case of a major disaster.
Azure won’t leave you too much room for human errors either. You should always be concerned about hackers trying to get to your data but Azure already provides you with tools to keep them away.
3. It is reliable
Reliability is as important as security. Azure provides ready-to-use failovers and load balancers to make sure that your online solution won’t experience downtimes.
You can also deliver your services worldwide by placing them in datacenters located in different regions. This ensures that customers from US won’t need to connect to servers located in Europe and vice versa.
4. It gives unlimited possibilities
Another advantage of the cloud hosting is that you can approach problems differently. Instead of spending hours trying to optimize the process you can do things faster by using almost unlimited power. In the cloud you are no longer constrained by hardware configuration and time needed to set up a server farm.
5. It offers advanced solutions
Advanced solutions may make use of Azure Software as a Service (Saas) products such as Machine Learning, Stream Analytics and Power BI to get better insight into data. Developing such services from scratch requires a lot of time and development power.
With Azure you can start analyzing your data in hours rather than weeks… and make better business decisions much faster.
6. It enables a step-by-step migration
Is not always possible to migrate a complete solution to the cloud. The migration process is usually triggered by growth which can’t be handled by existing infrastructure anymore. This happens to more sophisticated systems. They already have dependencies on components which can’t go to the cloud immediately.
Fortunately, you can migrate your solution step by step and leave some components on-premises till they are ready to migrate.
Hybrid solutions may also work for you if you need software working with services that will never be ready to go to the cloud.
To sum up, the cloud-first approach is worth considering when you develop a green-field project. This will cut your initial hosting costs and let developers use features and technologies they wouldn’t be able to use on on-premises infrastructure without spending much time configuring services and managing them later on.