Organizations today are more focused than ever on doing more with less. Information technology projects need to deliver maximum business benefits while remaining on time and under budget. To accomplish this, more companies are adopting cloud platforms and creating cloud native Software-as-a-Service (SaaS) applications that provide flexibility without the roadblocks generally associated with application deployment and maintenance.
Data analytics applications are well suited for a SaaS deployment because of the flexibility afforded by cloud platforms with respect to computing power for processing big data, scaling up with user adoption, global rollouts, and making data available for consumption on any device, anywhere, and any time. Naturally, analytics providers like MicroStrategy either enable cloud native platforms to build SaaS applications or have optimized their platform to work on the major cloud providers.
Most administrators agree that deploying a fully functional analytics SaaS application with commercially available analytics platforms could take anywhere from a few days to a few weeks. MicroStrategy is unique in providing its customers with a provisioning tool that is fully integrated with the AWS cloud so organizations can provision, operate, expand, and manage MicroStrategy-based SaaS applications on their own. The provisioning tool lets you maintain full control over your environments, including dynamically starting, stopping, resizing, or terminating them as needed.
A number of things need to be set up and configured both prior to and after the environment provisioning process in order to have a fully functional, production ready, enterprise grade SaaS application that meets strict security and compliance standards. Migrations and upgrades to newer versions and hotfixes also need to be automated without compromising on security. After the platform is deployed on the cloud, you might need to perform specific tasks to optimize the application.
Benefits of Fully Automated Deployment
The need for automation stems from being able to minimize the time spent on repetitive tasks performed every time a customer application environment is deployed in the cloud. The simple truth is that manual tasks take time and have to be performed by humans. Because of this, they are error prone and perform inconsistently.
Automation frees up time to work on items that add genuine value to the business, allowing you to be more innovative and increasing employee morale. Automation also allows you to get more done in the same amount of time, greatly increasing productivity, and it further ensures that every action in the deployment process is performed identically, resulting in high quality and reliable results. It also captures key metrics and performance indicators that can be used to further improve processes.
Another key benefit of automated deployment is increased capacity to on-board and maintain a larger volume of customers and users on the analytics application. Automation not only ensures that systems run smoothly and efficiently, but that errors are eliminated and best practices constantly leveraged. The reliability of workflow automation ensures that processes essential for governance are executed 100% of the time in accordance with service level agreements.
To reap the benefits of automation and orchestrate the entire deployment process, a number of different software tools need to be integrated. Here are some of the key items that need to be considered:
- Continuous Integration and Continuous Development (CI/CD) Pipeline to integrate and orchestrate automation across various deployment tools. Tools like Jenkins, Travis, or AWS CodePipeline can be used for this purpose
- Infrastructure Stack Management tools to configure, modify, and update the AWS infrastructure. Terraform or AWS CloudFormation can be used for this purpose
- Application Configuration, including software provisioning and application development, can be achieved with tools like Ansible. These create the initial configuration and standardize the operating system configuration on all servers
- Configuration Management for a continuous and centralized application and operating system state configuration for SOC2 compliance. Use tools like Chef and Puppet for this
- Source Code Repository with versioning and storage for automation code in a centralized location for distributed development. Gitlab, GitHub, and BitBucket are some of the most popular source code repositories
For more insight into automating the deployment of MicroStrategy on AWS, check out this whitepaper.