Software Developer + Azure = Awesome
It's a fantastic time to be a software developer! Access to cloud technology empowers the individual developer and development teams to reach greater heights of productivity and functionality than ever before.
This is why as a software developer I chose to take on a Cloud Solution Architect role focused on Azure App Dev.
Azure is a fantastic platform of services and APIs that you can leverage in your software designs in order to build systems that are highly scalable, resilient, secure, and performant. But you have to look beyond IaaS and towards PaaS if you truly want to differentiate your business and your user experience.
For instance:
- Add CI/CD to your software development lifecycle by using Azure DevOps Pipelines.
- Migrate your IIS-based apps to Azure App Service and free yourself from having to manage servers while taking advantage of new capabilities for your development team.
- Polyglot? No problem. Run your Node.js, Java, .NET, .NET Core, PHP, Python and more all on Azure PaaS. Of course, you could always deploy anything onto Azure IaaS if you truly need to do so.
- Add Azure Application Insights to your code in order to better understand your runtime performance and user behaviors.
- Extend your service-to-service communication beyond synchronous request-response patterns by leveraging asynchronous messaging through Azure Service Bus, Azure Queues, and Azure Event Grid.
- Look to even greater benefit and agility through the use of Azure Functions, Durable Functions for chaining multiple functions in workflow scenarios, and Logic Apps for integration with 3rd party services.
- Interested in containerization for micro-services? You have options on Azure, ranging from container support in Azure App Service to Azure Kubernetes Service to Azure Container Instance. Want burstable k8s clusters? Azure has that too through the Virtual Kubelet.
- Want to better estimate your cloud hosting costs for the business? Start with an initial investment by running on Azure in order to benefit from continuous cost analysis leveraging Azure Cost Management and Azure Advisor. Once you have enough data points based on your actual performance profile, you can tune for optimal performance and cost, including scaling up or down as required. What better way to manage software systems than to tune as you go vs. over-allocating and over-provisioning up-front?
- Direct, tangible value based on actual usage, tracked using Azure Monitor, Application Insights, and Cost Management to help you describe your system's success to your stakeholders. Tag your Azure resources for more granular reporting.
- Want to add world-class security capabilities to your already awesome apps? Put it on Azure and benefit from Microsoft's global network and proven experience as a security leader through Azure Security Center.
- Want to add intelligence to your own apps to unlock new, intelligent experiences for your business users or for your development team? Leverage the Microsoft AI platform, which provides a suite of powerful tools, such as the Bot Framework, Cognitive Services, Azure Machine Learning and many more.
- Need to leverage a globally distributed, multi-model database service with low latency and high availability? You should take a look at Cosmos DB.
And that is just a small portion of the goodness on Azure that you can expect as a software architect or software developer. Check out this awesome guide if you want to learn more.
Happy coding :-)