My AWS Seminar
On August 3rd, I had the opportunity to participate in a webinar for Amazon Web Services, presenting a case study in how our schools use AWS. Unfortunately, the recording crashed, so all I have is my script. If you are in the education sector and are interested in how we leverage AWS, I hope you find this useful.
Can you please let us know a little about yourself and your institution?
Welcome! I am the director of technology for Youth Policy Institute Charter Schools, or as we call it, YPICS. We are a charter management organization with about a 1000 students, grades 5 through 12, nearly 100 adult staff, two middle schools, one high school and a small central office / training center. We serve the Pacoima and Pico Union communities of Los Angeles.
Our charter focuses on project based, technology integrated service learning, in order to produce students who are college ready, active citizens and lifelong learners. We also have special education programs that focus on autism and integrating students with special needs into the general education classroom. We have one computer to one student ratios at each school, and our equipment is predominantly Mac based, with more than 1200 Macs, 150 iPads, and 275 Chromebooks. We also have 8 Linux servers providing internal and external web publishing, mobile device management, print accounting and queue management, database services and critical infrastructure services.
Previously I worked in technology support management at Kinkos and at the Design | Media Arts school at UCLA (Go Bruins!). I chose to work in the charter school movement to help students have access to 21st century skills. When I joined YPICS in 2006, I was teaching visual arts and technology to 7th graders, mostly Dreamweaver, Photoshop, Illustrator and Blender, all the while setting up all the technology and manage the network of about 45 computers on a retail hub network and a heavily oversubscribed dsl connection. We’ve come a long way since then. I left the classroom to manage the technology full time about 5 years ago, and we hired some part time tech support about two years ago, since managing 800 machines was getting a bit much for me to handle and my high school aged son wouldn’t allow me to “volunteer” him any more.
Can you talk about some of the specific challenges you faced leading up to using AWS?
My organization runs cheap and light on IT support, as most small charter schools must. This is much different than my experience at UCLA. I am a full time 12 month employee and I have three very hard working part time college students who handle site tech support. My team supports more than 1600 computers, printers, phones, services, etc, so our support ratio is about 530 devices to 1, which is extremely high even at our level of automation. Also, our annual budget process is long and fraught with politics and uncertainty, especially at the school board, state and federal levels. We spend as much money as possible on instruction and access devices, but putting money into infrastructure and support is a long, hard conversation with my COO that usually ends in a “no.” So, finding a flexible and low cost solution to a technology problem is paramount, because even though the answer is “no!” we still have to meet our charter objectives. Also, our schools are either in temporary facilities that are shared with other schools, or in portable bungalows, so keeping our data center (a small closet in an office) powered and secure and cool can be a challenge.
I began to experiment with Amazon Web Services as a way to make our web servers more stable, secure and scalable. We had public facing websites hosted in the campus data center, which means that server traffic would affect our overall bandwidth and it provided an attack vector into our network. We also host internal websites for student portfolios that serve as presentations of learning, and these sites took on a huge performance hit during specific days and times as the students worked on their projects. Since all of these services were all hosted on the same physical device, the performance was not enough to meet the instructional need. So, I was looking for low cost, scalable, easy to manage solution.
Please tell us what you are currently doing in AWS?
Over the last 18 months, we have implemented the following nine services:
- Virtualization. We run 4 different virtual servers and one database in AWS. I have my public facing marketing web sites, our private student web sites, our mobile device management server, and our directory server. The student and the directory servers are only accessible from the school’s network, so they are secure from outside access. We run a mysql database that feeds the servers, and it is also only accessible to the school network. The database and servers are automatically backed up nightly, so in case of failure or data corruption I can get them back in service in about 5 minutes and only lose at worst a day’s worth of data. Here is one example of the flexibility of using AWS virtualization. Our student server was only necessary during the day, no need to run it overnight. I was able to write a script that created my student web server at 6am on each weekday morning and destroy it each afternoon at 6pm, paying .08 cents an hour for 12 hours a day and nothing for the server over night, all done automagically.
- Load balancing. I was able to set up a virtual load balancer and auto scaling for my student server, which gives me a dynamic cost structure, and I can scale up or down and pay only what is necessary. I didn’t have to invest in any load balancing hardware or try to figure them out in my live environment, which means I got my nights and weekends back.
- Route 53. We use AWS’ domain name service for domain management for our 6 domains. This allowed us to consolidate vendors and restructure our network to be more efficient for student use.
- EFS. The elastic file system provides an unlimited storage and we only pay for what we use, which is as this point is a bit more than a cent a day per gigabyte, for our student server server data.
- Scalable storage. We use the scalable storage service aka S3 for archival, and at this point we pay twelve cents a day for somewhere around 250 gigabytes of storage. I use these for automated backups of server configurations, student data and logs. We also have a storage bucket that serves our mobile device management server so we can deploy software packages to managed clients outside the network, great for patching teacher machines when they are off campus. The flexible permissions in S3 allow me to secure the data very tightly.
- Reserve instances. We can buy the server time up front and at dramatic discount and only pay for data traffic to the servers and storage. For example, I have purchased three years of a large server instance for about $900, instead of having to invest in a hardware device. This has allowed me to fund the next three years of server operations at a significant discount. I have saved about 40% in server costs.
- Cost Explorer. The management console’s cost explorer allows me to drill down to the fine details of each of the services we are using on a day by day basis, and I can adjust my implementations to lower costs, or justify increases.
- Messaging. I am also using the simple notification service to alert me via email and text message if there are any server issues.
- Workspaces. We needed to transfer our student data from one information system (PowerSchool) to another (Illuminate), and the process required a Windows PC to be on 24 /7 to syncronize the data. We don’t have any spare PCs laying around, so I was able to use the WorkSpaces service to create a Windows 7 desktop in the cloud, install the converter scripts, and let it run. It cost me 7.25 a month for the instance and all of $25 a month if I left it running 24/7. This enabled us to easily migrate data changes from one SIS to the other without having to keep a physical machine plugged in and turned on. I could easily and securely access it from my Mac laptop. What efficiencies or benefits has this provided?
- Lower overall costs that can be managed on a daily / hourly basis, and lower facilities costs by reducing the power and air conditioning load in the data center.
- Push button management for deployment and disaster recovery measured in minutes rather than hours
- Less dependency on outside vendors and consultants, and less time managing server hardware
- Better security, flexibility and scalability. By moving servers and data to the cloud and out of the closet in the main office, so we are not being tied to a physical data center as a single point of failure or locked up with upfront hardware costs.
- Consolidation of services. We used to manage domains at Network Solutions, run servers and databases on premise, and store data on a bunch of separate 1 terabyte drives scattered throughout the organization. All of this is now virtualized in the cloud and the only hardware in the school sites and data center are critical network services such as networking, content filtering, switching, wifi control and print queues.
- Most importantly, I have more time to focus on strategic initiatives rather than server maintenance. I get to keep my hair, I sleep uninterrupted and spend my weekends away from campus and have a deeper impact on our charter mission. What advice would you have for other academic institutions looking to get started with the cloud?
Define a problem, and start small. You can use the free tier of services for the first year to test out your implementation. Once your proof of concept works, you can scale up and out. Use the cost explorer and the billing details to keep a tight handle on your costs. See if you are saving money and time. I think you’ll find that moving to the cloud will increase your uptimes and lower your overall costs. If that works, invest in a person who can become certified in aws services (the classes and certification tests are much less expensive than Cisco classes, in my experience).
Possible projects:
- Create a website, maybe for a student project, like a leadership class or an instructional unit project.
- Migrate your data archive to inexpensive long term storage.
- You can upload and automatically transcode video for different formats. Great for student projects or media for your marketing efforts.
- AWS has some great tools for big data storage and analytics.
On a side note, the AWS documentation is very well written and easy to understand, there is a lot of examples and use cases on the Internet, and I would be happy to answer any questions you might have afterwards.
Future implementations
- I am looking into the AppStream service to help us access an important website that has very specific Internet Explorer dependencies and is a challenge to use in our Mac environment.
- We are using the CodeCommit service to train my tech team to develop software in house rather than hosting it only on their test machines or in a public space such as GitHub. We retain any intellectual property and control access.
- I am going to implement the web application firewall to improve the security of our website. The WAF service can limit site access to specific geographic areas, so I can stop dealing with automated attacks from Eastern Europe and Asia.
- Finally, I am looking into converting our service infrastructure into code and deploying it with AWS CloudFormation, so I won’t have to manage individual servers at all, the cloud will do it all for me.