With the recent release of Microsoft Teams, you may be wondering what the differences between Teams and Office 365 Groups are. At AIS, we’re always on the forefront of the latest Office 365 services, and given our long-time partnership with Microsoft, we’ve actually been using both Microsoft Teams and Office 365 Groups for while now. We’ve gotten a solid sense of what both services are good at and what they’re…not so good at. At least not yet. Read More…
Microsoft has over a thousand Virtual Machine images available in the Microsoft Azure Marketplace. If your organization has their own on-premises “Gold Image” that’s been tailored, hardened, and adapted to meet specific organizational requirements (compliance, business, security, etc.), you can bring those images into your Azure subscription for reuse, automation, and/or manageability.
I recently had the opportunity to take a client’s virtualized Windows Server 2008 R2 “Gold Image” in .OVA format (VMware ), extract the contents using 7-Zip, run the Microsoft Virtual Machine Converter to create a VHD, prepare and upload the VHD, and create a Managed Image that was then deployed using PowerShell and an Azure Resource Manager Template.
It’s actually quite simple! Here’s how… Read More…
Part 3: Azure Automation, Azure RunBooks, and Octopus Deploy
With just PowerShell and an Azure ARM template, we can kick off a deployment in just a few minutes. But there are still some manual steps involved – you still need to login to your Azure subscription, enter a command to create a new resource group, and enter another command to kick off a deployment. With the help of an Azure automation account and a platform called Octopus Deploy, we can automate this process even further to a point where it takes as little as three clicks to deploy your whole infrastructure! Read More…
Deploying Azure ARM Templates with PowerShell
After you’ve created your template, you can use PowerShell to kick off the deployment process. PowerShell is a great tool with a ton of features to help automate Azure processes. In order to deploy Azure ARM Templates with PowerShell, you will need to install the Azure PowerShell cmdlets. You can do this by simply running the command Install-Module AzureRM inside a PowerShell session.
Check out this link for more information on installing Azure PowerShell cmdlets. PowerShell works best on a Windows platform, although there is a version now out for Mac that you can check out here. You can also use Azure CLI to do the same thing. PowerShell and Azure CLI are quick and easy ways to create resources without using the Portal. I still stick with PowerShell, even though I primarily use a Mac computer for development work. (I’ll talk more about this in the next section.) Read More…
Yesterday AIS’ VP of Business Development Larry Katzman sat down with Federal Tech Talk’s John Gilroy on Federal News Radio to discuss how federal IT professionals can innovate in a constantly changing environment..and with a shrinking budget.
The discussion starts off with a common theme — today’s younger generation is accustomed to programming from an early age. When they show up for work at an agency, the expect to be able to “fire up” environments to test code.
Everyone wants to unlock this spirit of innovation – but there are certain restraints. For example, you may use a system that only needs a credit card to get started. This can result in “drunken sailor syndrome.” In other words, you may blow your annual budget in the first week if you are not careful.
From there, the conversation moves into the issue of “Rogue IT” or “Shadow IT,” where users sign up for cloud offerings on their own and completely bypass the CIO. AIS actually offers a solution to this one: CloudCap, a system where users are granted access to thousands of enterprise class applications that can be managed. Much like “managed services,” the CloudCap system allows both the user and supervisor to know how much is spent and when.
For more information about CloudCap, click here.
Data is all around us, but it’s becoming increasingly difficult to abstract relevant insights from our data that lead to intelligent action. Last night’s #AzureGovMeetup dove deep into advanced analytics capabilities, and attendees got a firsthand look at how raw data is transformed into actionable insight.
It included highly interactive and demonstration-focused sessions by Microsoft data and cloud experts, as well as AIS’ own CTO and Microsoft MVP, Vishwas Lele. Esri also presented a demo of advanced spatial analytics in the cloud.
In case you missed it, AIS livestreamed the demos on Twitter. Watch the videos below and be sure to follow us @AISTeam. (And check out the #AzureGovMeetup hashtag for more photos and insights from the outstanding lineup of experts.) Next month’s Meetup will be Wednesday, May 31 at 6 p.m. RSVP today!
— AIS (@aisteam) April 26, 2017
— AIS (@aisteam) April 26, 2017
— AIS (@aisteam) April 26, 2017
Early in my web development career, I always tried to avoid deployment work. It made me uneasy to watch other developers constantly bang their heads against their desks, frustrated with getting our app deployed to whatever cloud service we were using at the time. Deployment work became the “short straw” assignment because it was always a long, unpredictable and thankless task. It wasn’t until I advanced in my tech career that I realized why I felt this way.
My experience with deployment activities, up to this point, always involved a manual process. I thought that the time it took to set up an automated deployment mechanism was a lot of unnecessary overhead – I’d much rather spend my time developing the actual application and spend just a few hours every so often on a manual deployment process when I was ready. However, as I got to work with more and more experienced developers, I began to understand that a manual deployment process is slow, unreliable, unrepeatable, and rarely ever consistent across environments. A manual deployment process also requires detailed documentation that can be hard to follow and in constant need of updating.
As a result, the deployment process becomes this mysterious beast that only a few experts on your development team can tame. This will ultimately isolate the members of your development team, who could be spending more time working on features or fixing bugs related to your application or software. Although there is some initial overhead involved when creating a fully automated deployment pipeline, subsequent deployments of the same infrastructure can be done in a matter of seconds. And since validation is also baked into the automated process, your developers will only have to devote time to application deployment if something fails or goes wrong.
This three-part blog series will serve to provide a general set of instructions on how to build an automated deployment pipeline using Azure cloud services and Octopus Deploy, a user-friendly automation tool that integrates well with Azure. It might not detail out every step you need, but it will point you in the right direction, and show you the value of utilizing automated deployment mechanisms. Let’s get started. Read More…
The central focus of DevOps has been the continuous delivery (CD) pipeline: A single, traceable path for any new or updated version of software to move through lower environments to a higher environment using automated promotion. However, in my recent experience, DevOps is also serving as the bridge between the “expectations chasm” — the gap between the three personas in the above diagram.
Each persona (CIO, Ops and App Teams) have varying expectations for the move to public cloud. For CIO, the motivation to move to the public cloud is based on key selling points — dealing with capacity constraints, mounting on-premises data center costs, reducing the Time to Value (TtV), and increasing innovation. The Ops Team is expecting a tooling maturity on par with on-premises including Capacity Planning, HA, compliance and monitoring. The Apps team is expecting to use the languages, tools, and CI process that they are already using, but in the context of new PaaS services. They also expect the same level of compliance and resilience from the underlying infrastructure services.
Unfortunately, as we will see in a moment, these expectations are hard to meet, despite the rapid innovation and cadence of releases in the cloud.
Consider these examples: Read More…
In this video blog, I’ll walk you through building a continuous integration and continuous delivery (CI/CD) pipeline using the latest tools from Microsoft, including Visual Studio Team Services (VSTS) and Azure. The pipeline is built to support a .NET core application, and the walkthrough includes the following steps:
- Configuring Continuous Integration (CI) with VSTS Build services
- Adding unit testing and validation to the CI process
- Adding Continuous Deployment (CD) with VSTS Release Management & Azure PaaS
- Adding automated performance testing to the pipeline
- Promotion of the deployment to production once validated
- Sending feedback on completion of the process to Slack
In a previous blog post, we discussed a quick overview of Continuous Integration and Deployment of .NET applications using Visual Studio Team Services (VSTS). This involved building and deploying regular old .NET applications with VSTS—something that we would definitely expect a Microsoft service to handle. However, there is some lesser-known support that VSTS has for other frameworks, including Java. The Microsoft VSTS website even has a portal page proclaiming their Java support: “Love Java? So do we!”
VSTS support for Java build frameworks such as Maven and Ant came in handy for AIS recently, as we were tasked with developing some new features for an older Java desktop application for a federal client. And I will have to say that all of the VSTS tools for Java applications worked flawlessly. We were able to easily add the Java project source code to a Team Foundation Version Control (TFVC) repository hosted online in VSTS. Oracle even has an extension for integrating with a TFVC workspace—allowing us to check in changes right from the JDeveloper IDE. Read More…