Skip to main content

Cloud Solutions


DecisionTreeDiagram.png
What to do with existing applications?
Retire
Replace
Rebuild
Rearchitect
Revise
Rehost

No longer useful

Sometimes its time to retire your application. If you aren't seeing much use, or if your use case is being met by something else, consider dropping the application.

Software as a Service (SaaS)

Many technical needs have been anticipated already, and sometimes solutions exist that will work "right out of the box." Software as a Service or other paid licensing often ends up saving more time and money than creating a custom application. OIT's official policy is SaaS first when feasible, so do your research before deciding to develop.

In some cases, OIT may already have a license that you can make use of. Check the service catalog to see OIT offerings, or view the user-friendly decision tree. If you think a SaaS solution not already offered may be a good fit for your use case, the cloud office is happy to consult with you before you purchase.

IaaS Solutions


OIT has licenses with Brightspot and Mendix, two Infrastructure as a Service products which allow you to create websites and web apps very quickly! They are low-code, sometimes no-code required tools to fulfill some of the most common IT needs. If you want a static website with a "byu.edu" URL, use BYU Sites powered through Brightspot. Other sites and web applications may be a good fit for Mendix. The cloud team can help you decide and find support developing with either of these options.

Serverless

Going serverless means you will need to write a lot of code from scratch, but when you are finished your application will be more resilient, scalable, and autonomous than ever. It will almost certainly be much cheaper. Serverless architecture is where the cloud shines most, hardware gets abstracted away and all you have to manage is the code itself. Decide whether the initial development cost will be worth the long-term benefits. If you are building a totally new application, there are few reasons not to go serverless.

This AWS site is a good starting resource if you are thinking of developing a serverless application. Services like AWS Lambda, DynamoDB, and Amazon API Gateway are utilized in many serverless applications. AWS Amplify is a serverless development platform that can make your work easier. You'll probably want to consult with the cloud office if you're thinking of developing a serverless application.

Rearchitect for the Cloud

If you are willing to refactor your code, there are probably many ways to streamline your application for the cloud.

Some applications can be split into a collection of microservices. Maybe you need to take advantage of AWS's content delivery network, CloudFront, or perhaps you want more scalability through an application load balancer. There are many possibilities when trying to rearchitect for the cloud. You can even rearchitect after you've started with a simple "lift-and-shift." The cloud office is happy to consult with you to see what changes might be right for your application.

Start Leveraging Cloud Services

Without needing to refactor your code, you can take advantage of some cloud features. A container is a package of software which can run in versatile environments because all dependencies are included. Containerizing your application will make migration simple, whether between on-prem data centers and the cloud, or even between cloud providers. Many management and patching tasks can be off-loaded to the cloud provider, and scaling may be easier.

If you use containers, or are considering using them, AWS offerings include ECS (with Docker functionality) and the serverless Fargate. Click here to read more about the differences. The cloud office can help you figure out the best fit for your application.

"Lift and shift"

Rehosting refers to a simple migration of the on-premises application to an Infrastructure as a Service (IaaS) product in the cloud without modifying the application's architecture. This is much easier than most other options, but will not take advantage of the long-term savings and other benefits possible with cloud-minded architecture. The main difference is you run your virtual machines in your cloud provider's data center instead of your own.

Within AWS, you can use the EC2 service to provision servers, or the RDS service to create databases, mirroring whatever set-up you use on-prem. AWS Elastic Beanstalk will automatically provision, manage, and scale all the architecture necessary for a web application. The cloud office can help you migrate your application to the cloud.

data-content-type=""
Website-SaaSProducts.png

SaaS

Software as a Service (SaaS) cloud solutions are online applications that are managed entirely by the vendor. This means there is no need to manage software installation or server configuration; it's all taken care of by the provider, and you can get right to using the service. For the least amount of work in terms of setup or management, SaaS will be your top choice.
overrideBackgroundColorOrImage= overrideTextColor= overrideTextAlignment= overrideCardHideSection= overrideCardHideByline= overrideCardHideDescription= overridebuttonBgColor= overrideButtonText= overrideTextAlignment=
data-content-type=""
Website-PaaSProducts.png

PaaS

If a SaaS solution doesn't meet your needs, Platform as a Service (PaaS) would be your next choice. In a PaaS model, the vendor provides the platform, and you build the application. Developers don't have to worry about hosting, securing, and maintaining hardware and OS infrastructure—that's managed by the vendor. This means developers can focus their efforts towards the application itself.
overrideBackgroundColorOrImage= overrideTextColor= overrideTextAlignment= overrideCardHideSection= overrideCardHideByline= overrideCardHideDescription= overridebuttonBgColor= overrideButtonText= overrideTextAlignment=
data-content-type=""
Website-iaaSProducts (1).png

IaaS

In an Infrastructure as a Service (IaaS) model, the responsibilities are split evenly between you and the vendor: they provide the OS and handle hardware and networking, while you maintain and configure the OS. For cloud solutions, this would be a last resort, as it is the most complex and requires the most amount of work. If an on-premises solution is required, BYUCloud is the best option.
overrideBackgroundColorOrImage= overrideTextColor= overrideTextAlignment= overrideCardHideSection= overrideCardHideByline= overrideCardHideDescription= overridebuttonBgColor= overrideButtonText= overrideTextAlignment=
overrideBackgroundColorOrImage= overrideTextColor= overrideTextAlignment= overrideCardHideSection= overrideCardHideByline= overrideCardHideDescription= overridebuttonBgColor= overrideButtonText=