What is our primary use case?
Our primary use case involves engaging with users to gather their requirements. Once we have a thorough understanding of their existing application, we document their needs and proceed to modernize it using the latest technology, .NET Core. If migrating the application isn't feasible, we start from scratch while ensuring we preserve the user's business requirements. Following this, we carry out the development and testing phases. Once the user approves, we proceed with pilot production testing before making the application available online. This step-by-step process is executed in adherence to agile methodology, enabling us to expedite the entire workflow. Throughout the migration process, we sought assistance from Microsoft, particularly for our first-time experience migrating from an on-premises client environment to the cloud.
So far, we have successfully migrated application servers, web servers, and SQL servers from on-premises to the cloud. This transition has been a valuable learning experience for us. Notably, in the cloud environment, we utilize dynamic IP and refer to servers by their respective names rather than IP addresses. We also implemented the same security measures on the cloud as we had in the on-premises setup. These efforts have resulted in improved performance on the cloud, making our users satisfied with the upgrade.
Presently, I am involved in projects related to the CLS content management system for my client. They currently utilize their own tool called E360, which operates as an application server. However, this tool relies on outdated technology. Hence, our focus is on gathering requirements and migrating it to the cloud, while also incorporating additional features. As we complete the requirement-gathering phase, our next steps include development and subsequent testing, including society and education testing. Following the completion of these stages, the application will undergo user acceptance testing. This is our current progress.
What is most valuable?
One valuable aspect is the support we receive from Microsoft Azure vendors. We have encountered a few challenges, particularly related to security patches. Previously, we never experienced issues like those we encountered with our laptops after installing patches. It was surprising to see the servers facing similar problems. However, Microsoft's expertise and guidance have helped us overcome these challenges by following best practices.
In terms of performance, Azure is fast due to its robust framework. It efficiently handles heavy incoming traffic, demonstrating its intelligence by ensuring smooth operations without crashing the application or server. Occasionally, network balancing may cause minor disruptions, but overall, Azure performs reliably even when deployed on the cloud.
What needs improvement?
When it comes to old applications, they may not be the most suitable environment for Microsoft's current focus on Azure and the latest technologies. It would be helpful if Microsoft could provide some guidelines or recommendations for transitioning from old to new. Currently, there is no established practice in the market for migrating from outdated technologies, and each company follows its own approach. At our company, we have devised our own migration process, involving a mix of traditional integration, following HI methodology, and transitioning from text services to virtual services. While Azure is suitable for modern stacks, there is still room for improvement when it comes to handling legacy systems.
In my opinion, Microsoft should offer guidance on how to migrate from old technologies to new ones since the old technologies were also developed by Microsoft. Although they may have reached their end-of-life and end-of-support stages, it would benefit developers to have support for these old technologies.
At the very least, Microsoft should provide a clear path for migrating from old technologies to new ones. Since the old technologies were originally developed by Microsoft, they should offer support, especially considering that these technologies are still used by companies like Linea, with whom I am currently working.
For how long have I used the solution?
I have been working with Microsoft Azure Data Box for the past three years.
What do I think about the stability of the solution?
We are still testing the stability. So far, the stability has been good, except for the patching issues.
I would rate the stability a nine out of ten.
What do I think about the scalability of the solution?
Scalability largely depends on the day-to-day incoming requests. For example, on the first day of the week or month, when people tend to make more purchases, the server needs to scale up to handle the increased traffic. We have purchased enough resources to accommodate the average user's requests.
However, for any exceptionally large incoming requests, we have our own monitoring team that manually or through a hybrid approach, scales up or down based on the incoming demand.
It seems that scaling is more feasible in the cloud compared to on-premises. That's definitely a plus. This feature is not available on-prem; it is available online, allowing us to easily upscale the processor speed or hard disk space to handle incoming requests with just a few button clicks.
From a developer's perspective, I would rate the scalability of this solution around eight out of ten.
Our organization has over 200 users using this solution. We are planning to increase the usage of the solution.
How are customer service and support?
We have purchased the license. So, we have the integrated support team, but based on the support and the reply back is 48 hours. Mostly, we get a reply from Microsoft within 24 hours. So I would say it is not bad.
How would you rate customer service and support?
How was the initial setup?
The initial setup is very straightforward. Since Azure is a hybrid cloud that we use, I would rate my experience with the initial setup a nine out of ten, with one being difficult and ten being easy.
Personally, I don't find it challenging because most of our front-end and back-end technologies are provided by Microsoft, so Azure is a natural fit for us. Therefore, I would rate it ten out of ten.
What about the implementation team?
Deployment is not as easy as I'm just one team member. We have other teams involved, such as the network team, DNS team, and access management for server-to-server communication.
As a web service, it defaults to a database server. However, if someone requests or approves your service, they need to have website access. So deployment is mainly related to ID management and the network team. From what I know, it seems fairly straightforward. However, there are documentation and management approvals involved in the process.
Currently, we haven't implemented DevOps yet. Currently, everything is done manually because we have all the necessary teams available, and we prefer manual processes, at least for the first time. DevOps is only supportable when the server already exists. But in the case of a project like migrating from an old file server to a new cloud server, I don't think DevOps is really useful at this point in time. That's why our company decided to assign each team member to each goal to ensure successful server migration.
Deployment usually requires one to five team members from each team. In our case, we have one person supporting the internal team, and we recently added another role called "Hunt Call" for the migration. So each team consists of four to five individuals to make sure this deployment happens.
What's my experience with pricing, setup cost, and licensing?
Since I deal with migrations from old to new technologies, I have to consider the cost implications of both. In terms of application modernization, I would say it falls around eight to nine on the pricing scale, with one being cheap and ten being expensive. That's what I can expect for this type of project.
What other advice do I have?
Many companies are embracing Azure for its cutting-edge technologies. My recommendation would be to utilize Azure's own DevOps tools rather than external ones. When you purchase Azure, it already includes Azure DevOps tools licenses. If you opt for external DevOps tools, you may need to acquire separate licenses and learn non-Microsoft tools like Jenkins. In simpler terms, Azure DevOps is very user-friendly; with just a few button clicks, you can create a CI/CD pipeline and more. So, I highly recommend using Azure Data Box, especially if you're already using Azure DevOps.
Azure is one of the leading cloud platforms. It holds significant importance, especially considering Microsoft's extensive language support. Based on that, I would rate it nine out of ten. It's a very good solution.
Which deployment model are you using for this solution?
Hybrid Cloud
*Disclosure: My company does not have a business relationship with this vendor other than being a customer.