Azure Event Grid is a messaging service built to enable event-based architectures to be built more easily. At the basic level it’s similar to a message queue service, like Azure Service Bus Topics, that enables a publish / subscribe model. However, the similarity really ends there. Azure Event Grid is a different kind of messaging service that’s built to enable event-based architectures like those use with Microservices architectures to be built more easily. Read More
The Microsoft Azure, Cloud and Enterprise Symbol / Icon Set is a Free download from Microsoft that includes the icons for all the different Microsoft Azure services and other products. These icons are extremely helpful in creating much nicer architectural diagrams for systems that use Microsoft Azure services. These icons can be used to help you have fun in creating internal project diagrams to impress your co-workers or boss. Or, you can use these icons to give your architecture diagrams and project documentation a more professional look before you deliver to your clients. Read More
Serverless compute is the latest advancement in Platform as a Service (PaaS) capabilities in the cloud. Azure Functions is the Serverless Compute service options available within the Microsoft Azure cloud platform. At it’s most basic, it lets you deploy a single method of code and run it in the cloud without the need to manage a VM, updates/patches, or even the application that hosts the method of code. In fact, within all the amazing abstraction is the bindings that hook up function triggers, data inputs, and data outputs to various services declaratively. All this functionality is really amazing, but there is room to improve the scalability of using Azure Functions and Serverless compute to build out full software solutions that contain more than just simple, isolated code methods. This article walks through the capabilities offered to Azure Functions with the featured called Durable Functions; aka the integration of the Durable Task Framework with Azure Functions. Read More
Microsoft uses their own products to build and host their own products. This is done from the development platform level, all the way into the Microsoft Azure cloud. This concept of using your own products is called “Dogfooding”. (I have no idea where this term came from, but that’s what it means.) Dogfooding refers to the concept of “eating your own dog food”; meaning that you consume your own products and that helps you make your own products better. Microsoft does this a lot and in fact in the Microsoft Azure cloud, many services are built out “on top of” or using other services. Read More
Here’s a short video I recorded that goes over how to manage Azure Resource Policies in the Azure Portal. Before the “how to” showing the Portal, I do give a brief explanation of what Azure Resource Policies are used for and why you would use them. I then go through the newly released UI within the Azure Portal that helps you easily setup and access the Resource Policy features within the Azure Portal. At the time of recording this I was using the “Preview” Azure Portal, but I would expect this features to be released to the Current Azure Portal in the near future. Enjoy! Read More
As you may, or may not, be aware, my day job is working as a Senior Cloud Solution Architect at Opsgility. My job duties are generally the normal duties of a Senior Solution Architect, but I focus entirely on Microsoft Azure. It’s also my job to build out training content (courses, slides, demos, hands-on labs, etc) and as an instructor to deliver that content (on-demand video recordings and instructor led classes online and in-person). The primary goal of Opsgility is to enable businesses and teams in the Cloud.
On-Demand Azure Training
I know I haven’t posted much here on my day job with Opsgility, but I thought I’d share a list of some of the on-demand courses available from Opsgility that I’ve created, recorded, and published to the Opsgility video streaming service recently.
Here’s a list of my recently published Azure training and Microsoft Certification prep courses at Opsgility:
- Architecting Azure App Services
- Architecting Global Solutions
- Choosing the Right Storage
- Building Solutions with Azure Logic Apps
- Implementing and Managing Web APIs in Azure
- Managing Azure Web Apps
- Real-Time Ingestion and Processing in Azure
- Hands-On Lab: Getting Started with ASP.NET Web Apps in Azure
When signing up for an Opsgility.com subscription, you’ll get a free trial initially to try out the service, before billing begins. I recommend you check out the service! I don’t only recommend because I work at Opsgility, but because we have the most up-to-date Azure training, and certification content in the industry. As a testament to our content, many large corporations, including Microsoft, hire us to train their Developers, IT Pros, and Database Engineers in Microsoft Azure.
Instructor-Led Azure Training
Opsgility offers MANY different Instructor led classes online as well as in-person. We train Microsoft as many other large corporations in Microsoft Azure all over the world! Personally, I’ve taught classes in many cities across the United States, as well as classes in Canada and Germany.
Here’s a short list of just a few of the Instructor Led classes that I’ve either built, taught, or both:
- Azure Fundamentals – This course introduces key concepts for cloud computing and how Microsoft Azure aligns with those scenarios. Students are introduced to several key Azure services and solutions that align with the following technical disciplines including Infrastructure as a Service, Hybrid Cloud, Application Development, and Big Data and Analytics.
- Designing and Implementing IoT Solutions – This course provides a comprehensive introduction to designing and implement Internet of Things (IoT) solutions on Microsoft Azure. The course covers both directions of message flow from device-to-cloud and cloud-to device, building analytics solutions atop the real-time telemetry, managing devices and securing the solution.
- Architecting Azure Solutions – Exam 70-534 – This course is designed to help students gain valuable and in-depth architecture skills on Microsoft Azure along with gaining the essential skills to pass Microsoft Exam 70-534. This course will put the students through several interactive architecture sessions where as one or more teams they will design the appropriate solution to address an architecture scenario based on several services in Microsoft Azure.
- Developing Cloud Solutions with Azure .NET – Exam 70-532 – This course is designed to introduce students to developing cloud based applications using Microsoft Azure and the Azure .NET SDK. This course covers key compute technologies such as virtual machines, cloud services, and App Services, as well as teaches how to build a developer environment and compose new applications using platform-as-a-service (PaaS) components.
- Developing Cloud Solutions with Azure using Java – Exam 70-532 – This course is designed to introduce students to developing cloud based applications using Microsoft Azure and the Azure Java SDK. This course covers key compute technologies such as virtual machines, service fabric, and App Services, as well as teaches how to build a developer environment and compose new applications using platform-as-a-service (PaaS) components.
I know many of you reading this may already have a Pluralsight subscription, but you should know Opsgility training content on Azure is more up-to-date and is updated more frequently! That’s one of the big differences with Opsgility having expertise on staff, rather than solely relying on contractors like Pluralsight.
Disclaimer: The opinions express in this blog post and throughout my blog are my own. They do not reflect that of my employer, Opsgility. I also don’t mean any offense towards Pluralsight or Pluralsight Authors. Pluralsight has many great courses to learn all sorts of things, it’s just in my strong opinion that the way Opsgility does Azure Training courses is superior. Thanks!
February 1, 2017 marks the 7th anniversary of when Microsoft turned on billing for the new Microsoft Azure service. Happy birthday Azure! Initially the service had a fraction of the features and services it has today. There’s been a tremendous growth on the platform over the years as a result of incredible investment by Microsoft.
Here’s a little timeline information about Microsoft Azure that you may or may not know:
- October 2008 – At the Microsoft Professional Developers Conference (PDC), Microsoft Chief Software Architect Ray Ozzie announces a new cloud computing platform from Microsoft called Windows Azure. The initial announcement includes the Azure services of: Cloud Services, and Blob Storage.
- March 2009 – Azure SQL Database service was announced.
- November 2009 – An updated Windows Azure CTP is released enabling Full Trust, PHP, Java, including a CDN CTP and more
- January 2010 – Windows Azure become Generally Available, currently free of cost
- February 1, 2010 – Microsoft turns on billing and includes full SLA support making Windows Azure commercially available.
- June 2010 – Windows Azure is updated with .NET Framework 4, OS Versioning, CDN, and SQL Azure update
- October 2010 – At PDC conference Microsoft released platform enhancements, Windows Azure Connect, and an improved Dev / IT Pro experience
- December 2011 – New services added: Traffic Manager, SQL Azure reporting, HPC scheduler
- June 2012 – New services added: Azure Websites, Virtual Machines for both Windows and Linux, Python SDK, Locally redundant storage, and a new portal.
- April 2014 – Microsoft renames Windows Azure to Microsoft Azure
- 2014 to Present – MANY, MANY features and services are released!
Something not mentioned in the above timeline is the HUGE growth of Microsoft building out the data centers and backbone infrastructure that makes up the Microsoft Azure platform. From the initial launch of Microsoft Azure back in 2010, until now, Microsoft has grown the platform out to 32 regions today. They even have announced an additional 6 regions that are currently being planned or built.
Since 2010, Microsoft Azure has grown to be available in 32 regions around the world.
The overal size of Microsoft Azure has grown to be the biggest cloud platform on the planet. Microsoft may have been late to the game as Amazon got started 4 years earlier, but Microsoft has grown the platform to include more data centers and regions around the globe than both Amazon and Google combined!
You can view an interactive map of the Azure Regions here: http://map.buildazure.com
The Microsoft Azure platform has more data centers and global regions than both Amazon and Google combined!
The cloud brings with it some tremendous capabilities and capacity that most enterprises or even individuals could have only dreamed of having access to only a few short years ago. Microsoft is right there at the front of the stage rapidly releasing innovation after innovation in the Microsoft Azure cloud platform. Microsoft has been and still is betting the future of their enterprise business on the cloud, and Microsoft Azure is the way they are doing it.
Happy birthday Azure!
Happy birthday Azure! I can’t wait to see how you grow and advance cloud computing over the next 7 years and beyond!
The Microsoft Cloud Platform roadmap provides a snapshot of what Microsoft is working on in their Cloud Platform business. You can use the roadmap to find out what they’ve recently made generally available, released into public preview, are still developing and testing, or are no longer developing.
The Microsoft Cloud Platform Roadmap really gives you a nice view into the current state of many features and services within Microsoft’s overall Cloud Platform. However, it doesn’t give specific release dates as you might expect a roadmap to do, but it is organized well and easy to navigate. If you’re ever curious about the state of things or what upcoming, then the Microsoft Cloud Platform Roadmap is a nice place to go.
The Microsoft Cloud Platform Roadmap is broken out into the main categories (tabs at the top) of:
- Recently Available
- Public Preview
- In Development
Within each category is the ability to filter the list of updates by a few subcategories, as well as the ability to select a filter to narrow down the list by a specific product. The list of subcategories (tabs on the left) are:
- Cloud infrastructure
- Enterprise mobility
- Data management and analytics
- Application development
- Internet of Things
You can view the Cloud Platform Roadmap here: https://www.microsoft.com/en-us/cloud-platform/roadmap-in-development
Microsoft Azure is generally available in over 30 regions around the world. Each region is home to a vast array of servers hosted within 1 or more datacenters.. This is something that’s very apparent in Azure; especially since you need to choose a specific Azure region to host services in. However, something that’s not quite as apparent is the concept of Azure Region Pairs. Specific Azure regions are paired together. This article explains what Azure Region Pairs are, and the benefits that come within them.
What are Azure Region Pairs?
Microsoft operates Azure Regions all over the world. Each Azure Region is strategically placed within a specific geography, and almost all the Azure Regions are located within the same general geography as at least 1 other Region; it’s pair. The only exception to this is the Brazil South region currently, which is the only Azure Region in Brazil.
Many organizations are finding that they are integrating solutions across multiple cloud providers these days. Many complete systems are contained within a single cloud provider, but many different systems may be spread across multiple cloud providers. We’re starting to enter a world of the Polynimbus Enterprise; an enterprise that uses 2 or more cloud platform providers.
What is a Polynimbus Enterprise?
Put simply, a Polynimbus Enterprise is an Enterprise that utilizes services from multiple cloud providers. Perhaps some applications are in Microsoft Azure, some in Amazon AWS, and possibly some are even in the Google Cloud. Poly-nimbus means “Many Cloud”.
Poly-nimbus Enterprise: An enterprise that utilizes multiple cloud providers
Many enterprises today are finding they are managing multiple software systems and/or databases hosted in different cloud providers. Maybe they started using Amazon AWS a couple years ago, but today find that certain parts of their business or IT team are hosting some applications in Microsoft Azure as well. This is very similar to the fact that many organizations have both Linux and Windows servers.
Polynimus and using multiple cloud providers is all about using the right tool for the job. Just as a certain programming language or development platform / tool is better for certain scenarios, a specific cloud may also be “just right” in certain cases as well.
There are many reasons to use multiple Cloud Providers, although in a perfect world you would only need 1 and possibly you can achieve this within your organization. However, many organizations are finding they are utilizing multiple cloud providers for a various of reasons. These reasons span from personal preference, to Manager oversight, to cost, and many others.
Here’s a few reasons why an organization may find themselves in a situation where they have applications spread across multiple cloud providers:
- Talent Pool – Depending on who you’re able to hire you may find new hires know one cloud provider better than another, and possibly even a different cloud provider than your existing team. To reduce cost of training and get applications shipped to help the business or customer you may need to just accept a change in tooling to get the job done efficiently.
- Legacy – You may be attempting to utilize a certain cloud provider more than another, but possibly you have Production systems that just can’t be moved from where they are. Many companies found this to be true when first moving to the cloud, and many are finding this true as they further embrace the cloud future.
- Cost – Depending on your situation, you may find it cheaper to host and run a certain system in one cloud provider over another. This could possibly mean a shift from one preferred cloud provider to another.
- Diversity / Avoid Cloud Lock-in – Some management teams or even entire organizations are finding it difficult to think about being locked into single cloud provider. As a result they are forcing their systems to be spread across different providers.
- Contractors / Consultants – Perhaps a consulting firm or team of contractors is building applications and putting them in a different cloud provider. Whether you’re aware from day one, or find out once the product is delivered, you might find yourself at the end of the day supporting systems hosted within multiple cloud providers.
As you can see, these are some very compelling reasons why an enterprise would become Polynimbus. In fact, these are the same reason why organizations and teams choose to end up using and supporting applications using many different technologies over time. It’s just something that’s inevitable in the IT field, and the Cloud is no different as we are finding out.
As an enterprise / organization or IT team is finding themselves adopting multiple clouds, there are a number of considerations to think about or at least be aware of. Here’s a short list of some of these considerations:
- One App, One Cloud – It’s best not to spread different components of the same application across multiple cloud providers. This can lead to increased network latency for API and database calls, as well as incur an increase in Ingress and/or Egress charges when transferring data in and out of the cloud data centers.
- Global Availability – It’s possible by leverage multiple cloud providers that you could achieve a greater level of global availability of your application for your users. Perhaps by distributing the load across multiple instances in multiple clouds you could better place instance endpoints closer to your end users.
- Training – By managing systems spread across multiple cloud providers there is most likely going to be an increase in the training costs for your IT team. After all, many of them will need to know enough and be familiar enough with each cloud provider to be able to jump over and help out with updates and maintenance of various enterprise systems that may be running on different cloud providers.
- Lock-in – By spreading applications and system across cloud providers, you are making it easier to migrate over and away from one cloud provider over another. Likewise, you are also making it much more costly to operate than if you had just chosen and stuck with a single cloud provider as a standard for your organization.
- Flexibility – By forcing your organization or IT team to support applications across multiple cloud providers you ensuring a greater level of flexibility on your team to be able to update, maintain, or build a green fields application on either of the cloud providers you are currently supporting / using.
- Hiring – While utilizing multiple cloud providers will likely open up the prospective employee pool, it will also make it tricky to hire talented people who know exactly what your organization needs. It’s difficult to find the perfect candidate in general, but the more technical skills you add to the “helpful” section of the job listings, the more difficult you may find it to hire the right people. You may end up listing multiple job postings for the same job but list one for each cloud provider you are using just to hopefully find a candidate that knows one of the cloud providers you need expertise in.
- Migration – Just as going all in on a single cloud provider may prevent you from migrating to another, if you have applications spread across multiple cloud providers, you may still find things just as difficult if you find your team in a position that requires an application to me migrated from one cloud provider to another.
The above list is not all inclusive and there are likely a few more considerations to keep in mind. Don’t be afraid to go Polynimbus and use the right tool for the job!