These disciplines can play a significant role in building stable release processes that help ensure project milestones are met.
Continuous Integration (CI) and Continuous Delivery (DC) are rapidly becoming an integral part of software development. These disciplines can play a significant role in building stable release processes that help ensure project milestones are met. And in addition to simply performing compilation tasks, CI systems can be extended to execute unit testing, functional testing, UI testing, and many other tasks. This walkthrough demonstrates the creation of a simple CI/CD deployment pipeline with an integrated unit test.
There are many ways of implementing CI/CD, but for this blog, I will use Jenkins and GiHub to deploy the simple CI/CD pipeline. A Docker container will be used to host the application. The GitHub repository hosts the application including a Dockerfile for creating an application node. Jenkins is configured with GitHub and Docker Plugin. Read More…
This is an overview of a solution built by AIS with Microsoft for a federal client in the DC area. The client’s goal was to be able to automate the setup and takedown of virtual machine sandboxes on the fly. These sandboxes are used by the client’s developers to do security testing of their applications.
The first step of this project was to help the federal client provision their own Azure Government subscription, with some assistance from Microsoft. We then wanted to document the client’s on-premises environment so that it could be accurately replicated within Azure. The next step was to actually build and deploy the Azure services and scripts in the cloud environment. Lastly, we wanted to be able to define and implement automation use cases, such as the provisioning of an entire sandbox, or just specific machines within that sandbox. Read More…
Like every business that’s dependent on consumer sales to fuel growth, you and your team members are probably constantly thinking about how you can make your organization’s sales processes fast and efficient enough to support the growth and customer retention that your executive team desires.
Well, we’ve figured out a way to do just that – our client organization is in the highly competitive insurance industry, and needed a way to increase sales volumes. Enter AIS; we were able to provide our client with an automated method of providing customers with a quote for insurance rates via a self-service web portal solution…resulting in the higher sales volumes they were seeking, while also reducing costs. Read More…
Inflexible customer solutions and business unit silos are the bane of any organization’s existence. So how does a large, multi-billion dollar insurance organization, with numerous lines of business, create a customer-centric business model while implementing configurable, agile systems for faster business transactions?
The solution is not so simple, but with our assistance, we’ve managed to point our large insurance client in the right direction. What began as a plan to develop a 360-degree customer profile and connect the disparate information silos between business units ultimately became the first step towards a more customer-centric organization.
A major multi-year initiative to modernize the organization’s mainframe systems onto the Microsoft technology platform will now provide significant cost savings over current systems and enable years of future business innovation. Read More…
In the world of SharePoint upgrades and migrations, a number of terms are thrown around and often used interchangeably. This post outlines several key terms that will be surfaced throughout a three-part series on upgrade/migration strategies for SharePoint 2013. If you would like to jump to another post, use the links below:
- Part 1 – Definitions (this post)
- Part 2 – Considerations Outside of SharePoint (Coming soon)
- Part 3 – Diving into Database Attach (Coming soon)
In past revisions of SharePoint, we had multiple ways to upgrade our farms (and the content within them) to the latest version using the tooling Microsoft provides. Over the years, Microsoft used a number of terms related to the types of upgrade available:
- In-place upgrade – Often considered the easiest approach, but the most risky. The setup of the new system is performed on existing hardware and servers.
- Gradual upgrade – Allows for a side-by-side installation of the old and new versions of SharePoint.
- Database attach/migration – Allows for the installation and configuration of an entirely new environment where content is first migrated, and then upgraded to the desired state.
As SharePoint matured, the number of available upgrade options dwindled. For instance, in an upgrade from SharePoint Portal Server 2003 to Office SharePoint Server 2007, we could follow any one of the three upgrade paths noted above to reach our desired end state. In an upgrade of Office SharePoint Server 2007 to SharePoint Server 2010 we still had two paths available: the in-place upgrade and the database attach approach. For SharePoint 2013, we’re left with just the database attach approach.
Before we dive further into the database attach upgrade scenario, it’s helpful to take a step back and establish a common language as we discuss the upgrade process. Read More…
2013 was a great year for AIS — we worked on exciting projects for our terrific clients, built some cool apps and won some cool awards. We were honored with the 2013 Microsoft Mid-Atlantic Cloud Practice Award and are among the first Amazon Web Services partners to earn a “SharePoint on AWS” competency. And throughout the year, we wrote and blogged about our passion for cloud computing, SharePoint, going mobile, and doing “more with less” for our government and commercial clients.
Here’s a round-up of 2013’s most popular posts and series, in case you missed them:
We have big plans for the blog for 2014 — more posts, more events and more compelling content from the entire AIS team. Stay connected with us on Facebook, Twitter and LinkedIn, and check out our Events page for details on our free presentations and webinars.
Happy holidays, and thanks for reading!
Despite the terms Dependency Inversion Principle (DIP), Inversion of Control (IoC), Dependency Injection (DI) and Service Locator existing for many years now, developers are often still confused about their meaning and use. When discussing software decoupling, many developers view the terms as interchangeable or synonymous, which is hardly the case. Aside from misunderstandings when discussing software decoupling with colleagues, this misinterpretation of terms can lead to confusion when tasked with designing and implementing a decoupled software solution. Hence, it’s important to differentiate between what is principle, pattern and technique.
Dynamics CRM 2013 is about to be released and if you have already made a large investment into SharePoint as a development platform, you may be asking yourself why Dynamics CRM matters. After all, you are already using a wildly successful platform that underpins collaboration tools, intranets, your ‘corporate’ social media and quite likely a base of custom applications and tools. Why would you need yet another platform if SharePoint is capable of handling everything you throw at it?
First off, let’s clear up a misconception that everyone generally has the first time they hear about Dynamics CRM: it’s not “Dynamics versus SharePoint,” it’s “Dynamics AND SharePoint.” Dynamics CRM offers some pretty significant benefits that are not available when using the SharePoint platform alone. Likewise, SharePoint has capabilities that Dynamics CRM simply wasn’t designed to even begin to replicate. The trick is knowing when and how to best leverage the benefits of each tool. Simply put, both tools need each other to offer a truly complete platform that offers you the best of everything: a collaboration tool, an intranet and content management tool, a repository for unstructured data, an application platform, and a quick and easy way to rapidly and efficiently build applications to manage structured data. Read More…
A large, enterprise-class application involves many servers. As the number of servers increases, the challenges to troubleshoot or investigate any application failure increases multifold.
Thus, there is a need to integrate different sources of data for a consolidated view – to help improve developers/testers’ productivity and quickly resolve application/environment issues. Moreover, the solution needs a browser-based interface as opposed to providing administrative privilege, remote access to the server. Splunk captures, indexes and correlates real-time data in a searchable repository from which it can generate graphs, reports, alerts, dashboards and visualizations. Read More…