(Note: This article was also published at Oracle.com – https://blogs.oracle.com/database/the-forgotten-link-to-the-cloud)
Last year when presenting a session at Collaborate’17 in Las Vegas regarding Tips and Best Practices for DBAs, I went thru the evolution of the DBA profession and also gave a few tips of how a DBA can improve and be successful on his/her career.
After my session, many people approached me with questions regarding what will happen with the DBA profession with the introduction of Cloud to our life. Would the DBAs workload be fully automated and the DBA profession will disappear? Should I be afraid of the Cloud? Should I start looking for a new career? And many more questions like this, making me aware of an unexpected situation – the DBAs are blocking many possible Cloud endeavors for their organizations because they are scared of what it would bring to their future in the industry.
So, after discovering this unexpected situation I decided to write this post to express my overview on this so important topic!
Automation vs. Autonomous
Let start this post by clearing some common confusions and misunderstandings. For the past 10 years of my career I have been recommending DBA’s to automate most (if not all) business as usual (BAU) work and to concentrate at becoming as much proactive as possible (If you cannot automate a BAU process, delegate it) because you have more important things to do! I am recommending this over and over because I am constantly watching DBA’s losing too much time with BAU work, consequently making them unable to expend time on career development (training and learning about new technologies), work at important projects such as per example Optimization, Security, Performance Tuning, High Availability, Migrations, Upgrades and also unable to work with new technologies that could seriously benefit the business and obtain the best ROI to company resources.
I would like to use the automotive industry as example to clarify the differences between Automation and Autonomous. I love to drive my car, I love to be behind the wheel and enjoy the experience. Recently I bought a new car that include many driver assistance technologies (Automation). It has Autonomous cruise control (that automatically adjusts the vehicle speed to maintain a safe distance from vehicles ahead, and even stop the car if necessary), Line Changing Alert, Collision alert (alert us if close to have a collision due to speed or proximity and breaks for you if required), Driving behavior alert (Check for fatigue and dangerous driving behaviors) Automatic Head Light and Windscreen Wiper, Parking assistance and much more. Many people could think that all these features would affect my driving experience, but remember, as the person at control (the driver) you can choose what options would be used and when, and also can be adjusted as per your driving requirements. So, it did not affect me at all, by the opposite, they made my driving easier and safer, furthermore allowing me to enjoy it even more.
We are also talking about fully autonomous cars (that would fully drive itself, you just need to tell the car where you are going) for long time and many companies are investing resources on this type of technologies (Toyota, Tesla, Google, Uber are only a few) and are constantly making public testing of it. We know this is the future, and we know that is coming, but not anytime too soon (like this year or the next) and when the time comes, the global population would adopt it gradually.
The Oracle Database world is very similar to the above example. Automation within database is a reality and well needed, autonomous databases are coming and we cannot stop it. So, let’s evolve and be prepared on time, we still have time until everyone starts adopting it gradually.
Cloud, the inevitable next step in the DBA DNA evolution!
The constant evolution of IT has, among other things, affected the role of a DBA. Today the DBA is not merely a Database Administrator anymore but is morphing more into the Database Architect role. If you want to become a successful DBA (Database Architect) and be more competitive in the market, you should have a different skill set than was normally required in the past. Now a day, you need to have a wide range of understanding in architectural design, Cloud, network, storage, licensing, versioning, automation, and much more – the more knowledge you have, the better opportunities you will find.
We know without doubt that our future involves automation and Cloud technologies, so why fight it? Why continue losing our time and energy against it?
Let’s take advantage of it now!
So, what is next?
First, learn to change yourself
If you want to become a successful professional, first you need to educate yourself to be successful! Your future success depends only in your attitude today. You control your career, nobody else!
Becoming a successful DBA is a combination of:
- Your professional attitude, always think positive and always look for solutions instead to kill yourself in a cup of water.
- Learn how to research, before do something, investigate, search in the internet, read manuals. You need to show that you know how to do a properly research and look for solutions for your problems yourself.
- Be innovate, don’t wait for others to do your job, or because the other DBAs don’t care about the business you will do the same. Learn to innovate, learn to become a leader and make everyone follow your example with results. Think Different!
- Learn to communicate properly; the best way to learn how to communicate effectively is learning to listen first. Listen, then analyse the context expressed and only than communicate an answer in a professional and honest way to your peers. Always treat everyone the same way you would like to be treated.
Albert Einstein said one time:
“If I had one hour to save the world, I would spend fifty-five minutes defining the problem and only five minutes finding the solution”
Second Learn to be Proactive
Why check the problems only when they are critical, or when is too late and the database is down, or the users are screaming?
Being proactive is the best approach to keep your DB healthy and to show your company, or your clients that you really care about them.
Many DBA’s expend most of their time being firefighters only, fixing problems and working on user’s requests all the time. They don’t do any proactive work; this mentality only will cause an overload of work to them, thousands of dollars of overtime, several hours without access to the data to the users, poor performance to the applications, and what is worse of all, several unhappy users thinking that you don’t have the knowledge needed to take care of their data.
Let’s mention a small example, you have the archive log area alert set to fire when it is 95% full, and this happens in the middle of the night, some DBA’s will take seriously the alert and solve the problem quickly, others will wait until the next day to take care of it because they are tired, or sleeping, or they are in a place without internet access at the moment the alert arrived. Will be a lot easier if they set a proactive alert to be fire when 75% or 85%, or even better, take a look in the general health status of the DB before leave their work shift, to try to detect and solve any possible problem before be a real problem and be awake in the middle of the night or during the weekend (Remember how important is your personal and family time). I’ll always recommend to DBA’s to run 2 checklists daily, one in the start of their shift and other before they leave their shift.
I know several DBA’s that complain all the time that they got so many calls when they are on call, but they don’t do anything to solve the root problem, they only expend their time to solve the symptoms.
So, let’s change our mentality, let stop being a firefighter and start to be a real hero!
Third, Educate and prepare yourself for the future
Finally, here are some things you should be concentrate at learning and improving your skills, as per example:
- How to manage different RDBMS technologies (as per example: MySQL, SQL Server, DB2, etc).
- How to manage NoSQL technologies (as per example: Cassandra, Druid, HBase, and MongoDB).
- How to resolve unavailability issues.
- Execute recovery test from current and old backups and document the process for your company DRP (Disaster and Recovery Plan).
- Ensure your company RPO and RTO SLAs are being fulfilled by your high availability plan and backup and recovery strategy.
- Gaining deep knowledge at performance tuning.
- Learn how your applications work and how they interact with the database and middle layers.
- Learn on how to review and implement security
- Keep up with DB trends & technologies.
- Use new technologies when applicable (as per example Kafka, Microservices, Containers, Virtualization)
- Know how to perform storage and physical design.
- Diagnose, troubleshoot and resolve any DB related problems.
- Ensure that Oracle networking software is configured and running properly.
- Mentor and train new DBA’s (This allow you to review and learn new things).
- Learn about XML, Java, Python, PHP, HTML, and Linux, Unix, Windows Scripting.
- Automate all BAU work or delegate it.
- Implement Capacity Planning /Hardware Planning
- Architect, Deploy and Maintain Cloud Environments
- Improve your SQL and PL/SQL skills and Review SQL and PL/SQL codes in your environment.
- Control and execute code promotions to production environments
- Master Cloud technologies (IaaS, DBaaS, PaaS and SaaS)
Like you can easily see, as DBAs we have a lot of things to do and learn about, so stop losing time with BAU, because you have a lot of more important things to do and learn about.
Embrace the future, the Cloud wave, the change, and the evolution. Do not stay in the past anymore, it would only affect yourself and your career in the future!
Francisco Munoz Alvarez
Oracle ACE Director