What is our primary use case?
I work with our enterprise architecture. In my network, there are almost 400 total applications. I have been working here for almost six months on a network migration and in those six months, I have been working with many of those applications that have been included with the involvement of Azure in the migration.
We are migrating everything from the old network to a new architecture. There are multiple teams that I work with and people work with me throughout the organization. I review all the target architectures and the deployment and everything that comes along with the pieces of the migration that involve Azure. Any issues, large or small, I have to look into. These issues might be simple certificate issues or they may involve multiple interfaces that need to be used for a solution.
Because we have a very complex system, it is not easy to complete the migration. The landscape also has a mixture of different technologies and platforms. If I have to customize, I just get a Terraform script or ARM template from a developer who is assigned to that task. I review all that stuff that they give to me.
When we went to the version of Azure that we use now, there are certain solutions that we created. If we had trouble, we worked with Microsoft to create that solution for our organization and the problems that needed to be solved.
We define our own solutions with Microsoft that are not available in the open market. Because of the way we have used Azure, we do not really have a very focused end-product. It is a highly customized product that we have built using many tools.
Azure is now a mixture of solutions. There are certain applications, which are IaaS (Infrastructure as a Service) applications, where we just go and use them. Then there are certain applications that are a mixture of IaaS and PaaS (Platform as a Service). For certain parts, we use private clouds, public clouds, or hybrid clouds. We originally wanted to use more public clouds, but as we proceed, we are moving into more hybrid mechanisms. In the future, I don't know exactly what direction we will take because the technologies and the climate are changing so quickly.
But right now, we are only using Azure with images being created from the existing architecture. For Azure, we use private cloud, public cloud, and mixed, or hybrid cloud as needed and all of these work together.
In the future, we may go for some specific function-based services or even open-market APIs. We can use open APIs with Azure. API management is also possible. So there are a lot of permutations and combinations that go with each application based on sizing and NFR (Non-functional Requirements) validation.
For Microsoft Azure, we use the product itself as a platform, I work mostly with their services. These can be PaaS services or DNS services, monitoring services, storage services — basically all the supporting services that are available to us with Azure. Anything that is not available, we try to build on PaaS. If the services we want are not available, I have to do a complete fabrication.
So we use mostly PaaS services for most of the supporting services and then we work further in solution optimization, which is something we can accomplish through Azure. Ultimately all that depends on the budget. If a company is ready to spend on a cloud solution, an ROI (Return on Investment) model helps. The amount of customizations and the real need for a solution comes out of the realities of the ROI.
Our contracts are based on supplying solutions for what the customer needs. If they have selected that a particular application will be available and make this a system mandate which we have to flow, then we have to keep those applications. Azure is one of the tools that we are using to help make these kinds of customizations and to meet their expectations after the migration.
How has it helped my organization?
Azure gives us a different form of PaaS to work with during our migration and helps us to meet multiple requirements that current solutions do not provide in any one product.
What is most valuable?
One of the most valuable things about Azure, I think, is that it is pretty straightforward. There are well-defined processes and it is not a bad product to work with. I only work on Azure right now most of the time. I cannot directly compare it with other solutions in the present situation because it is not always practical to consider every solution. Certain platforms on the market are very strong with other services. For example, Kubernetes on RedHat Openhift is better for working with AWS. But I have to ask from a usability, a complexity and a budget standpoint if that is really required.
If I do my work and my applications are sorted out well in advance, I do not have any issues. From a user perspective — not from a cloud architect or enterprise architect perspective — my requirements are being met. As long as these requirements are met, I do not see anything as a showstopper. If there is a showstopper which I think I absolutely can not solve with Azure and I think another solution would handle, then possibly we may go into a multi-cloud scenario.
That is also a limitation for our organization. The goal is never to seek complexity. Personally, I think there is no direct comparison between what solution is better and what solution is worse. There are only solutions that work or are capable of doing something and those solutions which can not do it, or were not designed to do it, or do not want their product to do it, et cetera.
Part of my place in working with these solutions as part of my process is working with products I am comfortable with. So the more that I use Azure, the more comfortable I get with what it can do as a solution, and the more comfortable I am using it. If I started using AWS more, I would get more comfortable with AWS and maybe incorporate that more heavily in the solutions.
What needs improvement?
There are some small things that could be done to improve Azure. I think they should actually do more to implement function as a service. It is a completely separate capability that they currently do not address. Function as a service can be a completely different scheme altogether than PaaS or IaaS which it does quite well.
For an example of a FaaS, I think the Azure product can be stronger in terms of storage. I would like to see it have better management systems as a service specifically for managing documents. Right now they are handled as a more generalized object.
Say Azure came out with Microsoft Document Management and it was very strong as a service. It would not have to be deployed as a complete infrastructure. I would be able to use that as a service inside my organization and it is a product that any organization can use.
The question is what is the separate USP (Unique Selling Point) that Microsoft will provide to the user that would fit a unique need when making FaaS solutions available. Document management systems have already been proven to be very popular by Google. Microsoft Office uses OneDrive storage. There may be a better way to promote document management in a more general PaaS. Sometimes it is very useful to virtualize a platform or an infrastructure, but in the same way, it is sometimes valuable to virtualize a function. Applications may be a collection of functions.
It is this type of branching out of services that Azure can do within the structure they already have.
They are targeting Azure into specific domains and not working as much with open-source as they could. That would be helpful. I think eventually this approach will just drive the competition away. If I have a product that is very good for manufacturing as a function — something like is being done with Edge — it might be beneficial for Azure to be able to tie in this FaaS and let manufacturing clients start working with the solution without having to reach outside of Azure. Right now that I do not see that happening and it is an opportunity that Microsoft is missing with Azure.
For how long have I used the solution?
I am responsible for designing our migration, so I have to work with Azure to define the parts of that solution. I had previously been using AWS mostly for personal services so I was familiar with PaaS platforms, but I have now also been using Azure exclusively for the last six months to supplement the functionality we require.
What do I think about the stability of the solution?
The product is stable. There are a few qualifications attached to that.
I think the stability of Azure varies depending on the workloads. It is more stable from the perspective of how it behaves in a mid-size deployment. For a very, very large implementation, I have yet to see that same kind of inherent stability. I believe it is because of the complexity of the client's system or architecture.
You may be able to say that if it is more of a Microsoft product landscape, then possibly it is more stable in general. The more that there is a mixture of technologies, then it will tend to be less stable. No application can be stable in every circumstance.
As the project I am engaged in is very large, we have experienced some episodes of instability. We solve the stability problems as we go along to a great extent. But I think there are a lot of situations that have to be dealt with in real-time. Though we have direct contact with a Microsoft team architect, it is difficult for them at times to just jump in and solve an issue. You can not usually solve a problem instantly looking down at it from 55,000 feet when the situation on the ground is very, very complex.
At first, they only have generalized solutions to your problem. I think they need an extension of the existing team. This would be like a core team to work with client organizations to do case studies to define patterns in what is causing instabilities.
Because Azure is cloud technology and cloud comes with its own problems, these bleed over into Azure stability. All these patterns that contribute to instability have to come out in order to be solved. As Microsoft collects more case studies and more knowledge of where these problems tend to occur, this should enable them to stabilize the product against those issues.
Overall, I would say Microsoft Azure is a stable solution, but even as a stable solution, it usually has some bugs or glitches.
What do I think about the scalability of the solution?
As of today, we have almost 1,000 people using the solution. We have a very big migration project that will last for the next four to five years before it is completed. They have many applications and many users for those applications. If the volume of users or applications were to scale, that should not be a problem.
How are customer service and technical support?
I do not really have much direct contact with the Azure or Microsoft support teams. We have a separate team for that. I have a great architect that I work with here (Sweeden). But if an issue comes up, the application team goes to work on it to support the resolution. It is their option to contact Azure to raise that issue or resolve it themselves.
Which solution did I use previously and why did I switch?
I was using AWS before Azure, but I was using it mostly for my own personal needs. I was deploying my own applications. I used it for about two years but not from a company perspective. I deployed my own applications in the public cloud and loaded them there for use at a personal level.
In the company right now, I am only using Microsoft Azure. The company itself is using everything, really. At this point, my experience in the company is specialization as the person who is helping to utilize Azure.
How was the initial setup?
The initial setup was simple and it is simple for a simple application. If I want to build with a simple application, I simply go do that. But if I have a very heavy interface-based application, then the choices become more difficult and involved.
If I have a WebSphere application, that is easy. A complex platform or a complex interface dependence becomes difficult to implement because of restrictions. If I can not simply go and deploy as it is, obviously it is more complex to deploy in the system.
For a small company with a typical landscape of Microsoft technology, it becomes very easy to work with Azure. It is possible to go through that setup by yourself and test your servers and the entire functionality.
After deployment, you will require maintenance. We can not simply have a production list and push everything out. You need pre-production, testing, and then deployment. All that has to be done on Azure.
There are a lot of things you will have to work out with security certificates. Meanwhile, things keep on changing in the product itself. New upgrades keep on rolling out. If the old version does not support the new upgrade, then you will need to get involved with patching and other upgrades to take care of the issues that are introduced.
We have a dedicated team for maintenance. We know we need to do testing and that is why we created tasks for that. But, generally, I think complexities in the setup depend upon what applications you are building. Simple applications and simple systems make for simple deployment.
What about the implementation team?
We are working with the vendor directly. We also have contacts with Microsoft. Microsoft directly provides us all the tools and information we need for implementations.
What's my experience with pricing, setup cost, and licensing?
The pricing of Azure depends on the build of what you prepare. You can optimize everything, and with Azure, you can optimize your utility and costs. For example, say you create a subscription and you want to do more backups and you want a private cloud for that. This will affect your cost differently than if you do not add the backups with Azure or if you add the services with a public or hybrid cloud.
We have very good, large contracts with big organizations. We do very high-level analytics and modeling to predict outcomes. For example, we may show that a certain solution that we implement with Azure will be likely to reduce a company's cost from the current level to 50% over the next five years. That, to me, is important when considering the cost of a subscription. It is not just the cost perspective that is important, but the ROI as well.
What other advice do I have?
I would definitely recommend Azure as a solution because it is a popular product by a major brand and it is very easy to use. I think those people I would recommend it to should normally be those who understand the cloud and the advantages and disadvantages. I use it for a lot of things and I do not see any problems. I love it now as a solution so I would recommend it. But if I have a different experience with another very large migration project using a different product, I would have to compare Azure with that. I may get more comfortable with the other product for reasons I have not discovered yet.
On a scale from one to ten where one is the worst and ten is the best, I would rate Microsoft Azure as a seven-out-of-ten. It is a good product and I love using it but it could do even more and has a lot of possibilities to grow as part of a relatively new technology. The future is more open than closed to the possibilities.
Which deployment model are you using for this solution?