In today’s tech-driven world, the Cloud-First approach has become the norm. If you haven’t yet considered moving your existing systems to the cloud or integrating cloud services into your software architecture, you’re missing out on opportunities to enhance agility, reduce costs, and gain a competitive edge.
I recently had the pleasure of being the keynote speaker at the Global Azure Bootcamp Montevideo , and this article is inspired by that presentation.
What is Cloud Computing?
Gartner defines cloud computing as: ‘A style of computing where scalable and elastic IT-related capabilities are provided ‘as a service’ to external customers using Internet technologies’. The cloud has five key attributes:
- Service-based: It abstracts consumer concerns from provider concerns through service interfaces.
- Scalable and elastic: Services can scale on demand by adding or removing resources.
- Shared: Services share a pool of resources for economies of scale.
- Metered by use: Services are tracked using usage metrics, enabling various payment methods.
- Internet technologies: Services are delivered through the use of Internet identifiers, formats, and protocols.
To make the most of these cloud attributes, you need a well-thought-out strategy for migration. Every company must decide how to leverage the cloud, focusing on three primary approaches:
- SaaS (Software as a Service) solutions offer time and cost savings. They enable you to access software applications via the internet, cutting down on installation and maintenance efforts.
Extending Your Current Infrastructure with the Cloud: This approach involves integrating the cloud into your existing infrastructure, making your systems more agile and cost-effective.
- Higher-Level Services: Leveraging higher-level cloud services provides out-of-the-box solutions for common scenarios that can be adapted to your specific business needs, enhancing innovation and cost-efficiency.
By working on these three areas is how we really can transform our business.
Why Microsoft Azure?
At Kaizen Softworks , we are firm believers that Microsoft Azure offers one of the most comprehensive cloud solutions. Gartner has recognized Microsoft as a Leader in three Magic Quadrants of the Cloud: Cloud Infrastructure as Service, Public Cloud Storage Services, and Enterprise Application Platform as a Service.
Microsoft’s SaaS solutions, such as Office 365, Microsoft Dynamics, and Power BI, are deployed globally and used by millions of customers.
For the other two cloud approaches, Microsoft Azure comes into play. Azure is a comprehensive cloud platform offering both higher-level services and infrastructure.
Amazon Web Services (AWS) is a great IaaS, but they don’t have SaaS, Salesforce has SaaS, but no IaaS, and the examples keep coming. By using a Cloud that covers all the three areas is how we can truly find the value of being agile, save money and integrate smoothly to transform our business.
Azure has a distinct advantage with its 34 regions , doubling what Amazon Web Services provides, and more regions are continually being added.
Azure's Foundational Pillars
Azure is built on three foundational pillars:
1. Choice and Flexibility
Azure provides an array of tools, technologies, and frameworks to choose from. You can select the best tools, programming languages, and platforms for your specific needs.
Having every Server OS including Linux with 12 different distributions, almost every DB system, so many different programming languages and platforms allows us to choose the best tool for the job and use the open source or commercial version on a case by case.
Here’s some of the tools and frameworks we can choose from:
We also have something very particular and unique to the Azure cloud, this is the Azure Stack. With it we get the same experience and power of the public cloud but on-premises or on a server provider hosting service.
Same management portal, same APIs, same apps and same DevOps experience. For government and other companies with particular needs and restrictions this is a huge deal. No other Cloud provider has this type of service.
2. Enterprise Ready
Azure boasts a multitude of compliance certifications and standards, making it a preferred choice for 85% of Fortune 500 companies.
Security and Privacy are key to enterprise customers and Microsoft has vast experience running online services developing industry-leading security measures and privacy policies.
These are just a few, but you can check them all:
3. Productivity
Azure focuses on productivity, allowing teams to work seamlessly with integrations between various tools, services, workloads, and infrastructure, creating an efficient DevOps lifecycle.
Using Visual Studio Team Services (VSTS) SaaS solution, we can code on a PC or Mac, using Visual Studio (and even Visual Studio for Mac — in preview), Eclipse or XCode; any IDE, any platform, any language, a SaaS solution used by more than 4 million developers worldwide.
We can have all the private repos we want using Git or TFS, without paying anything additional, or we can integrate with our repos from other platforms like GitHub. VSTS offers a full DevOps cycle with build service, deploy and unit testing; and you know what else? We can compile Java, Android, .NET and some more.
After we passed our Unit Tests we can do some Load Testing simulating thousands of users hitting our web app or backend before moving to a Production environment.
Once everything is tested and ok, we can establish and use our own release policies and deploy our apps and backends to the Azure Cloud. While in Production we can use Application Insights to study the performance of it and keep the cycle running.
Azure Success Stories
The numbers speak for themselves:
- More than 120,000 new Azure customer subscriptions are added each month.
- 1.6 million SQL databases run in Azure.
- Azure processes 2 trillion messages per week through Azure IoT.
- Azure serves 600 million Azure Active Directory users from 5 million companies.
- Over 4 million developers are registered with Visual Studio Team Services.
- Over 40% of Azure’s revenue comes from startups and ISVs.
Real-World Azure Applications
Now, that’s some serious numbers but I also want to share some cool stories I heard from Scott Guthrie. Azure has been a game-changer for various industries:
AccuWeather, probably the biggest weather company out there, uses Azure to process more than 10 billion data inputs per day and 7 trillion unique data entities where they apply Machine Learning to be able to predict weather, not to mention they are using API services to sell this info to third parties too.
BMW built the whole ConnectedDrive platform using Azure technologies like Azure IoT, Machine Learning services, Data Services and many more.
Rolls Royce, well known for its cars but also for making flight engines are providing their customers a better experience by informing them of engine failures, preventing fails, predicting them, applying analytics and optimizing engine use.
All this by using Azure services like the IoT Suite, Cortana Analytics and Power BI, this last one used to analyze fuel consumption and suggest better routes that optimize it.
Azure App Platform
Azure’s App Platform offers Web Apps, Mobile Apps, Logic Apps and API Apps. You can develop your apps in any language like Python, NodeJS, PHP, Java and .NET.
Azure offers features like:
- Auto Patching, which means we don’t have to care or worry about updating the Operating System they are running on.
- Autoscaling, which allows us to configure some rules to indicate how the app has to react to heavy loads and how to scale down when the load has been reduced.
- Easy integration with existing apps, and we can configure continues deployment from our favorite repository system. Nascar and Alaska Airlines are examples of integrations between on-premises applications and new solutions in the Azure cloud. We also have Jet using everything from F# to Azure, I had the pleasure to meet Rachel Reese from the team and I can firmly say they know what they are doing.
I would like to give a special mention in the App Platform to Azure Functions. Azure Functions is a serverless computing service that allows you to code functions and pay only per invocation. It supports multiple languages and can be triggered by various events.
With this we forget about Virtual Machines, Apps and all that stuff and we just code some functions and that’s it. Our code runs in the cloud and we just pay per invocation, which can be triggered on certain events in Azure or by external services.
We can code these functions using F#, JavaScript, C#, Python, Batch, Bash, PHP and PowerShell and even code them using a web based interface, so no need for IDE neither — crazy. The Azure Functions runtime is open source and we can basically get it up and running anywhere, including AWS.
My very good friend Rachel Appel is working in the Azure Functions team at Microsoft, be sure to follow her and stay tuned for her speaking appearances.
Microservices on Azure
When it comes to Microservices, Azure doesn’t leave us alone. We have three different approaches to choose from depending of our needs and situation. The most basic one is VM Scale Sets, then we can jump to Azure Container Service or lastly use Azure Service Fabric like many Azure customers chose including BMW, TalkTalk and many more.
The Azure Container Service has standard Docker tooling and API support, you can orchestrate everything thru Azure, and you can use it on Azure or Azure Stack.
Azure Service Fabric is a prescriptive microservice platform which also uses Docker but with more services like sanity state management and more. You have .NET and Java APIs on Windows Server and Linux and you can deploy it to Azure, Azure Stack, VMWare, OpenStack and AWS.
Data and Analytics
The data management options Azure has to offer is wide. We have some official Microsoft options like SQL Azure, DocumentDB and Azure Redis Cache, but then we also have some other interesting options like Postgres, DB2, Oracle, MySQL, Cassandra, MongoDB, CouchDB and RavenDB.
SQL Azure has more than 1.6 million databases running, it’s a first class citizen developed by Microsoft with high availability, durable and fault tolerant, and you can scale elastically all around the world. For your existing SQl Server databases, fear not my friend, it is compatible and we have a really cool tool to help us: SQL Database Migration Wizard.
DocumentDB is another first class citizen here, a fully managed NoSQL database system made by Microsoft that scales from GBs to 100s of TBs. High performance with support of millions of operations per second.
Another cool thing is that we can scale app data and throughput independently, a feature introduced based on client feedback. I’m also really happy to say that my friend and Microsoft MVP Matías Quaranta is joining the DocumentDB team in Redmond.
The Walking Dead No Man’s Land app that reached number 1 in the Apple App Store is an excellent example of DocumentDB use with 1 billion queries per day with responses of less than 10ms 99% of the time. A video is worth a million words:
We all know systems generate more and more data every day at a pace that only keeps incrementing, but this is really good news if we are clever enough to take advantage of that data, gain insights from it and take intelligent actions.
For this, we have a big suite of options to use depending of our needs to know what happened, why, what will happen and what we should do about it, this suite is called the Cortana Intelligence Suite and includes: Power BI, Machine Learning, SQL Data Warehouse, HDInsight, Data Lake Analytics, Data Lake Store, Stream Analytics, Data Factory, Data Catalog and Event Hubs.
Internet of Things (IoT)
IoT is not left behind in Azure with the Azure IoT Suite offering secure device connectivity and management, business workflow integration and pre-configured solutions to start quickly and customize later to our needs.
Some big names using this Suite but not limited to these are Ford in their newest vehicles and Thyssenkrupp. The market leader in elevator systems uses the Azure IoT Suite to analyze and predict failures so they can optimize the service experience offered to their clients.
Cloud Infrastructure on Azure
If we move into infrastructure services in the Cloud, we can use Virtual Machines, Blob Storage, Active Directory, Virtual Networks, Load Balancers, DNS, Gateways.
I mean… you are a fully covered here too, there’s so many services in the Azure Cloud that we can take advantage from to create all the infrastructure of our systems in one place and manage everything from the same portal.
There’s up to 64 TB of storage per VM with less than 1ms read latency. If we step up, Azure has the largest VMs in the Public Cloud of up to 32 CPU cores and the latest generation of Intel processors, 450 GB RAM and 6.5 TB of local SSD! Crazy!
Companies using Azure Cloud Infrastructure include Walmart, United Nations, Samsung, Toyota, 3M and the list is long.
Cybersecurity on Azure
Nowadays hearing about attacks to companies systems is no surprise and Security has being positioned as a top priority for CIOs. Azure Security Center allows you to have visibility and control to prevent, detect and respond to security threats of your Cloud services.
Again, all from the same management portal with integrations to known security solutions like Barracuda, Trend Micro and many more.
Conclusion
I hope I gave you an overview of why Microsoft Azure is a great opportunity to jump into the Cloud, in our experience at Kaizen Softworks it has been a great choice in every project we used it.
We have vast experience using the App Platform and is probably one of the easiest ways to start investigating and doing some tests of your systems with the Azure Cloud. In several of our projects we have used SQL Azure and is not in vain that 1.6M databases are in use in Azure, the experience is practically the same if you are used to work with SQL Server.
Some other great services we have been using for a long time are Azure Active Directory, Blob Storage and Service Bus among other, all of which together allows us to build robust architectures in the Cloud.
As we are big fans of Single Page Applications built using Angular and many other non-Microsoft tech we can also say that serving applications built using these technologies has been a breeze in the Azure Cloud. Choice and flexibility checked.
The DevOps experience while working with Microsoft is great from Source Code Repo options to build, deploy, test and analyze, I think that this well integrated lifecycle in the Cloud is what has let us rely so many aspects of the process in the platform and just take care of what’s really important: building the system. The productivity focus of Microsoft is clearly noticed.
As another remarkable point from our experience, we had the opportunity to work implementing the HIPAA Compliance standard in the Azure Cloud and there are a lot of aspects of it already covered by Azure out of the box, so another great differentiator there. Enterprise Ready verified.