Most companies and organizations are moving away from on-premises hosting to either an Infrastructure as a Service (IaaS) or Platform as a Service (PaaS) and use this environment to deploy and host their applications. The objective of a company or organization is to have their users consume their application as soon as possible.
That is, time to market is of importance. Using IaaS or PaaS affords the ability to deploy business systems quickly. Additionally, if the environment is set up correctly, the requirements for Disaster Recovery (DR), clustering, load balancing, and 24x7 uptime are inherent in cloud computing.
Our team has deployed mission critical systems on the cloud for our customers, and is very familiar with Amazon Web Services (AWS) and Microsoft Azure and its administrative portals. We also stood up cloud infrastructure using OpenShift to deploy solutions that are hosted by Red Hat. We have extensive knowledge with PaaS and IaaS to provide Software as a Service (SaaS) environment for the corporation or government agency. The following diagram helps to understand the different environments, onprem, IaaS, PaaS, and SaaS.
- AvailabilityGiven the nature of the hosted platform (PaaS or IaaS) and the underlying best practiced solutions detailed above, the system will meet requirements for 99.99% uptime.
- CapacityThe system is created using lean programming concepts, and as such is optimized for throughput. As the requirements evolve and traffic increases beyond capacity, these systems can be clustered and run in parallel to satisfy the load.
- SecurityThe system is implemented using JAAS that can communicate with Active Directory, either directly or over Azure IAM. Authentication and authorization is configured and managed by administrators.
- Performance Initial implementation of the system will use technologies that are industry-wide standards, as detailed earlier. These systems are lean applications that perform extremely well in high traffic. Given the nature of the implementation and cloud computing, if performance becomes a bottleneck, the system can easily be scaled horizontally and vertically to support the additional load.