At NY Historical Society - Silicon City Exhibit
What happens when you take the Meetup engineering crew to the NY Historical Society - Silicon City Exhbit? Someone ends up on their modern laptop in the middle of a history lesson, was he just trying to mock the Univac or was he just trying to make sure Meetup was running smoothly!
We got to see some older progamming languages and associated mainframes.
We saw punch cards and old satellites, like the Telstar 1, launched in 1962 it successully relayed the first television pictures, telephone calls, and fax images.
All in all it was a great trip through the evolution of technology, which reminds us here at Meetup to continue to evolve our technologies and platform so that we can constantly improve the user experiences our organizers and members have. We love our tech, but we also love building community both inside and out of Meetup.
New York is home to companies who are evolving the face of technology.
We listen intently as we learn people used to be called computers and eventually as we all know it’s what we now call the hardware.
Always be gaming.
Can’t blame that on auto-correct.
I think Angry Cat is just lonely.
We believe in constantly futurizing Meetup, so we’ve been spending a lot of time prototyping, learning, and making as we move towards Rainbows & Unicorns and making Meetup even better. We hope that by sharing what we’re learning along the way, it helps other engineering teams positively change their company too.
Selecting the right tool for the job is core to our engineering culture. There are five big areas we’ve been focusing on so far, and with each one we’ve been building a little piece of Meetup product as the key part of our assessment.
Build, test, launch, test, build…
We’re rebuilding the backbone of Meetup – our continuous delivery pipeline. We decided that in order to empower our engineers with the tools and infrastructure we have boldly envisioned, we’d need to use a new set of CI and automation tools and frameworks. We’re currently using Jenkins which has served us well, but really like what we’re seeing with Bamboo as a complete CI pipeline tool with very high quality plugins and orchestration hooks.
We’re reassessing our testing frameworks across our core, web, and mobile platforms so that we have a stronger suite of unit/integration/UI/regression tests with even more coverage. So far we’ve been really enjoying using Selenium, Appium for our native apps, and the Robot framework for acceptance testing.
Moving Meetup to the cloud
We’re a (mostly) bare metal shop with multiple data centers now. We’re ready to take advantage of the benefits of moving to the cloud including auto-scaling, the ability to create phoenix systems with instances automatically rising out of ones that have crashed and burned, and reducing operational effort and total cost of ownership.
Our infrastructure team has been building our new continuous delivery pipeline and other tools on both Amazon Web Services and Google Cloud Platform and we’re close to making a decisions as to which cloud provider we’re selecting.
A world full of services
Our core engineering team is breaking up our monolithic back-end platform into a service-oriented one. We’re not yet sure how “micro-service” we’ll get since we’re still figuring out how bounded contexts apply to Meetup product, where the seams really are in our codebase, and what parts of our monolith need to scale in bigger or different ways than the others.
We’re very excited to start on the path to learning and making decisions by building our first new service using part of the Netflix OSS stack. We did initial prototyping using Twitter’s Finagle and Typesafe’s Reactive Platform as well, and they’re all great stacks. But we’ve decided on the Netflix OSS and are starting off using Hystrix, RxJava, RxScala, and RxNetty to build our first service.
Data is king
Meetup has happily used MySQL as our primary data store for over a decade. Over the years we’ve added things like Hadoop for distributed computing and Redshift for data warehousing. We’re at the right time in our growth to evaluate if other data store options will enable us to scale and perform better. We did a lot of research and prototyping with SQL, NoSQL, and distributed NoSQL data stores, and were inspired by the idea of turning the database inside-out.
We decided that we’d learn the most valuable information if we built our first new service using a NoSQL distributed data store like Apache Cassandra, Amazon Dynamo, or Google Cloud Datastore, which we’re internally calling Cassandra* for short. Our decision on which one to use will align with our impending our cloud provider decision and until then we’re prototyping using Meetupy data with each.
React or not here we come
Futurize Meetup with us
While we’ve answered many questions, we still have a long way to go. We’re thrilled to work at a company where we have the time to prototype different technologies and build towards the best answers for both current and future Meetup product. As we progress, we’ll be writing posts that dive into the specifics of what we’re learning, the tools, technologies, and frameworks we’re using, and how they’re working for us.
If you want to build the future of Meetup with us, learn and experiment with new technologies, or have ideas to share, check out ways to join our team.
Last week, Meetup’s engineers took 48 hours off from their normal schedules in order to participate in our quarterly hackathon!
The theme of this hackathon was ‘Rainbows and Unicorns’, in reference to our remaking of the Meetup platform that you can read about here.
Check out some photos of the team in action:
At the end of the 48 hours, we all demoed our projects, whether they were successful or not!
And gave out these awesome Rainbows and Unicorns-themed prizes to the winners (yep, those are LED-lit horns):
The winners were:
Nathan Stilwell - Magic Pipe
Most on theme:
Evan Estola/Matt Kime - Meetup on Alexa
Rick Boenigk - React Native Door Check
We had our fair share of ridiculous hacks, as well as practical ones. It was a lot of fun, and a lot of cool ideas came out of it. Many of them might even get launched in some form or another!
Making Meetup Even Better
We’re always making Meetup better. For 14 years, we’ve been growing, evolving and making Meetup a little better every day, with every release. This year, we’ve kicked off one of the biggest endeavors in Meetup’s history to make Meetup even better.
We’re remaking the Meetup platform, infrastructure, and dev tools. Our objective is to empower our engineers to be more productive and love using our dev tools to make and ship product faster and better than ever before.
When we kicked this off, we did a lot of brainstorming, research, talking, listening, prototyping, and drew a lot of diagrams. The very first diagram we drew and took a picture of was this (raw, not doctored) photo:
What did we do when confronted with an unexpected rainbow shining right through our core platform as we drew up ways we’d re-architect it? Well, we of course named the remaking of Meetup the Rainbows & Unicorns project.
As we progress, we’ll be posting more specifics around what we’re prototyping, learning, and making as we move towards Rainbows & Unicorns. We hope that by sharing what we’re learning along the way, it helps others who might be doing something similar.
This week, we’re all busy with one of our quarterly Meetup-wide hackathons, aptly themed: Rainbows & Unicorns: futurizing Meetup. Stay tuned for more about what we’re hacking and making – it’s guaranteed to be quite colorful and fun!