Bob Peterson, Enterprise Architect, Alaska Airlines
Who We Are:
Alaska Airlines is the fifth-largest U.S. airline based on passenger traffic and is one of the most popular U.S. West Coast air carriers. For the 11th year in a row, Alaska Airlines is proud to be recognized as the highest ranked airline in customer satisfaction among traditional carriers in the J.D. Power 2018 North America Airline Satisfaction Study.
Becoming a digital airline requires a platform to quickly turn ideas into large-scale implementations with little upfront cost. Cloud makes it possible and this is our journey.
Crawling Experimentation to Cloud Adoption
Our first experiment in the cloud was FlyingSocial in 2011, a Facebook app that allowed friends to shop for flights to visit their friends. It was early, and the organization was not quite ready for a “Cloud-first” declaration. Promoting to “production” meant having to return on-premises. By 2013, we migrated our entire organization into Office 365. This was just the beginning of the need for a cultural shift and change management.
Establishing the Cloud Competency Center
In 2015, we declared that we are “Cloud-First” and established a Cloud Competency Center with a mission to provide frictionless and secure provisioning of cloud resources. The newly formed team worked closely with Azure architects to establish governance and best practices that would evolve with emerging cloud capabilities.
We took a fresh approach of empowering teams to be owners of their cloud, allowing us to report on per-team cloud costs. Conversely, we decided on a centrally managed approach with IaaS because of added complexities with managing virtual machines.
We placed security front and center and started with centralized identity management. All services were required to have encryption at rest and in transport – regardless of data classification. For data sovereignty, we implemented technical policies to prevent users from creating resources outside of approved regions. Our CISO shares his confidence in cloud providers as they have the expertise and a wealth of resources to provide better security.
Our preference for cloud service hosting models are SaaS first, then PaaS, and then IaaS. By exception and as a last option, we will host on-premises in our data centers. Similarly, Docker containers will be hosted in PaaS before IaaS. As we get more granular, we prefer Logic/Functions as a Service over PaaS and Web Apps over docker containers.
Walking Adoption Strategy
Where to start when we are Cloud-First? We started with low criticality web applications to build confidence with delivery teams and business partners. Hosting in PaaS made it easy to operationalize with low overhead. We progressed to deploying more critical applications with each iteration.
Becoming a digital airline requires a platform to quickly turn ideas into large-scale implementations with little upfront cost. Cloud makes it possible
With cloud’s pay-as-you-go model, we practice reverse capacity planning. Provision just enough resources to be redundant and implement autoscaling to meet demand. We call this hugging the terrain as you would see oscillating workloads on a line chart. We only pay for computing power when we need it. This contrasts with a data center having to purchase and maintain idle capacity for an entire year just to meet the demands of the busiest day.
Design philosophy changes with the cloud. Cloud enables teams to perform small and quick iterations to get results quickly. The design does not have to be heavy up front and can evolve with each new release.
Other cloud tenets include; choose native tools of the cloud provider over the third party. This reduces integration complexity and third-party lag time. Creating abstractions to multi-cloud will only pull focus away from delivering outcomes.
Instead of a charge-back model, we show a team's current spend through weekly reports. The future will bring soft caps to cloud expenses and teams would request for increases if they exceed the budget. The great thing about cloud is that it provides much greater clarity on your costs as opposed to on-premise pricing opacity. Teams are encouraged to closely manage their resource run times.
Cultural Shift and Changing Roles
Cloud is transforming our roles. Developers are not only coding but also managing their delivery pipelines and cloud infrastructure. And because developers can easily create databases, DBAs are now focused on optimizing the data to require less load to operate – which saves in computing costs. DBAs can now focus on being advisors and consultants on data platform decisions.
The cloud team - comprised of engineers and architects code and understand infrastructure. They create generalized automation templates that are accessible for all to consume and contribute back. It’s no longer just being an infrastructure or software engineer.
Cloud is evolving at a pace that we haven’t seen in past platforms. It’s important that we look for talent with the ability to learn over expertise. Even the administration and APIs are changing rapidly. Individuals that learn and adapt quickly will thrive in the cloud. Allow for complete focus during the role transition to ensure success.
Monitoring and Health Compliance Reports
Having teams manage their own stack requires a high-level view across the cloud to ensure operational requirements are met. The cloud team developed reports and metrics on the health of application monitoring and autoscaling. Teams are notified weekly and can visit the reports portal to view applications compliance status. The teams are provided with automation templates to use in their pipeline to remediate gaps.
We now have over 125 production workloads in the cloud, the rate has been doubling year over year. Cloud adoption is 20 percent in SaaS, 10 percent in PaaS, and less than one percent in IaaS with the remainder still in our data centers. Other successes are:
• Delivery teams are increasing their release cadence from months to minutes and improving business agility while reducing time to market.
• Real-time initiative to convert batch jobs to real-time reporting and analysis with the scale of the cloud.
• All development teams have at least one production workload in the cloud.
Cost optimization continues to be important as we are in a competitive low margin industry. The key is to continuously monitor cloud solutions for optimization opportunities to further reduce cost. Reduce the number of static test environments with just-in-time ephemeral infrastructure; the environment goes away after each test. Explore metrics for dollars per overall compute cycle to show efficiency and identify cost optimization opportunities. Further, socialize and embed the habits of turning off and removing unused resources.