Over the last few years, Docker and software container systems have become the industry standard for packaging and deploying applications. A consequence of this trend has been the development of container orchestration systems like Kubernetes and Apache Mesos. Microsoft Azure has entered the space with its own comprehensive system orchestration and management system, Azure Service Fabric.
What exactly is the value-add for Service Fabric? How do we use it to solve container-related technical challenges? This course answers both of those questions and goes even further by covering a number of relevant software design concepts. From this course, you will learn what Service Fabric does, how to use it to deploy a real application, and how Service Fabric incorporates design patterns and structures such as the actor model and collections.
By the end of the course, you should be ready to work with a team using Azure Service Fabric to create a working application.
Learning Objectives
- Use Azure Service Fabric to solve infrastructure orchestration challenges
- Learn about software concepts relevant to Service Fabric, including collections, the actor model, and stateful vs stateless services
- Deploy an application to a Service Fabric cluster
Intended Audience
- People looking to build applications using Microsoft Azure
- People interested in container orchestration systems
Prerequisites
- General knowledge of IT architecture
- General knowledge of software containers
Links
The nice thing about this demo is that you don't need any special hardware or software tools to run through it. All you need is a browser. If you have a browser working, then you have all the software you need and, on top of that, the only other requirement is you need a working Azure account, obviously. We won't get very far without that. So, if you're looking to play along at home, set up your Azure account and navigate to the portal.
Once you have that ready to go, then you'll have everything you need to access the Azure Cloud Shell. Now, the Azure Cloud Shell, what is this? This is a command-line tool I've mentioned before. It runs right in the browser. It runs a pre-authenticated environment, terminal environment, with your Azure credentials, and a number of useful tools pre-installed. So there's no need to do any kind of setup or logging in and doing a whole bunch of configurations. It just works, as they say at Apple. So just click on the icon and get started.
Right here, at the top right, this is where it says Cloud Shell. We'll click on that. And it'll just get started. Now, one thing to note is that the very first time you click on Cloud Shell, it's going to look for storage and if you don't have any storage set, it'll try to create some. You can just select the defaults there. That's what I usually do, I just click Create, click Yes, and it'll take a second and it'll generate a resource group, add some storage for data, things that pull down. That's basically all it takes. You have your terminal environment and you'll have a number of Azure tools all ready to go.
So, once that's ready, what we're gonna do now is clone the code we need because we already have the whole thing, we have Git ready to go. So, in order to do that, I'm just gonna copy and paste it because I'm lazy and it's easier to do it that way. So we do a copy here and what we're gonna just do is git clone, sorry, that URL and you're gonna have to add .git (git clone https://github.com/Azure-Samples/service-fabric-containers.git). And it should pull down all the code we need, done.
So, once you have that, you can check it. We can go to the repo here. Look around a little bit. And that's all you need to get started. We're actually gonna stop there for this first lesson, that's it.
In the next lesson, we'll go through the actual code, walk through it a little more and then in the third and final lesson, we'll use the Azure Shell a little bit more to actually deploy things. So, we'll see you then.
Jonathan Bethune is a senior technical consultant working with several companies including TopTal, BCG, and Instaclustr. He is an experienced devops specialist, data engineer, and software developer. Jonathan has spent years mastering the art of system automation with a variety of different cloud providers and tools. Before he became an engineer, Jonathan was a musician and teacher in New York City. Jonathan is based in Tokyo where he continues to work in technology and write for various publications in his free time.