Recently, one of our members read an article which explores how large enterprises such as Amazon lost $150 million within couple hours due to Amazon Web Services (AWS) outage. These server outages are expected to have severe costing consequences as the cost of hourly downtime is increasing. Tex-Alert started from the idea that we need more devices for alerting server-related problems to companies to protect their revenue. The product tries to reduce response time and increase accessibility in dead zones which would help companies minimize their server downtime.
What it does
As client servers malfunction, Martello Technologies would receive error messages which activate our product, Tex-Alert. Then, Tex-Alert sends error notifications to the system administer(s) via text message. Notifications include details such as device name and severity level. Depending on the severity level, Tex-Alert will follow a procedure (either *Priority or *Mass Alert procedure) to reach sysadmin(s).
*Priority procedure messages prioritize the order of person getting the alert message and Mass procedure messages large group of people at the same time.
How I built it
We host our own server on Heroku, that constantly polls Martello API to see a list of events(alarms). When a new alarm is detected, a request is sent to StdLib’s MessageBird service, which will notify some/all sysadmins via SMS. For each alarm that is pending, we will wait for an SMS reply from the sysadmins to confirm that they are assigning themselves to the alarm. Finally, we use Martello API again to officially assign the replier to the Alarm.
Challenges I ran into
Our team has dedicated a lot of time learning how to implement the APIs to the application. We have tried to interconnect two APIs provided by Martello Technologies and StdLib which handled concepts that we were unfamiliar with. The most difficult challenge was to integrate SMS relay service to an application. Later, it was determined that the problem arose from server errors of the text-based service, MessageBird.
Accomplishments that I'm proud of
As mentioned above, the goal of our project was to create a smooth notification system which interacts with users through traditional text-messaging service. Although we have faced many challenges, we are proud that our project ended with the successful implementation of responsive user interface featuring text-message. SMS service clearly conveys the problem happening on the server and we are expecting our product to help professionals troubleshoot server problems quickly.
What I learned
- Take a break/sleep when you have to!!
- How to implement MessageBird
- Getting comfortable with more complex JS concepts like “awaits”.
What's next for CUHacks2018
-More stable servers -Verification of user id with their response -Sending an email alert -Able to request who has what ticket number for the individual cases